Create a game in the command prompt (cmd)

Solved
shikamarujladore Posted messages 418 Status Membre -  
 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!

6 réponses

kev1_80 Posted messages 1 Status Membre 31
 
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
32
Rachel-MC Posted messages 31 Status Membre
 
Hello,
Wow! Your program looks great, what language did you use to create it?
-2
AnToinejc1 > Rachel-MC Posted messages 31 Status Membre
 
html I believe
-8
nico > AnToinejc1
 
html ??? ^^ and well guys ...
html ... you don't do any research before speaking ... look up what html is on the net
0