Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: QB: Lauseen satunnaistin

Sivun loppuun

Sami [10.02.2003 16:12:15]

#

Tein tässä pari päivää sitten tämmöisen pienen koodin, jolla voi luoda satunnaisia lauseita annetuista sanoista (tässä esimerkissä sanoja on noin 70 ja niistä saatavia lauseita on noin 3000000 erilaista).
Koodi on mielestäni laitettu helposti ymmärrettäväksi ja kaikki jotka osaavat perusjutut qbasicissa, osaavat myös
muuntaa tätä koodia haluamansa laiseksi.

uusi:
CLS

RANDOMIZE TIMER        'lauseen ensimmäinen osa
x% = INT(RND * 12)

IF x% = 0 THEN PRINT "Vihreä ";
IF x% = 1 THEN PRINT "Kateellinen ";
IF x% = 2 THEN PRINT "Vaaleanpunainen ";
IF x% = 3 THEN PRINT "Valtavan kokoinen ";
IF x% = 4 THEN PRINT "Säälittävä ";
IF x% = 5 THEN PRINT "Mahtava ";
IF x% = 6 THEN PRINT "Huonomuistinen ";
IF x% = 7 THEN PRINT "Komenteleva ";
IF x% = 8 THEN PRINT "Pieni ";
IF x% = 9 THEN PRINT "Sairas ";
IF x% = 10 THEN PRINT "Kuollut ";
IF x% = 11 THEN PRINT "Tyhmä ";


RANDOMIZE TIMER        'lauseen toinen osa
x% = INT(RND * 12)

IF x% = 0 THEN PRINT "koira ";
IF x% = 1 THEN PRINT "kaverisi ";
IF x% = 2 THEN PRINT "rehtori ";
IF x% = 3 THEN PRINT "Paavo Lipponen ";
IF x% = 4 THEN PRINT "presidentti ";
IF x% = 5 THEN PRINT "Pekka ";
IF x% = 6 THEN PRINT "virtahepo ";
IF x% = 7 THEN PRINT "siivooja ";
IF x% = 8 THEN PRINT "pantteri ";
IF x% = 9 THEN PRINT "hirviö ";
IF x% = 10 THEN PRINT "keksimonsteri ";
IF x% = 11 THEN PRINT "veljesi ";

RANDOMIZE TIMER        'lauseen kolmas osa
x% = INT(RND * 15)

IF x% = 0 THEN PRINT "syö ";
IF x% = 1 THEN PRINT "koristelee ";
IF x% = 2 THEN PRINT "hajottaa ";
IF x% = 3 THEN PRINT "valmistaa ";
IF x% = 4 THEN PRINT "tappaa ";
IF x% = 5 THEN PRINT "maalaa ";
IF x% = 6 THEN PRINT "kerää ";
IF x% = 7 THEN PRINT "sulattaa ";
IF x% = 8 THEN PRINT "myy ";
IF x% = 9 THEN PRINT "hinnoittelee ";
IF x% = 10 THEN PRINT "kokoaa ";
IF x% = 11 THEN PRINT "haistelee ";
IF x% = 12 THEN PRINT "ostaa ";
IF x% = 13 THEN PRINT "ulkoiluttaa ";
IF x% = 14 THEN PRINT "komentaa ";


RANDOMIZE TIMER        'lauseen neljäs osa
x% = INT(RND * 12)

IF x% = 0 THEN PRINT "keksejä ";
IF x% = 1 THEN PRINT "euroja ";
IF x% = 2 THEN PRINT "silmälaseja ";
IF x% = 3 THEN PRINT "ruotsalaisia ";
IF x% = 4 THEN PRINT "napanöyhtää ";
IF x% = 5 THEN PRINT "puukkoja ";
IF x% = 6 THEN PRINT "läksyjä ";
IF x% = 7 THEN PRINT "paskaa ";
IF x% = 8 THEN PRINT "roskia ";
IF x% = 9 THEN PRINT "hevosia ";
IF x% = 10 THEN PRINT "Tapparan pelaajia ";
IF x% = 11 THEN PRINT "opettajia ";


RANDOMIZE TIMER        'lauseen viides osa
x% = INT(RND * 12)

IF x% = 0 THEN PRINT "Turussa ";
IF x% = 1 THEN PRINT "Tampereella ";
IF x% = 2 THEN PRINT "vessassa ";
IF x% = 3 THEN PRINT "koulussa ";
IF x% = 4 THEN PRINT "Laihialla ";
IF x% = 5 THEN PRINT "Ruotsissa ";
IF x% = 6 THEN PRINT "presidentinlinnassa ";
IF x% = 7 THEN PRINT "kaupassa ";
IF x% = 8 THEN PRINT "optikolla ";
IF x% = 9 THEN PRINT "sängyssä ";
IF x% = 10 THEN PRINT "Tyynessä valtameressä ";
IF x% = 11 THEN PRINT "saunassa ";


RANDOMIZE TIMER        'lauseen kuudes ja viimeinen osa
x% = INT(RND * 11)

IF x% = 0 THEN PRINT "maanantaisin."
IF x% = 1 THEN PRINT "keskiviikkona."
IF x% = 2 THEN PRINT "ylihuomenna."
IF x% = 3 THEN PRINT "viikonloppuisin."
IF x% = 4 THEN PRINT "torstaisin."
IF x% = 5 THEN PRINT "keskellä yötä."
IF x% = 6 THEN PRINT "tiistaisin."
IF x% = 7 THEN PRINT "jouluna."
IF x% = 8 THEN PRINT "aina kun huvittaa."
IF x% = 9 THEN PRINT "joka aamu."
IF x% = 10 THEN PRINT "koko ajan."


SLEEP 2
INPUT "Haluatko uuden lauseen(K/E)"; uusilause$
IF uusilause$ = "k" OR uusilause$ = "K" THEN GOTO uusi ELSE END

Antti Laaksonen [10.02.2003 17:52:17]

#

Itsekin tein tuontapaisen ohjelman joskus kauan sitten. Noin tuo on tosiaan yksinkertainen toteutus, mutta ehkä sanojen tallentamisen ja arpomisen olisi voinut tehdä elegantimmin.

KimmoKM [10.02.2003 18:10:11]

#

Ihan kiva :) Ei taida tarvita RANDOMIXE TIMER ia joka kohdassa.

Sami [10.02.2003 18:57:58]

#

En tiedä onko se RANDOMIZE TIMER joka välissä pakollinen, mutta tuleepahan jostain vaihtoehto 5 ja toisesta esim. 3, eipähän ainakaan tule kaikista kuudesta esim. neljättä vaihtoehtoa :)

progo [10.02.2003 20:15:56]

#

Loistava

snakari [11.02.2003 07:31:54]

#

ei nyt mitenkään loistavasti tehty ;)

arcatan [11.02.2003 08:38:40]

#

Minulla on se käsitys, että jos pistää paljon RANDOMIZE TIMERia, niin satunnaisuus ei ole niin hyvä kuin vain yhdellä kerralla.

thefox [11.02.2003 10:10:01]

#

Juh, RANDOMIZE kuuluisi ajaa vain kerran. Lauseen osat olisi voinut pistää vaikka tiedostoihin josta ohjelma olisi lukenut ne taulukkoon ja sieltä arponut. Näin uusien sanojen lisääminen olisi näppärämpää.

snakari [11.02.2003 15:31:55]

#

ja GOTO on pahasta ;)

Sami [11.02.2003 15:48:05]

#

Tuota liikarandomoinnin haittavaikutusta en tiennytkään ja goto on omasta mielestänikin pahasta, mutta enpä usko että se tässä kauheasti haittaa, sillä tämä on suhteellisen lyhyt koodi ja siinäkin on vain yksi goto (jonka senkin saa korvattua helposti)

herkko [27.05.2004 15:18:57]

#

Tosiaankin RANDOMIZER:n tarvitsee laittaa vain kerran päälle, niin se toimii jokaisessa arpomisessa, mitä koodista löytyy. En tosin ole varma, toimiiko SUBeissa ja FUNCTIOISSA..

Mutta ihan hyvältähän tuo näyttää. Aika samantapaista koodia kuin omani (tosin omani ei ole mitään ihmeellistä :) ).

Sami [04.06.2004 19:22:31]

#

Hehee... eikä edellisestä kommentistakaan ole aikaa kuin vuosi ja muutama kuukausi päälle :)

siansaksamies [16.08.2005 16:10:31]

#

Hauska vekotin. Paras lause viidestä ensimmäisestä oli ehdottomasti "Sairas koira koristelee napanöyhtää sängyssä aina kun huvittaa."

siansaksamies [16.08.2005 16:15:16]

#

Mites noi lauseet sais talteen?

Dude [18.08.2007 20:18:39]

#

Parhaat ensimmäisistä oli "Huonomuistinen Pekka valmistaa paskaa Laihialla ylihuomenna." ja "Vihreä kaverisi hinnoittelee napanöyhtää Laihialla ylihuomenna." ja "Huonomuistinen hirviö ostaa euroja presidentinlinnassa tiistaisin."

moptim [18.09.2007 19:56:42]

#

Jännii lauseita varmasti suoltaa :)

gamehouse [16.10.2007 10:18:31]

#

"Huonomuistinen Pekka myy ruotsalaisia vessassa viikonloppuisin" *Reps*

Mahtavia lauseita! =D

moptim [27.11.2007 15:25:25]

#

Jänskiä jutskia kertoopi. Itte tein samankaltaisen mutta eri tyyppisiä lauseita kertovan. Siitä tuli aika pirunmoinen purkkaviritys. Kielenä oli *hyi helevetti* VBScript. Esimerkki sen suoltamasta lauseesta: "Vihreä Make saisi räjähtää nakkibisnekseen." :)

gamehouse [26.01.2008 18:03:34]

#

"Pieni rehtori kerää ruotsalaisia kaupassa tiistaisin."

Onneksi en ole ruotsalainen! :P


Sivun alkuun

Vastaus

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

Tietoa sivustosta