Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Mini- Lotto

gamehouse [13.06.2007 19:02:15]

#

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!!

kaviaari [13.06.2007 19:51:21]

#

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.

str4nd [13.06.2007 19:52:29]

#

Yhdyn mielipiteeseen kaviaarin kanssa.

moptim [13.06.2007 19:52:47]

#

:D irkissä heitellyt trueminilotot, rivi pari.

Blaze [13.06.2007 20:12:50]

#

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))}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta