Fluffy Bird

障害物を回避しながら飛び続ける、というよくある入門ゲームをProcessingで作ってみました。
飛行機を避けながら飛び続けてください。

  • とんだ距離をスコアとして表示する
  • 画面から消えた飛行機をリストから削除する
  • 飛行機の出現間隔やスピードを調整する(徐々に難易度をあげる)

などいろいろと改良してください。

bird, back = None, None
scroll = 0
ypos, speed = 200, 0
planes = []
gameOver = False

class Plane:
    def __init__(self):
        self.x = 600
        self.y = random(height)
        self.speed = random(-20, -10)
        self.img = loadImage("plane.png")

    def paint(self):
        self.x += self.speed
        image(self.img, self.x, self.y)
        

def setup():
    global bird, back
    size(600, 600)
    bird = loadImage("bird.png")
    back = loadImage("back.png")
    textSize(50)
    textAlign(CENTER)

def draw():
    global scroll, ypos, speed, gameOver
    imageMode(CORNER)
    image(back, scroll, 0)    

    imageMode(CENTER)
    image(bird, 50, ypos)
    
    if gameOver:
        text("GAME OVER", 300, 300)
        return
    
    scroll -= 2
    if scroll < -1065:
        scroll = 0
    speed += 0.1
    ypos += speed
    if mousePressed or keyPressed:
        speed -= 0.4

    if frameCount % 100 == 0:
        planes.append(Plane())
    
    if ypos < 0 or ypos > height:
        gameOver = True
        
    for p in planes:
        p.paint()
        if dist(50, ypos, p.x, p.y) < 100:
            gameOver = True