Skip to content

Instantly share code, notes, and snippets.

@tariqkhatib
Created October 26, 2014 05:41
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save tariqkhatib/af28fbc780f8823a0c54 to your computer and use it in GitHub Desktop.
Save tariqkhatib/af28fbc780f8823a0c54 to your computer and use it in GitHub Desktop.
Ten to hundred lines of code to make a very small paint game for kids
currColor = "white"
local function save( )
display.save( allGroup, "group.jpg" )
end
local function loadVars(theSize)
math.randomseed( os.time( ) )
allGroup = display.newGroup()
rectangles = {}
currW = theSize
currX = -currW
currY = currW/2
noOFRects = ((display.contentWidth/currW) * (display.contentHeight/currW)) + (display.contentWidth*3/currW)
R = 0
G = 0
B = 0
end
local function paintMe(event)
while R == 0 or R == 1 do
R = math.random( )
end
while G == 0 or G == 1 do
G = math.random( )
end
while B == 0 or B == 1 do
B = math.random( )
end
event.target:setFillColor( R,G,B )
R = 0
G = 0
B = 0
end
local function loadrectangles()
for i=1,noOFRects do
currX = currX + currW
if currX >= display.contentWidth + currW then
currX = -currW
currY = currY + currW
end
rectangles[i] = display.newRect( currX, currY, currW,currW )
if currColor == "white" then
rectangles[i]:setFillColor( 1,1,1 )
else
rectangles[i]:setFillColor( 0,0,0 )
end
allGroup:insert( rectangles[i] )
rectangles[i]:addEventListener("touch",paintMe)
end
resetR1:toFront( )
resetR2:toFront( )
resetR3:toFront( )
resetR4:toFront( )
resetR5:toFront( )
end
local function clearMe()
currColor = "black"
resetR1:setFillColor( 0,0,0 )
for i=1,noOFRects do
rectangles[i]:setFillColor( 0,0,0 )
end
end
local function clearMe2()
currColor = "white"
for i=1,noOFRects do
rectangles[i]:setFillColor( 1,1,1 )
end
end
local function removeAll()
for i=1,noOFRects do
display.remove(rectangles[i])
rectangles[i] = nil
end
end
local function small()
removeAll()
loadVars (5)
loadrectangles()
end
local function medium()
removeAll()
loadVars (10)
loadrectangles()
end
local function large()
removeAll()
loadVars (15)
loadrectangles()
end
loadVars (10)
resetR1 = display.newRoundedRect( 30, 50, 50, 50, 12 )
resetR1:setFillColor( 0,0,0 )
resetR1:setStrokeColor ( 0,0,1 )
resetR1.strokeWidth = 1
resetR1:addEventListener( "tap", clearMe )
resetR2 = display.newRoundedRect( display.contentWidth - 30, 50, 50, 50, 12 )
resetR2:setFillColor( 1,1,1 )
resetR2:setStrokeColor ( 0,0,1 )
resetR2.strokeWidth = 1
resetR2:addEventListener( "tap", clearMe2 )
resetR3 = display.newRoundedRect( 30, display.contentHeight - 150, 30, 30, 12 )
resetR3:setFillColor( 0,1,0 )
resetR3:setStrokeColor ( 0,1,0 )
resetR3.strokeWidth = 1
resetR3:addEventListener( "tap", small )
resetR4 = display.newRoundedRect( 30, display.contentHeight - 110, 40, 40, 12 )
resetR4:setFillColor( 0,1,0 )
resetR4:setStrokeColor ( 0,1,0 )
resetR4.strokeWidth = 1
resetR4:addEventListener( "tap", medium )
resetR5 = display.newRoundedRect( 30, display.contentHeight - 60, 50, 50, 12 )
resetR5:setFillColor( 0,1,0 )
resetR5:setStrokeColor ( 0,1,0 )
resetR5.strokeWidth = 1
resetR5:addEventListener( "tap", large )
loadrectangles()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment