CLS PRINT PRINT " Mitä haluat tietää?" PRINT INPUT "Kysymys: ", a$ IF a$ = "Pitäiskö" THEN RANDOMIZE TIMER arvoo = INT(RND * 2) + 1 IF arvoo = 1 THEN arvoo$ = "Teeppä se!" GOTO oraakkeli.vastas END IF IF arvoo = 2 THEN arvoo$ = "Nojaa empä tiiä." GOTO oraakkeli.vastas END IF
Tuossa on tommoinen koodin pätkä. Siihen pitäis saada semmoinen systeemi. Mä ehkä selitän sen vaikeesti mutta koittakaa saada siittä selvää. :)
Kysymyksen alkuun pitää laittaa Pitäiskö ja siihen jotakin. Esim: Pitäiskö juoda teetä? Mutta siihen pitäis saada ton Pitäiskö lisäksi joitakin muuta muotoja mitä se saa kysy Esim: Mitä mun pitääs tehdä. Eli että siellä olis jotenkin näin IF a$ = "Mitä" THEN ton Pitäiskö lisäksi. Mutta siihen pitäis Mitä sanalle eri vastaukset tehdä ettei se sitte arvo noita vastauksia jota on
Pitäiskö sanassa!
Koittakaa saada selvää! :)
Tallenna sanat pitäisikö ja mitä muuttujiin, ja käytä LEFT$ ja RIGHT$ funktioita.
https://www.ohjelmointiputka.net/keskustelu/4763-funktio-joka-palauttaa-ensimmäisen-sanan-stringistä
jos tota tarkotat niin tuosta voi olla apua
Hmm... no ei tuosta kyllä ottanut selvää. :)
Käsitin tuon niin, että sen pitäis mennä tuohon oraakkeliin, jos a$:sta löytyy edes "pitäiskö"-sana, vai?
Kannattaa muuten tehdä tuo pikemminkin näin:
If arvoo = 1 THEN arvoo$ = "Teeppä se! If arvoo = 2 THEN arvoo$ = "Nojaa empä tiiä." 'ja tähän se koodi mikä olisi tuon oraakkeli.vastas:n jälkeen
Näin ei tarvitse käyttää GOTO:a, josta yleiseti pyritään pääsemään eroon. Ja nämä kooditagit on keksitty. (lue keskustelun ohjeet)
Huom tämä on Quick Basikkii eikä Visual Basikkii Zigiilii! ;)
Kuinkahan mä sen kertoisin, että tajuaisitte.
Niin jos pistää kysymyksen alkuun Pitäiskö niin arpoo noista sanoista jonkun vastauksen ja jos laittaa kysymyksen alkuun Kuinka niin se menee toisista sanoista jonkun jonka kyllä jota tossa koodissa ei oo kyllä.
vähän muuttamalla tota pitäisi saada toimiva koodi myös QBasiciin
CLS PRINT PRINT " Mitä haluat tietää?" PRINT INPUT "Kysymys: ", a$ IF a$ = "Pitäiskö" THEN RANDOMIZE TIMER arvoo = INT(RND * 2) + 1 IF arvoo = 1 THEN arvoo$ = "Teeppä se!" GOTO oraakkeli.vastas END IF IF arvoo = 2 THEN arvoo$ = "Nojaa empä tiiä." GOTO oraakkeli.vastas END IF If a$ = "Kuinka" THEN RANDOMIZE TIMER arvoo = INT(RND * 2) + 1 IF arvoo = 1 THEN arvoo$ = "Mieti sitä." GOTO oraakkeli.vastas END IF IF arvoo = 2 THEN arvoo$ = "Hohhoijaa." GOTO oraakkeli.vastas END IF
Tuossa on koodin pätkä mutta miten ton saa toimivaksi. Äh emmä vieläkään kertonu nii, että tajuaisitte.
Mä en osaa yhtään Visual Basikkii
nyt taisin ratkaista ongelma ihan ite.
INPUT "Anna nimesi: ", nimi IF nimi = "fawkz" THEN PRINT "You're teh man!!!1" ELSEIF nimi = "foo" THEN PRINT "Who're ya??" ELSE PRINT "Go away.." END IF
Tuollahan sen saa. :) Pitää kokeilla.
Tuo koodi tod.n. vetää tileen, koska käytät muuttujaa arvoo sekä lukumuuttujana että stringinä...
Vihjeitä:
Opettele koko IF-rakenne, IF...ELSEIF...ELSE...END IF, helpottaa hieman.
Tutki QB-koodivinkeistä merkkijonot-aluetta.
Tämä palauttaa neljä ensimmäistä kirjainta kirjoittamastasi sanasta:
CLS INPUT "Anna sana ", q$ IF LEFT$(q$, 4) = "Mitä" THEN PRINT "Hyväksyttävä sana." IF LEFT$(q$, 4) <> "Mitä" THEN PRINT "Ei hyväksytä!" END
Joo kiitos kaikille nyt sais toimii niiku halusin! :)
hei hei hei ihmiset se on eNpä eikä empä :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.