Galgenspiel

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Svolf

Betreff: Galgenspiel

BeitragSa, Apr 15, 2006 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi Leute,

Ich habe da ein Galgenspiel. Aber leider kann man nur ein String eingeben also ein Bustaben. Wie kann man das machen das er alles abfragt. Vielleicht ganz anderes schreiben.

Hier der Code:

BlitzBasic: [AUSKLAPPEN]

Const max = 3
Dim Wort$(max)
Data "if", "then", "else"
For x = 1 To max
Read Wort$(x)
Next
SeedRnd MilliSecs()
Zufall$=Wort$(Rnd(max))
Versuche = 0
Geraten$ = String$("?",Len(Zufall))
Print Geraten$
versuche = versuche + 1
Zeichen$=Input("gib was ein!")
Stelle = Instr(Zufall$,Zeichen$)
If Stelle <> 0 Then
neu$ =Left$(Geraten$,Stelle-1) + Zeichen$
neu$ = neu$ + Mid$(Geraten$,Stelle+1)
Geraten$ = neu$
EndIf
If Geraten$ = Zufall Then
Print"Richtig"
Else
Print "War wohl nix"
EndIf



darth

Betreff: ..

BeitragSa, Apr 15, 2006 15:18
Antworten mit Zitat
Benutzer-Profile anzeigen
versuch mal
BlitzBasic: [AUSKLAPPEN]
x=GetKey()
buchstabe$=Chr$(x)


(und versuch mal verständliches deutsch zu schreiben :/ )
Diese Signatur ist leer.

SpionAtom

BeitragSa, Apr 15, 2006 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal Werbung meinerseits Very Happy
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

Svolf

BeitragSa, Apr 15, 2006 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Das bringt mich jetzt auch weiter?

SpionAtom

BeitragSa, Apr 15, 2006 19:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Tut mir leid!

Da du eine Sache immer wieder machen willst, nämlich immer einen Buchstaben eingeben und überprüfen, brauchst du eine Schleifenstruktur.

In Pseudocode würde das so aussehen:


Code: [AUSKLAPPEN]

[pseudocode]
WIEDERHOLE solange das richtige Wort noch nicht erraten ist, folgendes:
     -Zeige alle gerratenen Buchstaben an der richtigen Stelle an
      -Lass den Spieler einen Buchstaben raten
    -Prüfe, ob der Buchstabe zum Wort gehört
[/pseudocode]



So wird man halt immer wieder dazu aufgefordert Buchstaben einzugeben, bis das gesamte Wort erraten ist.
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080
 

Svolf

BeitragSa, Apr 15, 2006 23:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Achja ist das schön. Musste nur eine Repaetschleife reinsetzen,.xD

BlitzBasic: [AUSKLAPPEN]

Const Max = 3
Dim Wort$(Max)
Data "if", "then", "else"
For i = 0 To Max Read Wort$(i) Next
SeedRnd MilliSecs()
Zufall$ = Wort$(Rand(0,Max))
Versuche = 0
Geraten$ = String$("?",Len(Zufall$))
Repeat
Print Geraten$
Versuche = Versuche + 1
Zeichen$ = Input("Rate mal: ")
If Zeichen$ = "" Then Exit
Stelle = Instr(Zufall$,Zeichen$)
If Stelle <> 0 Then
Neu$ = Left$(Geraten$,Stelle-1) + Zeichen$
Neu$ = Neu$ + Mid$(Geraten$,Stelle+1)
Geraten$ = Neu$
EndIf
Until Geraten$ = Zufall$
Print Zufall$
If Geraten$ = Zufall$ Then
Print "Richtig! Du hast " + Versuche + " Mal geraten"
Else
Print "War wohl nix"
EndIf

SpionAtom

BeitragSo, Apr 16, 2006 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Die For-Schleife darf nur max-mal durchlaufen, d.h. du musst entweder von 0 bis max - 1, oder von 1 bis max laufen lassen. Wink

Was mir noch aufgefallen ist, dass du bei else nicht alle "E" ersetzt. Da musst du dir noch was anderes einfallen lassen. Z.b. könntest du jeden Buchstaben des Wortes auf den eingegebenen Buchstaben überprüfen. Idea
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group