Problem mit "Repeat"
Übersicht

CyRanBetreff: Problem mit "Repeat" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute bin noch ein Blutanfänger...hab die Tutorials schon druchgearbeitet aber irgendwie verstehe ich das nicht. Ich habe mal veruscht ein Textadventure zu machen und jetzt hänge ich hier:
Code: [AUSKLAPPEN] Name$ = Input("Dein Name:")
Koenigreich$ = Input("Dein Koenigreich:") Alter$ = Input("Dein Alter: ") Bauer$ = 100 Color 255, 0, 0 Print"Deine Anzahl von Bauern betraegt " Color 255,255,255 Print Bauer$ Soldaten$ = Input("Wie viele Soldaten willst du ausbilden?: ") If Soldaten$ = <100 Then Print"Du hast erfolgreich deine Soldaten ausgebildet!" Else Repeat Print " Du hast nur 100 Bauern zur Verfügung" Until Soldaten$ = <100 Was mach ich falscH? ich will das wenn man über 100 eingibt bei Soldaten$ das die Frage mit wie viel blaba willst du ausbilden nochmal kommt also das der Spieler die Chance bekommt das ganze nochmal zu machen falls es zu viele sind, jedoch funktioniert das anscheinend net. Bitte um Hilfe und verbesserung |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
~VERSCHOBEN~ Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde. Ich möchte Dich auf die verschiedenen Variablentypen hinweisen. Du speicherst alles als Zeichenkette, aber bauer und soldat wären Kandidaten für Integer (Ganzzahlvariablen). Zu deinem repeat-problem: Du musst innerhalb der repeat-until-Schleife dein input haben, sonst kann ja nie eine Änderung der Soldatenzahl eintreten. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
CyRan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sorry was meinst du mit ganzzahl variablen?
Also muss ich nach Repeat das mit Input wieder reinmachen ? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau Dir bitte die Onlinehilfe / die Robsite-Tutorials nochmal an, da werden Variablentypen sehr früh erklärt.
Kurz zusammengefasst: $ (string) : Zeichenkette: Enthält Buchstaben und Zahlen, man kann nicht mit ihnen Rechnen, sie nur per + verbinden. %(integer, ganzzahl) speichert natürliche Zahlen, d.h. keine Brüche. Man kann mit ihnen alle Rechenoperationen machen. # (float, Gleitkommazahl) Brüche mit nachkommastellen. s.o. Beispiele: name$ = "Peter" zahl% = 5 kommazahl# = 1.234 |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jep.
Zitat: Color 255, 0, 0 Print"Deine Anzahl von Bauern betraegt " Color 255,255,255 Print Bauer$
Color ist übrigens ein eigener Befehl, muss also in einer eigenen Zeile stehen. Um das zu umgehen, kannst du auch einen ":" setzen. Code: [AUSKLAPPEN] Color 255,0,0
write "Deine Anzahl von Bauern beträgt " color 255,255,255 print bauer Oder statt einer neuen Zeile einen Doppelpunkt setzen. Das wird erst bei if then kompliziert! |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
CyRan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
danke für die wichtigen Tipps, aber was muss ich jetzt genau mit dem Repeat machen ? | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuchs mal mit diesem Code: [AUSKLAPPEN] Repeat
soldaten=Input("EINTIPPEN") if soldaten>bauern PRINT "DU HAST ZU WENIG BAUERN!! SIEHST DU DAS NICHT" else Print "HURRA, Du dast soldaten: Mach alles kaputt" endif until soldaten<=bauern |
||
DerSatanGastBetreff: Re: Problem mit "Repeat" |
![]() Antworten mit Zitat |
|
---|---|---|
Also, nochmal zum mitschreiben: Du hast das Problem, dass (das?) es in deiem Textadventure probleme gibt. Soweit ich das sehe, gab es folgende Vorschläge:
1. In deine Repeat-Schleife noch ein Input setzten (was wohl die Lösung wäre, denke ich) 2. Die Anzahl von Bauern und Soldaten in "Ganzzahlen"-Variablen (Integer) speichern. Vorher: Code: [AUSKLAPPEN] Name$ = Input("Dein Name:")
Koenigreich$ = Input("Dein Koenigreich:") Alter$ = Input("Dein Alter: ") Bauer$ = 100 Color 255, 0, 0 Print"Deine Anzahl von Bauern betraegt " Color 255,255,255 Print Bauer$ Soldaten$ = Input("Wie viele Soldaten willst du ausbilden?: ") If Soldaten$ = <100 Then Print"Du hast erfolgreich deine Soldaten ausgebildet!" Else Repeat Print " Du hast nur 100 Bauern zur Verfügung" Until Soldaten$ = <100 Nachher also: Code: [AUSKLAPPEN] Name$ = Input("Dein Name:")
Koenigreich$ = Input("Dein Koenigreich:") Alter$ = Input("Dein Alter: ") Bauer% = 100 Color 255, 0, 0 Print"Deine Anzahl von Bauern betraegt " Color 255,255,255 Print Bauer% Soldaten% = Input("Wie viele Soldaten willst du ausbilden?: ") If Soldaten% = <100 Then Print"Du hast erfolgreich deine Soldaten ausgebildet!" Else Repeat Print " Du hast nur 100 Bauern zur Verfügung" Soldaten% = Input("Wie viele Soldaten willst du ausbilden? ") Until Soldaten% = <100 Das dürfte wohl passen... nur mal so am Rande... |
||
CyRan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der sagt bei mir immer das EndIf fehlt obwohl es nicht fehlt...
Der Comamnd ist doch If keyhit(32) then print blalbal else blalala endif |
||
Beatenvoy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ohne Code nix los ![]() |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn Du deinen Code betrachtest ( und ihn vielleicht mal vernünftig einrückst) wirst Du sehen dass da durchaus noch ein if offen ist...
(auch das else ist teil des ifs, schliesst es aber nicht ab ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
CyRan |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier der Code
Code: [AUSKLAPPEN] If KeyHit (2)
Then Write "Deine Bauern ziehen aus um den Feind anzugreifen!"Print "Deine Bauern haben die Barbaren vertrieben..." Print Bauern% - Barbaren% Write"Bauern sind zurueck gekehrt!" ElseIf KeyHit (<3) Then Print"Druecke entwerder 1 oder 2! ) ElseIf KeyHit (3) Then Print"Du hast Glueck deine Gebete wurden erhoert, die Barbaren fliehen!..Was sie wohl verscheucht hat?" EndIf |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
möchtest du mit KeyHit(<3) ausdrücken das der key der größer als 3 ist gedrückt wurde???
Wenn ja hast du einen Syntaxfehler begangen! Das gibt dir Villeicht hilfe Code: [AUSKLAPPEN] scancode=WaitScan()
If scancode=2 ... Elsif scancode>3 ... ElseIf scancode=3 EndIf DIE WAITSCAN()-Funktion gibts HIER |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group