এই ভাবে আপনি একটি tic-tac-toe গেম বানাতে পারবেন।তাহলে দেখে নিন কি করতে হবে----
১. notepad ওপেন করুন
২. নিচের code টি পেস্ট করুন--
<div>@echo offtitle saimum's Tic Tac Toetitle Noughts and Crosses setlocal enabledelayedexpansion ::~ ^^^ Stops all commands appearing on screen, sets the title and enables the use of ! for environment variable :menu cls echo Main Menu echo To Play A 1-Player Game, Enter 1 echo To Play A 2-Player Game, Enter 2 echo To Exit, Enter 3 set /p menu= if not defined menu goto menu if /i %menu% equ 1 ( set menu= cls goto 1p ) if /i %menu% equ 2 ( set menu= cls goto 2p ) if /i %menu% equ 3 ( goto end ) set menu= goto menu ::~ ^^ The menu system, gives all the options, allows the user to input a number using "set /p menu=" :~ If the user didn't enter a value, it 'goto's back to ask again. ::~ Checks the Menu variable, tests to see if it matches 1, 2 or 3, then 'goto's the appropriate place. :1p set turns=0 set x1=0 set x2=0 set x3=0 set x4=0 set x5=0 set x6=0 set x7=0 set x8=0 set x9=0 set o1=0 set o2=0 set o3=0 set o4=0 set o5=0 set o6=0 set o7=0 set o8=0 set o9=0 ::~ Sets the number of turns taken so far to 0 ::~ Sets all the places on the noughts and crosses grid to 0 set d1=1 set d2=2 set d3=3 set d4=4 set d5=5 set d6=6 set d7=7 set d8=8 set d9=9 ::~ Sets the display characters for game to their appropriate number set rnumber=%random% set rnumber2=%rnumber% set /a rnumber= %rnumber% / 2 set /a rnumber= %rnumber% * 2 ::~ Sets a variable "rnumber" to a random number ::~ Sets a variable "rnumber2" to the same number as "rnumber" ::~ Divides "rnumber" by two, then multiplies by two. ::~ If the number was even, it would be equal to "rnumber2", if it was odd it would end up one less than "rnumber2" ::~ This is the method I use to create a 50% chance, as there's a 50% that a random number will be odd or even if %rnumber%==%rnumber2% ( echo Crosses go first echo You are noughts pause>nul set rnumber= set rnumber2= set go=1xgame goto 1display ) else ( echo Noughts go first echo You are noughts pause>nul set rnumber= set rnumber2= set go=1ogame goto 1display ) ::~ This tests to see if the numbers are equal, then sets the "go" variable to whichever possibility came out and deletes the "rnumber" variables ::~ Then 'Goto's the display :1display cls echo %d1% %d2% %d3% echo %d4% %d5% %d6% echo %d7% %d8% %d9% if /i %turns% equ 9 (goto draw) echo. echo Your Turn echo. goto %go% ::~ ^^ Displays the current status of each place in the grid. At the start these will all just be numbers. ::~ Checks that the turns hasn't reach nine. If it has, all the spaces on the grid have been used up and nobody has won, so the game is a draw. :1ogame echo Choose the number of the space you'd like to choose set guess= set /p guess= if not defined guess goto 1display set guess=%guess:~0,1% if /i not %guess% leq 9 goto 1display if /i not %guess% gtr 0 goto 1display if /i !d%guess%! neq %guess% goto 1display goto 1o%guess% ::~ Asks the user to input the number of the space they want to choose and allows them to using "Set /p" ::~ If the user didn't input or entered something that wasn't a number between 1 and 9, it 'goto's back, to ask again ::~ Checks that the number hasn't been already chosen by checking that !d%guess%! is equal to guess. This works becauseif the user guesses 1, d1 should equal 1. ::~ If it has already been chosen, d1 would be a O or a X, so it would not be equal. ::~ 'Goto's the number chosen. :1o1 set o1=1 set x1=1000 set d1=O goto 1oprocess :1o2 set o2=10 set x2=1000 set d2=O goto 1oprocess :1o3 set o3=100 set x3=1000 set d3=O goto 1oprocess :1o4 set o4=1 set x4=1000 set d4=O goto 1oprocess :1o5 set o5=10 set x5=1000 set d5=O goto 1oprocess :1o6 set o6=100 set x6=1000 set d6=O goto 1oprocess :1o7 set o7=1 set x7=1000 set d7=O goto 1oprocess :1o8 set o8=10 set x8=1000 set d8=O goto 1oprocess :1o9 set o9=100 set x9=1000 set d9=O goto 1oprocess ::~ The space of the number chosen on the display grid is changed to the correct letter (X or O) and a number is added to the %x-% grid and the %o-% grid. ::~ These two grids are used to work out whether someone has won, and allows the computer to work out which place to go next. :1oprocess set /a line1= %o1% + %o2% + %o3% if /i %line1% equ 111 (goto owin) set /a line2= %o4% + %o5% + %o6% if /i %line2% equ 111 (goto owin) set /a line3= %o7% + %o8% + %o9% if /i %line3% equ 111 (goto owin) set /a line4= %o1% + %o5% + %o9% if /i %line4% equ 111 (goto owin) set /a line5= %o3% + %o5% + %o7% if /i %line5% equ 111 (goto owin) set /a line6= %o1% + %o4% + %o7% if /i %line6% equ 3 (goto owin) set /a line7= %o2% + %o5% + %o8% if /i %line7% equ 30 (goto owin) set /a line8= %o3% + %o6% + %o9% if /i %line8% equ 300 (goto owin) ::~ This section of code adds up all of the possible winning combinations on the %o-% grid i.e. each row, column and diagional, to check if the player has got three Os in a row. If so 'goto's the owin section. set go=1xgame set guess= set /a turns= %turns% + 1 goto 1display ::~ Sets the go to the computer's and adds one to the number of turns taken ::~ 'Goto's the display. :1xgame set /a line1= %x1% + %x2% + %x3% if /i %line1% equ 11 ( set guess=3 goto 1ac ) set /a line1= %x1% + %x2% + %x3% if /i %line1% equ 101 ( set guess=2 goto 1ac ) set /a line1= %x1% + %x2% + %x3% if /i %line1% equ 110 ( set guess=1 goto 1ac ) set /a line1= %x4% + %x5% + %x6% if /i %line1% equ 11 ( set guess=6 goto 1ac ) set /a line1= %x4% + %x5% + %x6% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %x4% + %x5% + %x6% if /i %line1% equ 110 ( set guess=4 goto 1ac ) set /a line1= %x7% + %x8% + %x9% if /i %line1% equ 11 ( set guess=9 goto 1ac ) set /a line1= %x7% + %x8% + %x9% if /i %line1% equ 101 ( set guess=8 goto 1ac ) set /a line1= %x7% + %x8% + %x9% if /i %line1% equ 110 ( set guess=7 goto 1ac ) set /a line1= %x1% + %x5% + %x9% if /i %line1% equ 11 ( set guess=9 goto 1ac ) set /a line1= %x1% + %x5% + %x9% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %x1% + %x5% + %x9% if /i %line1% equ 110 ( set guess=1 goto 1ac ) set /a line1= %x3% + %x5% + %x7% if /i %line1% equ 11 ( set guess=3 goto 1ac ) set /a line1= %x3% + %x5% + %x7% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %x3% + %x5% + %x7% if /i %line1% equ 110 ( set guess=7 goto 1ac ) set /a line1= %x1% + %x4% + %x7% if /i %line1% equ 2 ( if /i %d1% equ 1 ( set guess=1 goto 1ac ) if /i %d4% equ 4 ( set guess=4 goto 1ac ) if /i %d7% equ 7 ( set guess=7 goto 1ac ) ) set /a line1= %x2% + %x5% + %x8% if /i %line1% equ 20 ( if /i %d2% equ 2 ( set guess=2 goto 1ac ) if /i %d5% equ 5 ( set guess=5 goto 1ac ) if /i %d8% equ 8 ( set guess=8 goto 1ac ) ) set /a line1= %x3% + %x6% + %x9% if /i %line1% equ 200 ( if /i %d3% equ 3 ( set guess=3 goto 1ac ) if /i %d6% equ 6 ( set guess=6 goto 1ac ) if /i %d9% equ 9 ( set guess=9 goto 1ac ) ) ::~ ^^^ These sections add up all the %x-% grid and checks to see if there is a way the computer can win this turn. ::~ If so, it sets the guess to the correct number and 'goto's the 1ac section. set /a line1= %o1% + %o2% + %o3% if /i %line1% equ 11 ( set guess=3 goto 1ac ) set /a line1= %o1% + %o2% + %o3% if /i %line1% equ 101 ( set guess=2 goto 1ac ) set /a line1= %o1% + %o2% + %o3% if /i %line1% equ 110 ( set guess=1 goto 1ac ) set /a line1= %o4% + %o5% + %o6% if /i %line1% equ 11 ( set guess=6 goto 1ac ) set /a line1= %o4% + %o5% + %o6% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %o4% + %o5% + %o6% if /i %line1% equ 110 ( set guess=4 goto 1ac ) set /a line1= %o7% + %o8% + %o9% if /i %line1% equ 11 ( set guess=9 goto 1ac ) set /a line1= %o7% + %o8% + %o9% if /i %line1% equ 101 ( set guess=8 goto 1ac ) set /a line1= %o7% + %o8% + %o9% if /i %line1% equ 110 ( set guess=7 goto 1ac ) set /a line1= %o1% + %o5% + %o9% if /i %line1% equ 11 ( set guess=9 goto 1ac ) set /a line1= %o1% + %o5% + %o9% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %o1% + %o5% + %o9% if /i %line1% equ 110 ( set guess=1 goto 1ac ) set /a line1= %o3% + %o5% + %o7% if /i %line1% equ 11 ( set guess=3 goto 1ac ) set /a line1= %o3% + %o5% + %o7% if /i %line1% equ 101 ( set guess=5 goto 1ac ) set /a line1= %o3% + %o5% + %o7% if /i %line1% equ 110 ( set guess=7 goto 1ac ) set /a line1= %o1% + %o4% + %o7% if /i %line1% equ 2 ( if /i %d1% equ 1 ( set guess=1 goto 1ac ) if /i %d4% equ 4 ( set guess=4 goto 1ac ) if /i %d7% equ 7 ( set guess=7 goto 1ac ) ) set /a line1= %o2% + %o5% + %o8% if /i %line1% equ 20 ( if /i %d2% equ 2 ( set guess=2 goto 1ac ) if /i %d5% equ 5 ( set guess=5 goto 1ac ) if /i %d8% equ 8 ( set guess=8 goto 1ac ) ) set /a line1= %o3% + %o6% + %o9% if /i %line1% equ 200 ( if /i %d3% equ 3 ( set guess=3 goto 1ac ) if /i %d6% equ 6 ( set guess=6 goto 1ac ) if /i %d9% equ 9 ( set guess=9 goto 1ac ) ) ::~ This section checks that there is no way the noughts can win next turn by adding up the %o-% grid. If so it sets the guess to the right number and 'goto's 1ac. set guess=%time:~9,1% ::~ If there is no way that the computer OR the player can win next turn, the computer chooses a random number as its guess. The random number I use is the millisecond digit of the clock. :1ac if /i %guess% equ 0 goto 1display echo !d%guess%! if /i NOT !d%guess%!==%guess% goto 1display goto 1x%guess% ::~ Checks that the place hasn't already been taken (as explained above) and 'goto's the corresponding place below. :1x1 set x1=1 set o1=1000 set d1=X goto 1xprocess :1x2 set x2=10 set o2=1000 set d2=X goto 1xprocess :1x3 set x3=100 set o3=1000 set d3=X goto 1xprocess :1x4 set x4=1 set o4=1000 set d4=X goto 1xprocess :1x5 set x5=10 set o5=1000 set d5=X goto 1xprocess :1x6 set x6=100 set o6=1000 set d6=X goto 1xprocess :1x7 set x7=1 set o7=1000 set d7=X goto 1xprocess :1x8 set x8=10 set o8=1000 set d8=X goto 1xprocess :1x9 set x9=100 set o9=1000 set d9=X goto 1xprocess ::~ This section, as for the noughts, changes the display character of the chosen place, and adds numbers to the %x-% grid. :1xprocess set /a line1= %x1% + %x2% + %x3% if /i %line1% equ 111 (goto xwin) set /a line2= %x4% + %x5% + %x6% if /i %line2% equ 111 (goto xwin) set /a line3= %x7% + %x8% + %x9% if /i %line3% equ 111 (goto xwin) set /a line4= %x1% + %x5% + %x9% if /i %line4% equ 111 (goto xwin) set /a line5= %x3% + %x5% + %x7% if /i %line5% equ 111 (goto xwin) set /a line6= %x1% + %x4% + %x7% if /i %line6% equ 3 (goto xwin) set /a line7= %x2% + %x5% + %x8% if /i %line7% equ 30 (goto xwin) set /a line8= %x3% + %x6% + %x9% if /i %line8% equ 300 (goto xwin) set go=1ogame set /a turns= %turns% + 1 goto 1display ::~ Sets the turn to the player, increases the turns variable by one. 'Goto's the display. ::####################################################### ::~ Two player is exactly the same as one player, apart from the computer is replaced by a second player, the code is otherwise identical and does not need explaining again. :2p set turns=0 set x1=0 set x2=0 set x3=0 set x4=0 set x5=0 set x6=0 set x7=0 set x8=0 set x9=0 set o1=0 set o2=0 set o3=0 set o4=0 set o5=0 set o6=0 set o7=0 set o8=0 set o9=0 set d1=1 set d2=2 set d3=3 set d4=4 set d5=5 set d6=6 set d7=7 set d8=8 set d9=9 set rnumber=%random% set rnumber2=rnumber set /a rnumber= %rnumber% / 2 set /a rnumber= %rnumber% * 2 if %rnumber%==%rnumber2% ( echo Crosses go first pause>nul set rnumber= set rnumber2= set go=2xgame goto 2display ) else ( echo Noughts go first pause>nul set rnumber= set rnumber2= set go=2ogame goto 2display ) :2display cls echo %d1% %d2% %d3% echo %d4% %d5% %d6% echo %d7% %d8% %d9% if /i %turns% equ 9 (goto draw) echo. if /i "%go%"=="2ogame" ( echo Nought's Turn ) ELSE ( echo Cross's Turn ) echo. goto %go% :2ogame echo Choose the number of the space you'd like to choose set guess= set /p guess= if not defined guess goto 2display set guess=%guess:~0,1% if /i not %guess% leq 9 goto 2display if /i not %guess% gtr 0 goto 2display if /i !d%guess%! neq %guess% goto 2display goto 2o%guess% :2o1 set o1=1 set d1=O goto 2oprocess :2o2 set o2=10 set d2=O goto 2oprocess :2o3 set o3=100 set d3=O goto 2oprocess :2o4 set o4=1 set d4=O goto 2oprocess :2o5 set o5=10 set d5=O goto 2oprocess :2o6 set o6=100 set d6=O goto 2oprocess :2o7 set o7=1 set d7=O goto 2oprocess :2o8 set o8=10 set d8=O goto 2oprocess :2o9 set o9=100 set d9=O goto 2oprocess :2oprocess set /a line1= %o1% + %o2% + %o3% if /i %line1% equ 111 (goto owin) set /a line2= %o4% + %o5% + %o6% if /i %line2% equ 111 (goto owin) set /a line3= %o7% + %o8% + %o9% if /i %line3% equ 111 (goto owin) set /a line4= %o1% + %o5% + %o9% if /i %line4% equ 111 (goto owin) set /a line5= %o3% + %o5% + %o7% if /i %line5% equ 111 (goto owin) set /a line6= %o1% + %o4% + %o7% if /i %line6% equ 3 (goto owin) set /a line7= %o2% + %o5% + %o8% if /i %line7% equ 30 (goto owin) set /a line8= %o3% + %o6% + %o9% if /i %line8% equ 300 (goto owin) set go=2xgame set guess= set /a turns= %turns% + 1 goto 2display :2xgame echo Choose the number of the space you'd like to choose set guess= set /p guess= if not defined guess goto 2display set guess=%guess:~0,1% if /i not %guess% leq 9 goto 2display if /i not %guess% gtr 0 goto 2display if /i !d%guess%! neq %guess% goto 2display goto 2x%guess% :2x1 set x1=1 set d1=X goto 2xprocess :2x2 set x2=10 set d2=X goto 2xprocess :2x3 set x3=100 set d3=X goto 2xprocess :2x4 set x4=1 set d4=X goto 2xprocess :2x5 set x5=10 set d5=X goto 2xprocess :2x6 set x6=100 set d6=X goto 2xprocess :2x7 set x7=1 set d7=X goto 2xprocess :2x8 set x8=10 set d8=X goto 2xprocess :2x9 set x9=100 set d9=X goto 2xprocess :2xprocess set /a line1= %x1% + %x2% + %x3% if /i %line1% equ 111 (goto xwin) set /a line2= %x4% + %x5% + %x6% if /i %line2% equ 111 (goto xwin) set /a line3= %x7% + %x8% + %x9% if /i %line3% equ 111 (goto xwin) set /a line4= %x1% + %x5% + %x9% if /i %line4% equ 111 (goto xwin) set /a line5= %x3% + %x5% + %x7% if /i %line5% equ 111 (goto xwin) set /a line6= %x1% + %x4% + %x7% if /i %line6% equ 3 (goto xwin) set /a line7= %x2% + %x5% + %x8% if /i %line7% equ 30 (goto xwin) set /a line8= %x3% + %x6% + %x9% if /i %line8% equ 300 (goto xwin) set go=2ogame set /a turns= %turns% + 1 goto 2display :draw echo. Echo It's A Draw! pause>nul goto menu :owin cls echo %d1% %d2% %d3% echo %d4% %d5% %d6% echo %d7% %d8% %d9% Echo Noughts Win! pause>nul goto menu :xwin cls echo %d1% %d2% %d3% echo %d4% %d5% %d6% echo %d7% %d8% %d9% Echo Crosses Win! Pause>nul goto menu :end set d1= set d2= set d3= set d4= set d5= set d6= set d7= set d8= set d9= set o1= set o2= set o3= set o4= set o5= set o6= set o7= set o8= set o9= set x1= set x2= set x3= set x4= set x5= set x6= set x7= set x8= set x9= set guess= set turns= set line1= set line2= set line3= set line4= set line5= set line6= set line7= set line8=
৩. এবার সেভ করুন । নাম দিন game.bat । ( অবশ্যই all files দিবেন)
৪. এবার মজা করে খেলুন।
ঝামেলা না করতে চাইলে download করে নিন
ধন্যবাদ।
আমি Cadet_Saimum। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 11 বছর 3 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 43 টি টিউন ও 209 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
thanks