Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
271
Task/Tic-tac-toe/BASIC256/tic-tac-toe.basic
Normal file
271
Task/Tic-tac-toe/BASIC256/tic-tac-toe.basic
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
# basado en código de Antonio Rodrigo dos Santos Silva (gracias):
|
||||
# http://statusgear.freeforums.net/thread/17/basic-256-tic-tac-toe
|
||||
|
||||
global playerturn$
|
||||
global endGame$
|
||||
global space$
|
||||
global player1Score$
|
||||
global player2Score$
|
||||
global invalidMove$
|
||||
global tecla$
|
||||
global keyQ$
|
||||
global keyW$
|
||||
global keyE$
|
||||
global keyA$
|
||||
global keyS$
|
||||
global keyD$
|
||||
global keyZ$
|
||||
global keyX$
|
||||
global keyC$
|
||||
global keySpace$
|
||||
global keyEsc$
|
||||
|
||||
keyQ$ = 81
|
||||
keyW$ = 87
|
||||
keyE$ = 69
|
||||
keyA$ = 65
|
||||
keyS$ = 83
|
||||
keyD$ = 68
|
||||
keyZ$ = 90
|
||||
keyX$ = 88
|
||||
keyC$ = 67
|
||||
keySpace$ = 32
|
||||
keyEsc$ = 16777216
|
||||
|
||||
dim space$(9)
|
||||
|
||||
|
||||
subroutine clearGameVars()
|
||||
playerturn$ = 1
|
||||
invalidMove$ = 0
|
||||
endGame$ = 0
|
||||
tecla$ = 0
|
||||
|
||||
for t = 0 to space$[?]-1
|
||||
space$[t] = 0
|
||||
next t
|
||||
end subroutine
|
||||
|
||||
subroutine endGame()
|
||||
cls
|
||||
print "¡Hasta pronto!..."
|
||||
end
|
||||
end subroutine
|
||||
|
||||
subroutine printBoard()
|
||||
print " " + space$[0]+" | "+space$[1]+" | "+space$[2]
|
||||
print " " + "— + — + —"
|
||||
print " " + space$[3]+" | "+space$[4]+" | "+space$[5]
|
||||
print " " + "— + — + —"
|
||||
print " " + space$[6]+" | "+space$[7]+" | "+space$[8]
|
||||
print ""
|
||||
end subroutine
|
||||
|
||||
subroutine changePlayer()
|
||||
if playerturn$ = 1 then
|
||||
playerturn$ = 2
|
||||
else
|
||||
playerturn$ = 1
|
||||
end if
|
||||
end subroutine
|
||||
|
||||
subroutine endMatchWithWinner()
|
||||
cls
|
||||
call printPlayerScore()
|
||||
call printBoard()
|
||||
endGame$ = 1
|
||||
|
||||
if playerturn$ = 1 then
|
||||
player1Score$ += 1
|
||||
else
|
||||
player2Score$ += 1
|
||||
end if
|
||||
|
||||
print "¡Jugador " + playerturn$ + " gana!" + chr(10)
|
||||
print "Pulsa [SPACE] para jugar otra partida"
|
||||
print "Pulsa [ESC] para dejar de jugar"
|
||||
do
|
||||
tecla$ = key
|
||||
pause .01
|
||||
if tecla$ = keySpace$ then call gamePlay()
|
||||
if tecla$ = keyEsc$ then call endGame()
|
||||
until false
|
||||
end subroutine
|
||||
|
||||
subroutine endMatchWithoutWinner()
|
||||
cls
|
||||
call printPlayerScore()
|
||||
call printBoard()
|
||||
endGame$ = 1
|
||||
|
||||
print " Nadie ganó :( " + chr(10)
|
||||
print " Pulsa [SPACE] para comenzar o [ESC] para salir. "
|
||||
do
|
||||
tecla$ = key
|
||||
pause .01
|
||||
if tecla$ = keySpace$ then call gamePlay()
|
||||
if tecla$ = keyEsc$ then call endGame()
|
||||
until false
|
||||
end subroutine
|
||||
|
||||
subroutine printPlayerScore()
|
||||
print "--------------------------------------------"
|
||||
print " Jugador #1: " + player1Score$ + " pts"
|
||||
print " Jugador #2: " + player2Score$ + " pts"
|
||||
print "--------------------------------------------" + chr(10)
|
||||
end subroutine
|
||||
|
||||
|
||||
subroutine printPlayerMessage()
|
||||
print "Jugador: " + playerturn$ + ", elige una casilla, por favor."
|
||||
end subroutine
|
||||
|
||||
subroutine gamePlay()
|
||||
call clearGameVars()
|
||||
cls
|
||||
call printPlayerScore()
|
||||
call printBoard()
|
||||
call printPlayerMessage()
|
||||
while 0 = 0
|
||||
invalidMove$ = 0
|
||||
|
||||
if endGame$ = 0 then
|
||||
do
|
||||
tecla$ = key
|
||||
pause .01
|
||||
validKeypressed$ = 0
|
||||
if tecla$ = keyQ$ or tecla$ = keyW$ or tecla$ = keyE$ or tecla$ = keyA$ or tecla$ = keyS$ or tecla$ = keyD$ or tecla$ = keyZ$ or tecla$ = keyX$ or tecla$ = keyC$ then validKeypressed$ = 1
|
||||
until validKeypressed$ = 1
|
||||
endif
|
||||
|
||||
if tecla$ = keyQ$ then
|
||||
if space$[0] = 0 then
|
||||
space$[0] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyW$ then
|
||||
if space$[1] = 0 then
|
||||
space$[1] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyE$ then
|
||||
if space$[2] = 0 then
|
||||
space$[2] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyA$ then
|
||||
if space$[3] = 0 then
|
||||
space$[3] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyS$ then
|
||||
if space$[4] = 0 then
|
||||
space$[4] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyD$ then
|
||||
if space$[5] = 0 then
|
||||
space$[5] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyZ$ then
|
||||
if space$[6] = 0 then
|
||||
space$[6] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyX$ then
|
||||
if space$[7] = 0 then
|
||||
space$[7] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if tecla$ = keyC$ then
|
||||
if space$[8] = 0 then
|
||||
space$[8] = playerturn$
|
||||
else
|
||||
invalidMove$ = 1
|
||||
endif
|
||||
endif
|
||||
|
||||
if invalidMove$ = 0 then
|
||||
tecla$ = 0
|
||||
|
||||
if space$[0] = 1 and space$[1] = 1 and space$[2] = 1 then call endMatchWithWinner()
|
||||
if space$[3] = 1 and space$[4] = 1 and space$[5] = 1 then call endMatchWithWinner()
|
||||
if space$[6] = 1 and space$[7] = 1 and space$[8] = 1 then call endMatchWithWinner()
|
||||
if space$[0] = 1 and space$[3] = 1 and space$[6] = 1 then call endMatchWithWinner()
|
||||
if space$[1] = 1 and space$[4] = 1 and space$[7] = 1 then call endMatchWithWinner()
|
||||
if space$[2] = 1 and space$[5] = 1 and space$[8] = 1 then call endMatchWithWinner()
|
||||
if space$[0] = 1 and space$[4] = 1 and space$[8] = 1 then call endMatchWithWinner()
|
||||
if space$[2] = 1 and space$[4] = 1 and space$[6] = 1 then call endMatchWithWinner()
|
||||
if space$[0] = 2 and space$[1] = 2 and space$[2] = 2 then call endMatchWithWinner()
|
||||
if space$[3] = 2 and space$[4] = 2 and space$[5] = 2 then call endMatchWithWinner()
|
||||
if space$[6] = 2 and space$[7] = 2 and space$[8] = 2 then call endMatchWithWinner()
|
||||
if space$[0] = 2 and space$[3] = 2 and space$[6] = 2 then call endMatchWithWinner()
|
||||
if space$[1] = 2 and space$[4] = 2 and space$[7] = 2 then call endMatchWithWinner()
|
||||
if space$[2] = 2 and space$[5] = 2 and space$[8] = 2 then call endMatchWithWinner()
|
||||
if space$[0] = 2 and space$[4] = 2 and space$[8] = 2 then call endMatchWithWinner()
|
||||
if space$[2] = 2 and space$[4] = 2 and space$[6] = 2 then call endMatchWithWinner()
|
||||
|
||||
if space$[0] <> 0 and space$[1] <> 0 and space$[2] <> 0 and space$[3] <> 0 and space$[4] <> 0 and space$[5] <> 0 and space$[6] <> 0 and space$[7] <> 0 and space$[8] <> 0 then call endMatchWithoutWinner()
|
||||
|
||||
call changePlayer()
|
||||
cls
|
||||
call printPlayerScore()
|
||||
call printBoard()
|
||||
call printPlayerMessage()
|
||||
end if
|
||||
|
||||
end while
|
||||
end subroutine
|
||||
|
||||
subroutine gameMenu()
|
||||
cls
|
||||
call clearGameVars()
|
||||
|
||||
player1Score$ = 0
|
||||
player2Score$ = 0
|
||||
|
||||
print "================================================="
|
||||
print "| TIC-TAC-TOE |"
|
||||
print "=================================================" + chr(10)
|
||||
print " Teclas para jugar:"
|
||||
print "---------------------"
|
||||
print " | q | w | e |"
|
||||
print " | a | s | d |"
|
||||
print " | z | x | c |" + chr(10)
|
||||
print " Pulsa [SPACE] para comenzar o [ESC] para salir. "
|
||||
|
||||
do
|
||||
tecla$ = key
|
||||
pause .01
|
||||
if tecla$ = keySpace$ then call gamePlay()
|
||||
if tecla$ = keyEsc$ then call endGame()
|
||||
until false
|
||||
end subroutine
|
||||
|
||||
call gameMenu()
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue