|
Post by Marco Kurvers on Feb 28, 2024 20:08:32 GMT
Probeer onderstaande code uit. Je kunt het wijzigen door op te geven hoeveel beurten. Je kunt het programma ook uitbreiden door te kiezen of de medespeler (computer) het moet raden of andersom. Gebruik in beide spellen de scheidsrechter voor controle verkeerde invoer.
'*** Medespeler het getal laten raden ***
keer = 10 beurt = 1 input "Geef een getal: "; getal 'er is niet alleen een medespeler maar ook een scheidsrechter (computer)
do do raadgetal = int(rnd(1) * 25) print "Beurt: "; beurt; ". Mijn getal is: "; raadgetal; "." input "Heb ik het goed? "; antwgeraden$ if upper$(antwgeraden$) = "JA" and raadgetal <> getal then 'scheidsrechter meldt print "Het was niet geraden: computer mag nog een keer in dezelfde beurt." end if if upper$(antwgeraden$) <> "JA" and raadgetal = getal then print "De computer heeft het wel geraden." antwgeraden$ = "" end if loop while upper$(antwgeraden$) = "JA" and raadgetal <> getal if raadgetal <> getal then beurt = beurt + 1 end if loop while beurt < keer and raadgetal <> getal
if raadgetal = getal then print "Hoera! Ik heb het geraden in "; beurt; " beurten." else print "Jammer, ik heb het niet geraden." end if
|
|
gaslouk
New Member
Hi from beautiful Greece .
Posts: 15
|
Post by gaslouk on Feb 29, 2024 7:51:19 GMT
Hi from beautiful Greece.
'*** Have the other player guess the number *** global number, adviceNumber, turn
[start] time = 10 turn = 1 input "Enter a number between 1 and 25: "; number 'there is not only a fellow player but also a referee (computer) do do adviceNumber = int(rnd(1) * 25 + 1) print "Turn: "; turn; ". My number is: "; adviceNumber; "." input "Am I correct? "; antwgeraden$ 'Referee reports
if upper$(antwgeraden$) = "yes" and adviceNumber < number or adviceNumber > number then end if if upper$(antwgeraden$) <> "yes" and adviceNumber = number then antwgeraden$ = "" end if loop while upper$(antwgeraden$) = "yes" and adviceNumber <> number if adviceNumber < number or adviceNumber > number then turn = turn + 1 end if call apot loop while turn < time and adviceNumber <> number
[exit] flags = _MB_ICONQUESTION OR _MB_YESNO
calldll #user32, "MessageBoxA", _ 0 as long, _ "Are you sure you want to end the game?" as ptr, _ "Exit" as ptr, _ flags as long, _ Result as long
'Result returns : 1=ok 2=cancel 3=abort 4=retry 5=ignore 6=yes 7=no if Result = 6 then END end if if Result = 7 then goto [start] end if
sub apot if adviceNumber = number then print "Ask! I guessed it "; turn; " rounds." else print "Too bad, I didn't guess." end if end sub
Regard
Gaslouk.
|
|
|
Post by Marco Kurvers on Mar 2, 2024 9:43:34 GMT
Hi Gaslouk,
Sorry, I hadn't thought of writing it in English. Your listing works well, but answering YES or NO doesn't work. That's because with the UPPER$ function, you accidentally check the string for lowercase letters. The referee does work if you check the strings for capital letters.
For the next week, I make a new beginners listing.
Greetings.
|
|