#### Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

# Flappy Bird Clone For Programming Class

edited December 2015 Posts: 2

This is the code for the flappy bird clone I made for my programming class. Any suggestions or constructive criticism is welcome.

``````-- Flappy Bird

function setup()
birdX=100
birdY=HEIGHT/2
birdspeed=1
pipeX=WIDTH
pipeY=math.random(-15,18)*10
pipespeed=-4
pipeW=pipeX+325
pipeZ=math.random(-15,18)*10
pipeA=pipeW+325
pipeB=math.random(-15,18)*10
score=0
highscore=0
gamestate=0
begin=1
play=2
crash=3
gamestate=begin
end

function draw()
sprite(img,WIDTH/2,HEIGHT/2,WIDTH,HEIGHT)
if gamestate==begin then
sprite(img6,WIDTH/2,450,900)
text("Tap anywhere to begin.",WIDTH/2,350)
function touched(touch)
if touch.state==BEGAN then
gamestate=play
end
end
end
if gamestate==play then
birdspeed=birdspeed-0.175
birdY=birdY+birdspeed
sprite(img2,birdX,birdY,200)
if birdY<=30 then
gamestate=crash
end
if birdY>=HEIGHT-25 then
birdY=HEIGHT-25
birdspeed=-1
end
pipeX=pipeX+pipespeed
sprite(img3,pipeX,pipeY,70,500)
sprite(img4,pipeX,pipeY+700,70,500)
if pipeX<=-70 then
pipeX=pipeA+325
pipeY=math.random(-15,18)*10
score=score+1
end
pipeW=pipeW+pipespeed
sprite(img3,pipeW,pipeZ,70,500)
sprite(img4,pipeW,pipeZ+700,70,500)
if pipeW<=-70 then
pipeW=pipeX+325
pipeZ=math.random(-15,18)*10
score=score+1
end
pipeA=pipeA+pipespeed
sprite(img3,pipeA,pipeB,70,500)
sprite(img4,pipeA,pipeB+700,70,500)
if pipeA<=-70 then
pipeA=pipeW+325
pipeB=math.random(-15,18)*10
score=score+1
end
function touched(touch)
if touch.state==BEGAN then
birdspeed=birdspeed+7
end
if gamestate==crash and touch.state==BEGAN then
pipeX=WIDTH
pipeW=pipeX+325
pipeA=pipeW+325
pipeY=math.random(-15,18)*10
pipeZ=math.random(-15,18)*10
pipeB=math.random(-15,18)*10
birdY=HEIGHT/2
score=0
pipespeed=-4
birdspeed=1
gamestate=play
end
end
if birdX>=pipeX-65 and birdX<=pipeX+65 and birdY<=pipeY+275 then
gamestate=crash
end
if birdX>=pipeX-65 and birdX<=pipeX+65 and birdY>=pipeY+425 then
gamestate=crash
end
if birdX>=pipeW-65 and birdX<=pipeW+65 and birdY<=pipeZ+275 then
gamestate=crash
end
if birdX>=pipeW-65 and birdX<=pipeW+65 and birdY>=pipeZ+425 then
gamestate=crash
end
if birdX>=pipeA-65 and birdX<=pipeA+65 and birdY<=pipeB+275 then
gamestate=crash
end
if birdX>=pipeA-65 and birdX<=pipeA+65 and birdY>=pipeB+425 then
gamestate=crash
end
end
if gamestate==crash then
birdspeed=birdspeed*0
pipespeed=pipespeed*0
if score>=highscore then
highscore=score
end
sprite(img5,WIDTH/2,450,400,300)
text("You lost! You scored "..(score).." points. Your current highscore is "..(highscore).." points.",WIDTH/2,350)
text("Tap anywhere to restart.",WIDTH/2,320)
end
end
``````

• Posts: 5

I really like this code.

• Posts: 5,396

How come the code is so similar for the two of you?

• edited December 2015 Posts: 2

We are in the same class and I was helping him. A lot of our class is using my code as a baseline for their own flappy bird clones. In his case, his code got deleted due to an issue with our schools iPads, so I helped him re-code his project from scratch.