Create a game in the command prompt (cmd)
Solved
shikamarujladore
Posted messages
418
Status
Membre
-
F -
F -
Hello,
I am very interested in computer science, especially the command prompt!
I have managed to create fake viruses, command prompt chats (nothing too impressive), but how do you create a game from the command prompt? I tested it, and someone made Tetris in a .bat game.
Do you have a tutorial for that?
Thank you!
I am very interested in computer science, especially the command prompt!
I have managed to create fake viruses, command prompt chats (nothing too impressive), but how do you create a game from the command prompt? I tested it, and someone made Tetris in a .bat game.
Do you have a tutorial for that?
Thank you!
6 réponses
Hi everyone !!
Well, I'm digging up the subject a bit but it might help someone else looking for a command line game, here’s the code for one of mine!
It’s the more or less game with the 2 player option; there are some errors in it, but the program works, it's up to you to spot them and improve it! I have another one that’s more polished, with both 2 player mode + customizable level mode + and other presentation and practical details, but I'll keep that one; it’s just to give you some ideas to tweak it to your liking!
Ciao everyone
source code:
:game
@echo off
mode con: cols=30 lines=15
title MiNi-GaMe By KeV1 !!!
color f1
echo.
echo MiNi-GaMe By KeV1 !!!
echo.
echo.
echo FIND THE MYSTERY NUMBER !!
echo.
echo.
echo 3 DIFFICULTY LEVELS
echo TO CHOOSE FROM
echo.
echo 1 OR 2 PLAYER(S)
echo.
echo. PRESS ENTER TO START
echo.
pause>nul
:nbrjr
cls
echo.
echo.
echo NUMBER OF PLAYERS? (1 or 2) :
echo.
set /p player=
if %player%==1 goto player1
if %player%==2 goto player2
) else (
goto nbrjr
:player1
cls
echo.
echo LVL1 MYSTERY NUMBER FROM 1-1000
echo.
echo.
echo LVL2 MYSTERY NUMBER FROM 1-2500
echo.
echo.
echo LVL3 MYSTERY NUMBER FROM 1-5000
echo.
echo.
CHOICE /C 123 /M "CHOOSE YOUR LEVEL"
IF ERRORLEVEL 1 set /a num=%RANDOM% %% 1000
IF ERRORLEVEL 2 set /a num=%RANDOM% %% 2500
IF ERRORLEVEL 3 set /a num=%RANDOM% %% 5000
echo.
echo ==============================
echo.
cls
:_error
color f1
echo.
echo.
set/p ch= MYSTERY NUMBER :
cls
set/a steps+=1
if %ch% lss %num% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto _error
)else if %ch% gtr %num% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto _error
) else (
cls
color e
echo.
echo CONGRATULATIONS !!!!!!
echo %num%
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps% times
echo.
echo.
echo LEVEL
if %steps% geq 20 (
echo Get back to work!!
C:\Users\production\Pictures\Penguins.jpg
) else if %steps% leq 3 (
echo *** excellent dude ***
) else if %steps% leq 6 (
echo Close to perfect
) else if %steps% leq 9 (
echo Not bad !!
) else if %steps% leq 14 (
echo head elsewhere...
) else if %steps% leq 19 (
echo so sad... !!!!
)
)
pause>nul
set/a steps=0
goto replay
:player2
cls
set /p jr1= Player 1 Name:
set /p jr2= Player 2 Name:
cls
echo.
:choixniv
cls
echo 2 PLAYER MODE
echo.
echo LVL1 MYSTERY NUMBER FROM 1-1000
echo.
echo.
echo LVL2 MYSTERY NUMBER FROM 1-2500
echo.
echo.
echo LVL3 MYSTERY NUMBER FROM 1-5000
echo.
echo.
set /p niv= CHOOSE YOUR LEVEL [1,2,3 ?]
IF %niv%==1 goto niv1
IF %niv%==2 goto niv2
IF %niv%==3 goto niv3
) else (
goto choixniv
echo.
echo ==============================
:niv1
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND 1000
:again1
set /p cm2= :
if %cm2% gtr 1000 (
echo Number lower than 1000 please !!
timeout 2 >nul
goto again1
)
cls
echo %jr2%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr1%
echo BETWEEN 1 AND 1000
:again2
set /p cm1= :
if %cm1% gtr 1000 (
echo Number lower than 1000 please !!
timeout 2 >nul
goto again2
)
cls
:error1
color f1
echo.
echo.
set/p ch= %jr1% it's your turn:
cls
set/a steps1+=1
if %ch% lss %cm1% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error1
) else if %ch% gtr %cm1% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error1
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr1%!!!!!!
echo %cm1%
echo.
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error2
color f1
echo.
echo.
set/p ch= %jr2% it's your turn:
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error2
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error2
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr2%!!!!!!
echo %cm2%
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
echo THE WINNER IS :
echo CALCULATING...
timeout 5 >nul
if %steps1% gtr %steps2% (
echo =======%jr2%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps2% times
) else (
echo =======%jr1%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps1% times
)
timeout 2 >nul
set/a steps1=1
set/a steps2=1
goto replay
:niv2
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND 2500
:again3
set /p cm2= :
if %cm2% gtr 2500 (
echo Number lower than 2500 please !!
timeout 2 >nul
goto again3
)
cls
echo %jr2%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr1%
echo BETWEEN 1 AND 2500
:again4
set /p cm1= :
if %cm1% gtr 2500 (
echo Number lower than 2500 please !!
timeout 2 >nul
goto again4
)
cls
:error3
color f1
echo.
echo.
set/p ch= %jr1% it's your turn:
cls
set/a steps1+=1
if %ch% lss %cm1% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error3
) else if %ch% gtr %cm1% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error3
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr1%!!!!!!
echo %cm1%
echo.
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error4
color f1
echo.
echo.
set/p ch= %jr2% it's your turn:
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error4
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error4
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr2%!!!!!!
echo %cm2%
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
echo THE WINNER IS :
echo CALCULATING...
timeout 5 >nul
if %steps1% gtr %steps2% (
echo =======%jr2%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps2% times
) else (
echo =======%jr1%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps1% times
)
timeout 3 >nul
set/a steps1=1
set/a steps2=1
goto replay
:niv3
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND
Well, I'm digging up the subject a bit but it might help someone else looking for a command line game, here’s the code for one of mine!
It’s the more or less game with the 2 player option; there are some errors in it, but the program works, it's up to you to spot them and improve it! I have another one that’s more polished, with both 2 player mode + customizable level mode + and other presentation and practical details, but I'll keep that one; it’s just to give you some ideas to tweak it to your liking!
Ciao everyone
source code:
:game
@echo off
mode con: cols=30 lines=15
title MiNi-GaMe By KeV1 !!!
color f1
echo.
echo MiNi-GaMe By KeV1 !!!
echo.
echo.
echo FIND THE MYSTERY NUMBER !!
echo.
echo.
echo 3 DIFFICULTY LEVELS
echo TO CHOOSE FROM
echo.
echo 1 OR 2 PLAYER(S)
echo.
echo. PRESS ENTER TO START
echo.
pause>nul
:nbrjr
cls
echo.
echo.
echo NUMBER OF PLAYERS? (1 or 2) :
echo.
set /p player=
if %player%==1 goto player1
if %player%==2 goto player2
) else (
goto nbrjr
:player1
cls
echo.
echo LVL1 MYSTERY NUMBER FROM 1-1000
echo.
echo.
echo LVL2 MYSTERY NUMBER FROM 1-2500
echo.
echo.
echo LVL3 MYSTERY NUMBER FROM 1-5000
echo.
echo.
CHOICE /C 123 /M "CHOOSE YOUR LEVEL"
IF ERRORLEVEL 1 set /a num=%RANDOM% %% 1000
IF ERRORLEVEL 2 set /a num=%RANDOM% %% 2500
IF ERRORLEVEL 3 set /a num=%RANDOM% %% 5000
echo.
echo ==============================
echo.
cls
:_error
color f1
echo.
echo.
set/p ch= MYSTERY NUMBER :
cls
set/a steps+=1
if %ch% lss %num% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto _error
)else if %ch% gtr %num% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto _error
) else (
cls
color e
echo.
echo CONGRATULATIONS !!!!!!
echo %num%
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps% times
echo.
echo.
echo LEVEL
if %steps% geq 20 (
echo Get back to work!!
C:\Users\production\Pictures\Penguins.jpg
) else if %steps% leq 3 (
echo *** excellent dude ***
) else if %steps% leq 6 (
echo Close to perfect
) else if %steps% leq 9 (
echo Not bad !!
) else if %steps% leq 14 (
echo head elsewhere...
) else if %steps% leq 19 (
echo so sad... !!!!
)
)
pause>nul
set/a steps=0
goto replay
:player2
cls
set /p jr1= Player 1 Name:
set /p jr2= Player 2 Name:
cls
echo.
:choixniv
cls
echo 2 PLAYER MODE
echo.
echo LVL1 MYSTERY NUMBER FROM 1-1000
echo.
echo.
echo LVL2 MYSTERY NUMBER FROM 1-2500
echo.
echo.
echo LVL3 MYSTERY NUMBER FROM 1-5000
echo.
echo.
set /p niv= CHOOSE YOUR LEVEL [1,2,3 ?]
IF %niv%==1 goto niv1
IF %niv%==2 goto niv2
IF %niv%==3 goto niv3
) else (
goto choixniv
echo.
echo ==============================
:niv1
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND 1000
:again1
set /p cm2= :
if %cm2% gtr 1000 (
echo Number lower than 1000 please !!
timeout 2 >nul
goto again1
)
cls
echo %jr2%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr1%
echo BETWEEN 1 AND 1000
:again2
set /p cm1= :
if %cm1% gtr 1000 (
echo Number lower than 1000 please !!
timeout 2 >nul
goto again2
)
cls
:error1
color f1
echo.
echo.
set/p ch= %jr1% it's your turn:
cls
set/a steps1+=1
if %ch% lss %cm1% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error1
) else if %ch% gtr %cm1% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error1
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr1%!!!!!!
echo %cm1%
echo.
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error2
color f1
echo.
echo.
set/p ch= %jr2% it's your turn:
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error2
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error2
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr2%!!!!!!
echo %cm2%
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
echo THE WINNER IS :
echo CALCULATING...
timeout 5 >nul
if %steps1% gtr %steps2% (
echo =======%jr2%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps2% times
) else (
echo =======%jr1%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps1% times
)
timeout 2 >nul
set/a steps1=1
set/a steps2=1
goto replay
:niv2
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND 2500
:again3
set /p cm2= :
if %cm2% gtr 2500 (
echo Number lower than 2500 please !!
timeout 2 >nul
goto again3
)
cls
echo %jr2%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr1%
echo BETWEEN 1 AND 2500
:again4
set /p cm1= :
if %cm1% gtr 2500 (
echo Number lower than 2500 please !!
timeout 2 >nul
goto again4
)
cls
:error3
color f1
echo.
echo.
set/p ch= %jr1% it's your turn:
cls
set/a steps1+=1
if %ch% lss %cm1% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error3
) else if %ch% gtr %cm1% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error3
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr1%!!!!!!
echo %cm1%
echo.
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
:error4
color f1
echo.
echo.
set/p ch= %jr2% it's your turn:
cls
set/a steps2+=1
if %ch% lss %cm2% (
echo.
echo.
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER HIGHER THAN : %ch%
echo.
goto error4
) else if %ch% gtr %cm2% (
echo.
echo.
echo.
echo.
echo That's not the right number
echo Try again
echo.
echo.
echo.
color F2
ping -n 2 127.0.0.1 >NUL
color F4
ping -n 2 127.0.0.1 >NUL
cls
echo.
echo NUMBER LOWER THAN : %ch%
echo.
goto :error4
) else (
cls
color e
echo.
echo CONGRATULATIONS %jr2%!!!!!!
echo %cm2%
echo.
echo.
echo.
echo.
timeout 4 >nul
)
cls
echo THE WINNER IS :
echo CALCULATING...
timeout 5 >nul
if %steps1% gtr %steps2% (
echo =======%jr2%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps2% times
) else (
echo =======%jr1%========
echo.
echo.
echo NUMBER OF ATTEMPTS
echo %steps1% times
)
timeout 3 >nul
set/a steps1=1
set/a steps2=1
goto replay
:niv3
cls
echo %jr1%
echo.
echo ENTER THE MYSTERY NUMBER
echo FOR %jr2%
echo BETWEEN 1 AND
Wow! Your program looks great, what language did you use to create it?
html ... you don't do any research before speaking ... look up what html is on the net