Create a game in the command prompt (cmd)

Solved
shikamarujladore Posted messages 418 Status Member -  
 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 answers

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