I am looking for advice as to the best way to check my noughts and crosses game for the winner. Any help would be greatly appreciated.
The code for the game is below.
local composer = require( "composer" ) local scene = composer.newScene() d = display w20 = d.contentWidth \* .2 h20 = d.contentHeight \* .2 w40 = d.contentWidth \* .4 h40 = d.contentHeight \* .4 w60 = d.contentWidth \* .6 h60 = d.contentHeight \* .6 w80 = d.contentWidth \* .8 h80 = d.contentHeight \* .8 ----DRAW LINES FOR BOARD local lline = d.newLine(w40,h20,w40,h80 ) lline.strokeWidth = 5 local rline = d.newLine(w60,h20,w60,h80 ) rline.strokeWidth = 5 local bline = d.newLine(w20,h40,w80,h40 ) bline.strokeWidth = 5 local tline = d.newLine(w20,h60,w80,h60 ) tline.strokeWidth = 5 --PLACE BOARD COMPARTMENT DIMENSIONS IN TABLE board ={ {"tl",1,w20,h40,w40,h20,0}, {"tm",2,w40,h40,w60,h20,0}, {"tr",3,w60,h40,w80,h20,0}, {"ml",4,w20,h60,w40,h40,0}, {"mm",5,w40,h60,w60,h40,0}, {"mr",6,w60,h60,w80,h40,0}, {"bl",7,w20,h80,w40,h60,0}, {"bm",8,w40,h80,w60,h60,0}, {"br",9,w60,h80,w80,h60,0} } -- local EMPTY, X, O = 0, 1, 2 local whichTurn = 0 --FILL COMPARTMENT W/ COLOUR WHEN TOUCHED local function fill(event) if (event.phase == "ended") then for t = 1,9 do if event.x \> board[t][3] and event.x \< board[t][5] then if event.y \< board[t][4] and event.y \> board[t][6] then if board[t][7] == EMPTY then if whichTurn == 1 then whichTurn = 2 else whichTurn = 1 end board[t][7] = whichTurn if board[t][7] == 1 then local xText = display.newText("X", board[t][3], board[t][4], "Arial", 80) xText.anchorX = 0 xText.anchorY = 100 elseif board[t][7] == 2 then local oText = display.newText("O", board[t][3], board[t][4], "Arial", 80) oText.anchorX = 0 oText.anchorY = 100 end end end end end end end Runtime:addEventListener ("touch", fill) return scene