2016-10-12 1 views
1

Ich benutze Small Basic, und ich bin ziemlich neu in der Programmierung. Hier sind meine Subroutinen:Nachdem ich mein Unterprogramm 2 - 4 mal benutzt habe. Eine Nachricht mit der Nachricht "Drücken Sie eine beliebige Taste, um fortzufahren ..."

Sub MoneyClasses 
    If CurrentJob = "Cleaner" Then 
     Money = Money + 1 
    ElseIf CurrentJob = "Farmer" Then 
     Money = Money + 3 
    ElseIf CurrentJob = "Factory Worker" Then 
     Money = Money + 5 
    ElseIf CurrentJob = "Teacher" Then 
     Money = Money + 10 
    ElseIf CurrentJob = "Shopkeeper" Then 
     Money = Money + 20 
    ElseIf CurrentJob = "Doctor" Then 
     Money = Money + 30 
    ElseIf CurrentJob = "Soldier" Then 
     Money = Money + 25 
    ElseIf CurrentJob = "Officer" Then 
     Money = Money + 45 
    ElseIf CurrentJob = "General" Then 
     Money = Money + 100 
    ElseIf CurrentJob = "Supreme Leader" Then 
     Money = Money + 10000 
    EndIf 
EndSub 

Sub Work1 
    MoneyClasses() 
    Energy = Energy - 10 
EndSub 

Sub Sleep1 
    Energy = Energy + 10 
    Money = Money - 1 
EndSub 

Sub Stats1 
    TextWindow.WriteLine(" ") 
    TextWindow.WriteLine("You have " + Energy +" Energy.") 
    TextWindow.WriteLine("You have " + Money +" Won.") 
    TextWindow.Write(" ") 
    TextWindow.Read() 
EndSub 

Sub Menu 
    TextWindow.WriteLine("Current Job = " + CurrentJob + "") 
    TextWindow.WriteLine("Name = " + Name + "") 
    TextWindow.WriteLine("1 - Work") 
    TextWindow.WriteLine("2 - Sleep") 
    TextWindow.WriteLine("3 - Show Stats") 
    TextWindow.WriteLine(" ") 
    TextWindow.Write("What to do?: ") 
    PlayerInput = TextWindow.Read() 
    TextWindow.Clear() 
EndSub 

Ja, ich habe absolut keine Ahnung, was los ist. Es ist wahrscheinlich ein kleiner Fehler. Ich sollte auch erwähnen, dass das Spiel noch nicht ganz fertig ist, und damit meine ich, dass ich noch nicht einmal halb fertig bin. Einfach die "Grundlagen" machen.

+0

Ist das Ihr voller Code? Ich kann das Programm nicht starten: 'CurrentJob' und' Name' werden benutzt aber nicht zugewiesen. –

+0

Nein, das sind nur meine Subroutinen. – noaho

+0

Können Sie Ihren vollständigen Code eingeben? – bleh

Antwort

0

"Drücken Sie eine Taste, um fortzufahren" ist die Nachricht, die erscheint, wenn Ihr Programm abgeschlossen ist. Meine beste Vermutung ist, dass, nachdem Sie Ihre Unterprogramme aufgerufen haben, zweimal angekündigt, dass Ihr Programm fertig ist. Ohne einen Looping-Mechanismus, um den Ball ins Rollen zu bringen, wird das Programm beendet.

Ich würde vorschlagen, ein Etikett an der Spitze, bevor die Unterroutine ruft und ein Goto an der Unterseite springt zurück nach oben. Etwas wie dieses:

top: 
'Your Program code 
Goto top 
Verwandte Themen