from game_graphics import *
from tkinter import *
class Bird(object):
def __init__(self, mode):
pass
class Background(object):
def __init__(self, mode):
pass
class Pipe(object):
def __init__(self, mode):
pass
class SplashScreenMode(Mode):
def appStarted(self):
pass
def redrawAll(self, canvas):
font = 'Arial 26 bold'
canvas.create_text(self.width / 2, 150, text='Welcome to Black Bird', font=font)
canvas.create_text(self.width / 2, 250, text='Press Space key for the game!', font=font)
def timerFired(self):
pass
def keyPressed(self, event):
if event.key == 'Space':
self.app.setActiveMode(self.app.gameMode)
class GameMode(Mode):
def appStarted(self):
pass
def timerFired(self):
pass
def mousePressed(self, event):
pass
def keyPressed(self, event):
if event.key == 'h':
self.app.setActiveMode(self.app.helpMode)
def redrawAll(self, canvas):
font = 'Arial 26 bold'
canvas.create_text(20, 20, text=f'start game', font=font)
class HelpMode(Mode):
def redrawAll(mode, canvas):
font = 'Arial 26 bold'
canvas.create_text(mode.width / 2, 150, text='This is the help screen!', font=font)
canvas.create_text(mode.width / 2, 250, text='(Insert helpful message here)', font=font)
canvas.create_text(mode.width / 2, 350, text='Press any key to return to the game!', font=font)
def keyPressed(mode, event):
mode.app.setActiveMode(mode.app.gameMode)
class EndMode(Mode):
def appStarted(self):
pass
def redrawAll(self, canvas):
font = 'Arial 26 bold'
canvas.create_text(self.width / 2, 150, text='Game Over', font=font)
canvas.create_text(self.width / 2, 250, text=f'Your score is : {self.score}', font=font)
canvas.create_text(self.width / 2, 350, text='Press Space to restart to the game!', font=font)
def keyPressed(self, event):
if event.key == "Space":
# 游戏重新开始
self.app.gameMode = GameMode()
self.app.setActiveMode(self.app.gameMode)
class MyModalApp(ModalApp):
def appStarted(app):
app.splashScreenMode = SplashScreenMode()
app.gameMode = GameMode()
app.helpMode = HelpMode()
app.endMode = EndMode()
app.setActiveMode(app.splashScreenMode)
app.timerDelay = 33
app = MyModalApp(width=400, height=600)