Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 26-10-2002, 19:12
sanne_312
sanne_312 is offline
Hoi ik heb een probleem met java,
Ik moet een woordraadpgrammaatje in java doen.

In een tekstvak verschijnt het woord dit "## ### ## ## ####".
Als ik een van de letters raad dan moet er dit verschijnen:
"e# ### ## e# ####". Als ik dan nog een (juiste) letter raad, verdwijnt de e en ontstaat alleen de nieuwe letter. Hoe kan ik ervoor zorgen dat de al geraden letters er blijven staan.
Met citaat reageren
Advertentie
Oud 26-10-2002, 19:18
Dwarfie
Dwarfie is offline
Of je slaat de goed geraden letters ergens op en dan draai je iedere keer weer alle vakjes om, waarvan de letters al geraden zijn, óf je slaat de #'jes + goede letters op en dan voeg je de nieuwe goed geraden letter er aan toe?
__________________
ok
Met citaat reageren
Oud 26-10-2002, 20:32
sanne_312
sanne_312 is offline
Bedankt, het is gelukt. Maar ik heb nog een probleem.
Je kunt als je al een paar letters hebt het antwoord weten, stel dat je het antwoord dan fout intypt, dan moet je weer de oorspronkelijke situatie krijgen (voordat je het foute antwoord intypte), dus weer met de letters die je al geraden hebt.
Met citaat reageren
Oud 26-10-2002, 20:33
sanne_312
sanne_312 is offline
Hoe doe je dat?
Met citaat reageren
Oud 26-10-2002, 20:54
Just Johan
Just Johan is offline
Citaat:
sanne_312 schreef:
Hoe doe je dat?
je moet zorgen dat je het raden naar het woord (in plaats van naar een letter) in een ander ding opslaat dan waar het speelveld (=het rijtje dat eerst uit hekjes bestaat en langzaam het woord wordt) in opgeslagen ligt.
Met citaat reageren
Oud 26-10-2002, 21:18
Just Johan
Just Johan is offline
Ik heb er even een qbasic-programmaatje van gemaakt (ik heb nog nooit java gedaan ) en dat is iets makkelijker te begrijpen dan c++ misschien.

Code:
TeRadenWoord$ = "java is leuk"
Speelveld$ = "#### ## ####"

welkom:
CLS : PRINT "Welkom bij het Rad van Fortuin!"

DO WHILE TeRadenWoord$ <> Speelveld$
  GOSUB showscherm
  GOSUB vraagomletter
  GOSUB zoekletter
LOOP

klaar:
PRINT : PRINT "Gefeliciteerd!!! :D"
PRINT : PRINT "Nogmaals? (j/n)"
keuze$ = INPUT$(1)
IF keuze$ = "j" THEN
  GOTO welkom
ELSE
  PRINT "Dag!": END
END IF

showscherm:
  PRINT : PRINT "Je hebt nu: "; Speelveld$
RETURN

vraagomletter:
  INPUT "Welke letter?: ", Letter$
RETURN

zoekletter:
  tel = 0
  FOR bekijk = 1 TO LEN(TeRadenWoord$)
    IF MID$(TeRadenWoord$, bekijk, 1) = Letter$ THEN
      MID$(Speelveld$, bekijk, 1) = Letter$
      tel = tel + 1
    END IF
  NEXT bekijk
  PRINT "Die zit er"; tel; "keer in!"
RETURN
Met citaat reageren
Oud 27-10-2002, 12:54
Verwijderd
Citaat:
sanne_312 schreef:
Bedankt, het is gelukt. Maar ik heb nog een probleem.
Je kunt als je al een paar letters hebt het antwoord weten, stel dat je het antwoord dan fout intypt, dan moet je weer de oorspronkelijke situatie krijgen (voordat je het foute antwoord intypte), dus weer met de letters die je al geraden hebt.
*vraagt zich af hoe JAVA ook alweer ging*
uhm...
*weet niet*

In psuedo code dan maar
(nouja... psuedo code... ik weet zelfs niet meer hoe dat moest... )
----
cZin = "Dit raad je nooit"
cDisplay = Alle karakters in cZin vervangen door '#' (behalve de spaties)


cGekozenLetter = gekozen letter
zoek cZin af naar de gekozen letter en vervang in cDipslay het overeenkomende karakterpositie.


Bijvoorbeeld:
Code:
cGekozenLetter = 'a';
for( int i = 0; i < len( cZin ); i++)
{
  if( cZin[i] == cGekozenLetter ){ cDisplay[i] = cGekozenLetter;}
}
cGekozenZin = gekozen zin
vergelijk cZin met cGekozenZin. Indien hetzelfde maak cDisplay gelijk aan cZin, anders doe niks.


Laat na iedere invoer cDisplay zien.
----

Laatst gewijzigd op 27-10-2002 om 13:08.
Met citaat reageren
Oud 27-10-2002, 13:06
Just Johan
Just Johan is offline
oh sorry wat dom van mij; ik had vergeten de mogelijkheid in te bouwen het hele woord in een keer te raden en daar ging het juist om

een aangepaste versie dan:
Code:
TeRadenWoord$ = "java is leuk"
Speelveld$ = "#### ## ####"

welkom:
CLS : PRINT "Welkom bij het Rad van Fortuin!"

DO WHILE TeRadenWoord$ <> Speelveld$
  GOSUB showscherm
  GOSUB vraagomletter
  IF letter$ = "*" THEN
    GOSUB vraagwoord
  ELSE
    GOSUB zoekletter
  END IF
LOOP

klaar:
PRINT : PRINT "Gefeliciteerd!!! :D"
PRINT : PRINT "Nogmaals? (j/n)"
keuze$ = INPUT$(1)
IF keuze$ = "j" THEN
  GOTO welkom
ELSE
  PRINT "Dag!": END
END IF

showscherm:
  PRINT : PRINT "Je hebt nu: "; Speelveld$
RETURN

vraagomletter:
  INPUT "Welke letter? (* om hele woord te raden): ", letter$
RETURN

vraagwoord:
  INPUT "Wat denk je dat het woord is?: ", Gok$
  IF Gok$ = TeRadenWoord$ THEN
    Speelveld$ = Gok$
  ELSE
    PRINT "Dat is helaas niet goed :("
  END IF
RETURN

zoekletter:
  tel = 0
  FOR bekijk = 1 TO LEN(TeRadenWoord$)
    IF MID$(TeRadenWoord$, bekijk, 1) = letter$ THEN
      MID$(Speelveld$, bekijk, 1) = letter$
      tel = tel + 1
    END IF
  NEXT bekijk
  PRINT "Die zit er"; tel; "keer in!"
RETURN
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 06:21.