Pony Games for Girls: Pony Jigsaw Puzzles for Kids and Toddlers [free] [game]

I am very excited to announce Scott Adelman Apps Inc’s 19th app - Pony Games for Girls: Pony Jigsaw Puzzles for Kids and Toddlers who Love Little Horses and Princess Unicorn Ponies!  Screen shots, information, and links below:

screen480x480.jpeg

screen480x480.jpeg

screen480x480.jpeg

screen480x480.jpeg

screen480x480.jpeg

Do your girls love little ponies, cute horses, and cool unicorns? Do they love fairy tales and puzzles too? Look no further. Pony Games for Girls: Pony Jigsaw Puzzles for Kids and Toddlers who Love Little Horses and Princess Unicorn Ponies for Free is a fun animated puzzle game for toddlers, preschoolers, and girls from ages 1 to 6.

The app includes twelve different kid and toddler friendly, jigsaw-style puzzles with options to change the number of pieces and remove other helpers. The puzzles start off easy to play and can be made more challenging- perfect for the little one in your life who loves a little pony, cool unicorns, and fun horses!

The puzzles come to life once complete with scenes including fairy tale castles, my pony princesses, and cute flying unicorns!

This high quality pony game puzzle app features virtual jigsaw pieces for learning shape recognition and matching- great for educational purposes or just for fun! Good for one of your child’s first puzzle games.

Features:

* Fun, cool, and creative graphics by illustrator Tim Demeter.

* 12 different of my fun little princess pony puzzles to choose from in this game!

* Fun interactive stars and bubbles to pop, animated ponies, and flying unicorns at the end of puzzles!

* Choose your own difficulty! Increase the number of pieces from 9 up to 24 as your child’s fine motor and spatial skills improve!

* Easy for kids to use and control.

Available for:

iPad, iPhone, iPod Touch

Google Play

Amazon Kindle Fire HD

Nook

could you explain how you made this app?

Hi jonathonm93,

That is a pretty big questions.  Is there a certain aspect you are wondering about?

Scott

did yours have a start button, or does your start automatically. because i can not get mine to start at all it only shows the main screen and nothing else, so i dont know if mine would work if it starts automatically or not

i got my game to work with some help but i would like to know how you got your game to go to the next jigsaw puzzle after you have completed the previous puzzle. and my puzzle pieces are disipear when i drag them to the board but they appear when they are put in the correct spot. it is like they disipear or vanish but they are still there behind the board.

local widget = require(“widget”)

local storyboard = require( “storyboard” )

local scene = storyboard.newScene()

_W = display.contentWidth

_H = display.contentHeight

puzzlePiecesCompleted = 0

totalPuzzlePieces = 9

puzzlePieceWidth = 120

puzzlePieceHeight = 120

puzzlePieceStartingY = {

80,220,360,500,640,780,920,1060,1200 }

puzzlePieceSlideUp = 140

puzzleWidth, puzzleHeight = 320, 320

puzzlePieces = {}

puzzlePieceCheckpoint = {

{x=-243,y=76},

{x=-160, y=76},

{x=-76, y=74},

{x=-243,y=177},

{x=-143, y=157},

{x=-57, y=147},

{x=-261,y=258},

{x=-176,y=250},

{x=-74,y=248}

}

puzzlePieceFinalPosition = {

{x=77,y=75},

{x=160, y=75},

{x=244, y=75},

{x=77,y=175},

{x=179, y=158},

{x=265, y=144},

{x=58,y=258},

{x=145,y=251},

{x=248,y=247}

}

playGameGroup = display.newGroup()

finishGameGroup = display.newGroup()

function shuffle(t)

local n = #t

while n > 2 do

local k = math.random(n)

t[n] = t[k]

t[k] = t[n]

n = n - 1

end

return t

end

local function onDrag(event)

local t = event.target

if event.phase == “began” then

t.xScale, t.yScale = 1.3, 1.3

t:toFront()

display.getCurrentStage():setFocus( t )

t.isFocus = true

xOrigin,yOrigin = t.x,t.y

t.x0 = event.x - t.x

t.y0 = event.y - t.y

elseif t.isFocus then

if “moved” == event.phase then

t.x = event.x - t.x0

t.y = event.y - t.y0

elseif “ended” == event.phase

or “cancelled” == event.phase then

display.getCurrentStage():setFocus( nil )

t.isFocus = false

if t.x <= puzzlePieceCheckpoint[t.id].x+30

and t.x >= puzzlePieceCheckpoint[t.id].x-30

and t.y <= puzzlePieceCheckpoint[t.id].y+30

and t.y >= puzzlePieceCheckpoint[t.id].y-30 then

puzzleGroup:insert(t)

t:toBack()

t.place = “moved”

t.x, t.y = puzzlePieceFinalPosition[t.id].x,

puzzlePieceFinalPosition[t.id].y

t:removeEventListener(“touch”,onDrag)

for i = 1, totalPuzzlePieces do

if puzzlePieces[i].place == “start”

and puzzlePieces[i].y > yOrigin then

puzzlePieces[i].y = puzzlePieces[i].y - puzzlePieceSlideUp

end

end

puzzlePiecesCompleted = puzzlePiecesCompleted+1

if puzzlePiecesCompleted == totalPuzzlePieces then

playGameGroup.isVisible = false

finishGameGroup.isVisible = true

end

else

t.xScale,t.yScale = 1,1

t.x, t.y = xOrigin, yOrigin

end

end

end

return true

end

function scene:createScene( event )

local group = self.view

puzzleGroup = display.newGroup()

woodBoard = display.newImageRect(“woodboard.png”, 480, 320)

woodBoard.x = 562

woodBoard.y = _H/2

woodBoard:toBack();

puzzleGroup:insert(woodBoard)

scrollView = widget.newScrollView

{

top=0,

left = _W - 160,

height=_H,

width = 160,

hideBackground = true,

scrollWidth = 50 ,

scrollHeight = 1000

}

local shufflePuzzleY = shuffle(puzzlePieceStartingY)

for i = 1, totalPuzzlePieces do

puzzlePieces[i] = display.newImageRect(i…".png", puzzlePieceWidth, puzzlePieceHeight)

puzzlePieces[i].x = 85

puzzlePieces[i].y = shufflePuzzleY[i]

puzzlePieces[i].id = i

puzzlePieces[i].place = “start”

puzzlePieces[i]:addEventListener(“touch”, onDrag)

scrollView:insert(puzzlePieces[i])

end

puzzleGroup:insert(scrollView)

playGameGroup:insert(puzzleGroup)

function returnToMenu(event)

if(event.phase == “ended”) then

storyboard.gotoScene(“menu”)

end

end

txt_gameComplete = display.newText(“Puzzle Complete”, 0,0,120,100,native.systemFont,22)

txt_gameComplete.x = 400

txt_gameComplete.y = _H/2 - 50

finishGameGroup:insert(txt_gameComplete)

txt_return = display.newText(“Return to Menu”, 0,0,120,100,native.systemFont,22)

txt_return.x, txt_return.y = 400, _H/2 + 50

txt_return:addEventListener(“touch”, returnToMenu)

finishGameGroup:insert(txt_return)

baseBG = display.newImageRect(“puzzle-base.png”, puzzleWidth, puzzleHeight)

baseBG.x, baseBG.y = 160, _H/2

finishGameGroup:insert(baseBG)

group:insert(finishGameGroup)

group:insert(playGameGroup)

finishGameGroup.isVisible = false

playGameGroup.isVisible = true

end

function scene:enterScene( event ) end

function scene:exitScene( event ) end

function scene:destroyScene( event ) end

scene:addEventListener( “createScene”, scene )

scene:addEventListener( “enterScene”, scene )

scene:addEventListener( “exitScene”, scene )

scene:addEventListener( “destroyScene”, scene )

return scene

so are you able to help?

could you explain how you made this app?

Hi jonathonm93,

That is a pretty big questions.  Is there a certain aspect you are wondering about?

Scott

did yours have a start button, or does your start automatically. because i can not get mine to start at all it only shows the main screen and nothing else, so i dont know if mine would work if it starts automatically or not

i got my game to work with some help but i would like to know how you got your game to go to the next jigsaw puzzle after you have completed the previous puzzle. and my puzzle pieces are disipear when i drag them to the board but they appear when they are put in the correct spot. it is like they disipear or vanish but they are still there behind the board.

local widget = require(“widget”)

local storyboard = require( “storyboard” )

local scene = storyboard.newScene()

_W = display.contentWidth

_H = display.contentHeight

puzzlePiecesCompleted = 0

totalPuzzlePieces = 9

puzzlePieceWidth = 120

puzzlePieceHeight = 120

puzzlePieceStartingY = {

80,220,360,500,640,780,920,1060,1200 }

puzzlePieceSlideUp = 140

puzzleWidth, puzzleHeight = 320, 320

puzzlePieces = {}

puzzlePieceCheckpoint = {

{x=-243,y=76},

{x=-160, y=76},

{x=-76, y=74},

{x=-243,y=177},

{x=-143, y=157},

{x=-57, y=147},

{x=-261,y=258},

{x=-176,y=250},

{x=-74,y=248}

}

puzzlePieceFinalPosition = {

{x=77,y=75},

{x=160, y=75},

{x=244, y=75},

{x=77,y=175},

{x=179, y=158},

{x=265, y=144},

{x=58,y=258},

{x=145,y=251},

{x=248,y=247}

}

playGameGroup = display.newGroup()

finishGameGroup = display.newGroup()

function shuffle(t)

local n = #t

while n > 2 do

local k = math.random(n)

t[n] = t[k]

t[k] = t[n]

n = n - 1

end

return t

end

local function onDrag(event)

local t = event.target

if event.phase == “began” then

t.xScale, t.yScale = 1.3, 1.3

t:toFront()

display.getCurrentStage():setFocus( t )

t.isFocus = true

xOrigin,yOrigin = t.x,t.y

t.x0 = event.x - t.x

t.y0 = event.y - t.y

elseif t.isFocus then

if “moved” == event.phase then

t.x = event.x - t.x0

t.y = event.y - t.y0

elseif “ended” == event.phase

or “cancelled” == event.phase then

display.getCurrentStage():setFocus( nil )

t.isFocus = false

if t.x <= puzzlePieceCheckpoint[t.id].x+30

and t.x >= puzzlePieceCheckpoint[t.id].x-30

and t.y <= puzzlePieceCheckpoint[t.id].y+30

and t.y >= puzzlePieceCheckpoint[t.id].y-30 then

puzzleGroup:insert(t)

t:toBack()

t.place = “moved”

t.x, t.y = puzzlePieceFinalPosition[t.id].x,

puzzlePieceFinalPosition[t.id].y

t:removeEventListener(“touch”,onDrag)

for i = 1, totalPuzzlePieces do

if puzzlePieces[i].place == “start”

and puzzlePieces[i].y > yOrigin then

puzzlePieces[i].y = puzzlePieces[i].y - puzzlePieceSlideUp

end

end

puzzlePiecesCompleted = puzzlePiecesCompleted+1

if puzzlePiecesCompleted == totalPuzzlePieces then

playGameGroup.isVisible = false

finishGameGroup.isVisible = true

end

else

t.xScale,t.yScale = 1,1

t.x, t.y = xOrigin, yOrigin

end

end

end

return true

end

function scene:createScene( event )

local group = self.view

puzzleGroup = display.newGroup()

woodBoard = display.newImageRect(“woodboard.png”, 480, 320)

woodBoard.x = 562

woodBoard.y = _H/2

woodBoard:toBack();

puzzleGroup:insert(woodBoard)

scrollView = widget.newScrollView

{

top=0,

left = _W - 160,

height=_H,

width = 160,

hideBackground = true,

scrollWidth = 50 ,

scrollHeight = 1000

}

local shufflePuzzleY = shuffle(puzzlePieceStartingY)

for i = 1, totalPuzzlePieces do

puzzlePieces[i] = display.newImageRect(i…".png", puzzlePieceWidth, puzzlePieceHeight)

puzzlePieces[i].x = 85

puzzlePieces[i].y = shufflePuzzleY[i]

puzzlePieces[i].id = i

puzzlePieces[i].place = “start”

puzzlePieces[i]:addEventListener(“touch”, onDrag)

scrollView:insert(puzzlePieces[i])

end

puzzleGroup:insert(scrollView)

playGameGroup:insert(puzzleGroup)

function returnToMenu(event)

if(event.phase == “ended”) then

storyboard.gotoScene(“menu”)

end

end

txt_gameComplete = display.newText(“Puzzle Complete”, 0,0,120,100,native.systemFont,22)

txt_gameComplete.x = 400

txt_gameComplete.y = _H/2 - 50

finishGameGroup:insert(txt_gameComplete)

txt_return = display.newText(“Return to Menu”, 0,0,120,100,native.systemFont,22)

txt_return.x, txt_return.y = 400, _H/2 + 50

txt_return:addEventListener(“touch”, returnToMenu)

finishGameGroup:insert(txt_return)

baseBG = display.newImageRect(“puzzle-base.png”, puzzleWidth, puzzleHeight)

baseBG.x, baseBG.y = 160, _H/2

finishGameGroup:insert(baseBG)

group:insert(finishGameGroup)

group:insert(playGameGroup)

finishGameGroup.isVisible = false

playGameGroup.isVisible = true

end

function scene:enterScene( event ) end

function scene:exitScene( event ) end

function scene:destroyScene( event ) end

scene:addEventListener( “createScene”, scene )

scene:addEventListener( “enterScene”, scene )

scene:addEventListener( “exitScene”, scene )

scene:addEventListener( “destroyScene”, scene )

return scene

so are you able to help?