Hallo VB-Paradise Community,
ich habe ein Spiel in Batch entwickelt nur leider will das Level System nicht funktionieren.
Man bekommt pro gewonnenem Kampf 10 Erfahrungspunkte (EXP). Das Problem ist, dass wenn ich 2 Kämpfe gewinne, direkt auf Level 2 aufsteige, und ab dann reicht ein Kampf um ein Level aufzusteigen. Habe mir den Code schon öfters durchgelesen finde den Fehler jedoch nicht für mich ist der Code logisch.
Ich hoffe ihr könnt mir helfen, hier ist der Code:
ich habe ein Spiel in Batch entwickelt nur leider will das Level System nicht funktionieren.
Man bekommt pro gewonnenem Kampf 10 Erfahrungspunkte (EXP). Das Problem ist, dass wenn ich 2 Kämpfe gewinne, direkt auf Level 2 aufsteige, und ab dann reicht ein Kampf um ein Level aufzusteigen. Habe mir den Code schon öfters durchgelesen finde den Fehler jedoch nicht für mich ist der Code logisch.
Ich hoffe ihr könnt mir helfen, hier ist der Code:
C-Quellcode
- @ECHO off
- ::@MODE con cols= lines=
- TITLE Dwarf Tower
- :Setting
- SET Selecter11=/
- SET Selecter12=\
- SET Selecter21=
- SET Selecter22=
- :MainMenu
- CLS
- ECHO.
- ECHO ##############################################################################
- ECHO # #
- ECHO # WILLKOMMEN BEI "DWARF TOWER"! #
- ECHO # #
- ECHO ##############################################################################
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # %Selecter11% Den "Dwarf Tower" betreten und ein neues Spiel starten. %Selecter12% #
- ECHO # #
- ECHO # #
- ECHO # %Selecter21% Vor dem "Dwarf Tower" fliehen und das Spiel beenden. %Selecter22% #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # Info: W = hoch, S = runter, V = auswaehlen #
- ECHO # #
- ECHO ##############################################################################
- CHOICE /N /C WSV
- IF "%ERRORLEVEL%" EQU "255" GOTO MainMenu
- IF "%ERRORLEVEL%" EQU "3" GOTO Check
- IF "%ERRORLEVEL%" EQU "2" SET Selecter11= &&SET Selecter12= &&SET Selecter21=/&&SET Selecter22=\&&GOTO MainMenu
- IF "%ERRORLEVEL%" EQU "1" SET Selecter11=/&&SET Selecter12=\&&SET Selecter21= &&SET Selecter22= &&GOTO MainMenu
- IF "%ERRORLEVEL%" EQU "0" GOTO MainMenu
- :Check
- IF "%Selecter11%" == "/" GOTO SetupGame
- IF "%Selecter21%" == "/" GOTO Exit
- :SetupGame
- SET /A DwarfLevel=1
- SET /A DwarfAttack=10
- SET /A DwarfEscapeRate=1
- SET /A DwarfEXP=0
- ::LastBattle Status müssen insgesamt 57 Zeichen sein!
- SET LastBattle=Noch nicht gekaempft!
- GOTO MainScreen
- :MainScreen
- CLS
- ECHO.
- ECHO ##############################################################################
- ECHO # #
- ECHO # Mein "Dwarf": #
- ECHO # - Level %DwarfLevel% #
- ECHO # - Angriff: %DwarfAttack% #
- ECHO # - Ausweich Bonus: %DwarfEscapeRate% #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # #
- ECHO # (K)aempfen: (X = Angriff des bevorstehenden Monsters) #
- ECHO # "X - %DwarfEscapeRate% (Ausweich Bonus)" ergibt: Gegner Angriff #
- ECHO # #
- ECHO # Letzter Kampf: %LastBattle% #
- ECHO # #
- ECHO ##############################################################################
- CHOICE /N /C K
- IF "%ERRORLEVEL%" EQU "255" GOTO MainScreen
- IF "%ERRORLEVEL%" EQU "1" GOTO Battle
- IF "%ERRORLEVEL%" EQU "0" GOTO MainScreen
- GOTO MainScreen
- :Battle
- IF "%DwarfLevel%" == "1" GOTO Battle1
- IF "%DwarfLevel%" == "2" GOTO Battle2
- IF "%DwarfLevel%" == "3" GOTO Battle3
- IF "%DwarfLevel%" == "4" GOTO Battle4
- IF "%DwarfLevel%" == "5" GOTO Battle5
- IF "%DwarfLevel%" == "6" GOTO Battle6
- IF "%DwarfLevel%" == "7" GOTO Battle7
- IF "%DwarfLevel%" == "8" GOTO Battle8
- IF "%DwarfLevel%" == "9" GOTO Battle9
- GOTO Exit
- :Battle1
- SET /A GegnerAngriff=%random% % +1
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle2
- SET /A GegnerAngriff=%random% % +11
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle3
- SET /A GegnerAngriff=%random% % +21
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle4
- SET /A GegnerAngriff=%random% % +31
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle5
- SET /A GegnerAngriff=%random% % +41
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle6
- SET /A GegnerAngriff=%random% % +51
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle7
- SET /A GegnerAngriff=%random% % +61
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle8
- SET /A GegnerAngriff=%random% % +71
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :Battle9
- SET /A GegnerAngriff=%random% % +81
- SET /A GegnerAngriff=%GegnerAngriff%-%DwarfEscapeRate%
- IF "%DwarfAttack%" GTR "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf gewonnen! &&SET /A DwarfEXP=%DwarfEXP%+10&&GOTO CheckLevelUp
- IF "%DwarfAttack%" EQU "%GegnerAngriff%" SET LastBattle=Der letzte Kampf war ein unentschieden! &&GOTO MainScreen
- IF "%DwarfAttack%" LSS "%GegnerAngriff%" SET LastBattle=Du hast den letzten Kampf verloren! &&GOTO MainScreen
- GOTO Exit
- :CheckLevelUp
- IF "%DwarfEXP%" GTR "100" SET /A DwarfLevel=2&&SET /A DwarfAttack=20&&SET /A DwarfEscapeRate=2
- IF "%DwarfEXP%" GTR "200" SET /A DwarfLevel=3&&SET /A DwarfAttack=30&&SET /A DwarfEscapeRate=3
- IF "%DwarfEXP%" GTR "300" SET /A DwarfLevel=4&&SET /A DwarfAttack=40&&SET /A DwarfEscapeRate=4
- IF "%DwarfEXP%" GTR "400" SET /A DwarfLevel=5&&SET /A DwarfAttack=50&&SET /A DwarfEscapeRate=5
- IF "%DwarfEXP%" GTR "500" SET /A DwarfLevel=6&&SET /A DwarfAttack=60&&SET /A DwarfEscapeRate=6
- IF "%DwarfEXP%" GTR "600" SET /A DwarfLevel=7&&SET /A DwarfAttack=70&&SET /A DwarfEscapeRate=7
- IF "%DwarfEXP%" GTR "700" SET /A DwarfLevel=8&&SET /A DwarfAttack=80&&SET /A DwarfEscapeRate=8
- IF "%DwarfEXP%" GTR "800" SET /A DwarfLevel=9&&SET /A DwarfAttack=90&&SET /A DwarfEscapeRate=9
- GOTO MainScreen
- :Exit
There are only 10 types of people in the world: Those who understand binary and those who don't.