```
local composer = require( "composer" )
local scene = composer.newScene()
-- -----------------------------------------------------------------------------------
-- Code outside of the scene event functions below will only be executed ONCE unless
-- the scene is removed entirely (not recycled) via "composer.removeScene()"
-- -----------------------------------------------------------------------------------
local backgroundImage
local gridSqure
local optionsNotes =
{
text = "O",
x = display.contentCenterX,
y = display.contentCenterY,
width = 200,
font = native.systemFont,
fontSize = 180,
align = "center" -- Alignment parameter
}
local optionsCrosses =
{
text = "X",
x = display.contentCenterX,
y = display.contentCenterY,
width = 200,
font = native.systemFont,
fontSize = 180,
align = "center"
}
-- -----------------------------------------------------------------------------------
-- Scene event functions
-- -----------------------------------------------------------------------------------
-- create()
function scene:create( event )
local sceneGroup = self.view
-- Code here runs when the scene is first created but has not yet appeared on screen
--[[
local myText = display.newText( options )
myText:setFillColor( 1, 0, 0 )
--]]
backgroundImage = display.newImageRect("images-tictactoe/background-orange.jpg", 768, 1024)
backgroundImage.x = display.contentCenterX
backgroundImage.y = display.contentCenterY
local charNotes = display.newText( optionsNotes )
charNotes:setFillColor( 1, 0, 0 )
charNotes.isVisible = false
local charCrosses = display.newText( optionsCrosses )
charCrosses:setFillColor( 0, 0, 1 )
charCrosses.isVisible = false
end
-- show()
function scene:show( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == "will" ) then
-- Code here runs when the scene is still off screen (but is about to come on screen)
-- Starting box coordinates (top left box 1)
local xPos = display.contentCenterX - 100
local yPos = display.contentCenterY - 100
local function drawSquare(xPosIn, yPosIn)
print("sqaure")
gridSqure = display.newRect( xPosIn, yPosIn, 100, 100)
gridSqure.strokeWidth = 3
gridSqure:setStrokeColor( 0, 0, 0)
end
local function drawRow(xPosIn, yPosIn)
print("drawRow()")
local numCols = 3
local xPos = xPosIn
local yPos = yPosIn
for count=1, numCols, 1 do
print("for loop")
drawSquare(xPos, yPos)
xPos = xPos + 100
end
end
local function drawGrid(xPosIn, yPosIn)
print("drawGrid()")
local numRows = 3
local xPos = xPosIn
local yPos = yPosIn
for count=1, numRows, 1 do
print("for loop rows")
drawRow(xPos, yPos)
yPos = yPos + 100
end
end
drawGrid(xPos, yPos)
elseif ( phase == "did" ) then
-- Code here runs when the scene is entirely on screen
end
end
-- hide()
function scene:hide( event )
local sceneGroup = self.view
local phase = event.phase
if ( phase == "will" ) then
-- Code here runs when the scene is on screen (but is about to go off screen)
elseif ( phase == "did" ) then
-- Code here runs immediately after the scene goes entirely off screen
end
end
-- destroy()
function scene:destroy( event )
local sceneGroup = self.view
-- Code here runs prior to the removal of scene's view
end
-- -----------------------------------------------------------------------------------
-- Scene event function listeners
-- -----------------------------------------------------------------------------------
scene:addEventListener( "create", scene )
scene:addEventListener( "show", scene )
scene:addEventListener( "hide", scene )
scene:addEventListener( "destroy", scene )
-- -----------------------------------------------------------------------------------
return scene
```