123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- local code = [[--TIC-TAC-TOE DEMO GAME BY RAMILEGO4GAME--
- local grid, xo ,win
- local xturn = false
- local function buildxo() xo = {}
- for x=1,3 do xo[x] = {} for y=1,3 do
- xo[x][y] = 0
- end end
- end
- local function drawTurn()
- local x,y,sprid
- x = 192/2 - 3*8
- y = (128-8*2)-4
- sprid = xturn and 59 or 35
- if win then sprid = win == 3 and 6 or 11 end
- SpriteGroup(sprid,x,y,3,1,2,2)
- end
- local function drawWin()
- if not win or win == 3 then return end
- local x,y,sprid
- x = 192/2 - 7*8
- y = (128-8*2)-4
- sprid = win==1 and 52 or 28
- SpriteGroup(sprid,x,y,7,1,2,2)
- end
- local function calcWin()
- local w = 0 --The winner
- for x=1,3 do --Vertical Scanning
- if xo[x][1] == xo[x][2] and xo[x][2] == xo[
- x][3] then
- return xo[x][1]
- end
- end
- for y=1,3 do --Horizental Scanning
- if xo[1][y] == xo[2][y] and xo[2][y] == xo[
- 3][y] then
- return xo[1][y]
- end
- end
- --Diagnostick Scanning
- if xo[1][1] == xo[2][2] and xo[2][2] == xo[
- 3][3] then
- return xo[1][1]
- elseif xo[3][1] == xo[2][2] and xo[2][2] ==
- xo[1][3] then
- return xo[3][1]
- end
- --Check if the grid is all filled
- for x=1,3 do
- for y=1,3 do
- if xo[x][y] == 0 then return 0 end
- end
- end
- return 3 --DRAW
- end
- function _startup()
- clear(7) win = false buildxo()
- xturn = not xturn
- local x,y
- x = 192/2-(3*8*4)/2
- y = 128/2-(3*8*4)/2-10
- grid = {x,y,3*8*4,3*8*4,3,3}
- SpriteGroup(1,x,y,3,3,4,4)
- drawTurn()
- end
- function _mpress(x,y)
- if win then
- _startup()
- return
- end
- local cx,cy = whereInGrid(x,y,grid)
- if cx then
- if xo[cx][cy] > 0 then return end
- local cx,cy = cx-1, cy-1
- local x,y
- x=grid[1]+cx*8*4
- y=grid[2]+cy*8*4
- Sprite(xturn and 4 or 5,x,y,0,4,4)
- xo[cx+1][cy+1]= xturn and 1 or 2
- local w = calcWin()
- if w > 0 then win = w end
- xturn = not xturn drawTurn() drawWin()
- end
- end
- ]]
- local spritemap = 'iVBORw0KGgoAAAANSUhEUgAAAMAAAABgBAMAAAC57mDaAAAAFVBMVEUAAABgWE/Dw8ZRptztG1H6ohv37C8rpz+jAAAAAXRSTlMAQObYZgAAAUlJREFUeJztllFugzAMhl2RA4wrOOwdJRdAKCeIRG/Q+19hjl021NFqJWFP/6eaVFGVL84PqHTpv/mgO7zh1dyf6OWz1ikC2fZlLRo7IjfR9cYLL3nJOX+2FXQj0eToduV850RB6aG54OeIbP9LPi3khU1Q30G/4dViTQV7tDmilJ4LUqoP2ZV7KDmSclJi03GiRG5gnoc0DFJzncC5sqxei8BmTCAKpUUHSXe+CtJGMNcKyNmy1kEqApmiwx08hmwJaCcq0DwmchqypfCm4PTb9D+fA3kTjc9+55lDk5ddF7U6qUik40iROg6effReKhwXyFqyZCm9FoFI9Qt7aSB4pU5gHUTd+SqIG0GoEZQjos6WtQ5iEcgUlSM61MFjyJaAjNEEmoc0piEHTeE9wd7flj0O36YAAAAAAAAAAAAAAAAAAAAAgF98ATkwWr0+7k9uAAAAAElFTkSuQmCC'
- return {code=code,spritemap=spritemap}
|