Mini- Lotto v. 1.00
Yksinkertaisempi versio lotosta!
Ensin kysytään omat numerot ja arvotaan sitten voittonumerot. On myös mahdollista antaa koneen arpoa numerot. Vain koneen arpomissa numeroissa tarkastetaan, ovatko numerot kokonaan oikein. Harmiksi koneen arpomat numerot voivat olla alle 7- numeroisia. Nämä virheet korjataan toimimaan ehkä versiossa 2.00 (jos sellaista tulee :D).
Parannusehdotuksia voi lähettää osoitteeseen: gamehouse@luukku.com tai tänne!
' MINI- LOTTO *QB* ' ---------------- ' TÄMÄ ON TODELLA YKSINKERTAINEN, MUTTA SELITÄN VÄHÄN. ' ENSIN RND:LLÄ ARVOTAAN NUMEROT JA NÄYTETÄÄN NE. ' SITTEN TARKISTETAAN, ONKO KÄYTTÄJÄLLÄ SAMAT NUMEROT, ' ELI VOITTOMAHDOLLISUUS ON TODELLA PIENI. ' ALOITETAAN! KOODI: CLS ' NÄYTTÖ TYHJÄKSI NUMEROT = 0 ' NUMEROT- ARVO NOLLILLE! RANDOMIZE TIMER ' ALUSTETAAN RND ALKU: CLS PRINT "MINI- LOTTO" ' JA TEHDÄÄN VALIKKO PRINT " * QB *" PRINT PRINT "[1] ANNA OMAT NUMEROT" PRINT "[2] ANNA KONEEN ARPOA NUMEROT" PRINT "[3] POISTU" PRINT INPUT A$ ' KYSYTÄÄN VALINTA SELECT CASE A$ ' VALITAAN KÄYTTÄJÄN HALUAMA VALINTA CASE "1" CLS INPUT "ANNA NUMEROT: ", NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7 ' KYSYY NUMEROT CLS ARVOTTU = INT((9999999 - 0 + 1) * RND + 0) ' ARVOTAAN VOITTONUMEROT PRINT "OMAT NUMEROSI OVAT: "; ' NÄYTETÄÄN OMAT NUMEROT PRINT NUM1; PRINT NUM2; PRINT NUM3; PRINT NUM4; PRINT NUM5; PRINT NUM6; PRINT NUM7; PRINT "ARVOTUT NUMEROT OVAT: "; ARVOTTU SLEEP 4 ' ODOTETAAN 4 SEK END ' JA POISTUTAAN CASE "2" PRINT "ODOTA..." KONE = INT((9999999 - 0 + 1) * RND + 0) ' ARVOTAAN NUMEROT ARVOTTU2 = INT((9999999 - 0 + 1) * RND + 0) ' ARVOTAAN VOITTONUMEROT CLS PRINT "OMAT NUMEROSI OVAT: "; KONE ' NŽYTETÄÄN OMAT NUMEROT PRINT "ARVOTUT NUMEROT OVAT: "; ARVOTTU2 ' JA VOITTONUMEROT IF KONE = ARVOTTU2 THEN PRINT "JÄTTIPOTTI!" ' JOS NUMEROT TÄSMÄÄVÄT, TULOSTETAAN: JÄTTIPOTTI! SLEEP 4 ' ODOTETAAN HETKI END ' JA POISTUTAAN CASE "3" END CASE ELSE ' JOS VALINTA OLI EPÄKELPO, MENNÄÄN TAKAISIN VALIKKOON GOTO ALKU END SELECT ' MINI- LOTTO BY MARK MÄKINEN ' GAMEHOUSE SOFTWARE ' 2007 ' VAIN 61 RIVIÄ KOODIA!!
Täysin turhaa ja surkeaa roskaa. Ongelmaan ei ole paneuduttu ja keksitty ratkaisu on huonoin mahdollinen. Kuten jo sanottua saman asian voi hoitaa huomattavasti tehokkaammin ja loogisemmin, esimerkiksi taulukoimalla numerot.
Yhdyn mielipiteeseen kaviaarin kanssa.
:D irkissä heitellyt trueminilotot, rivi pari.
puts "1 Anna omat numerot" puts "2 Anna koneen arpoa numerot" puts "3 Poishusveks" guess = [] case gets.to_i when 1 7.times { |i| guess[i] = gets.to_i } when 2 pool = (1..37).to_a 7.times { |i| guess[i] = pool.slice!(rand(pool.length)) } else exit end puts "numerosi ovat " << guess.join(', ') pool = (1..37).to_a lotto = [] 7.times { |i| lotto[i] = pool.slice!(rand(pool.length)) } puts "arvotut " << lotto.join(', ') if guess.sort == lotto.sort puts "OMG! JÄTTIPOTTI :O" else puts "Ei voittoa ;)" end # lotto.rb by Blaze 2007 # vain 23 riviä koodia _o/
Tai minimaalisena:
nums = (1..37).to_a; 7.times { puts nums.slice!(rand(nums.length))}
Aihe on jo aika vanha, joten et voi enää vastata siihen.