Exemple #1
0
def run_game():
    pygame.init()

    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Flying Bird")

    bird = Bird(ai_settings, screen)
    mountains = Group()

    button = Button(ai_settings, screen, "PLAY")

    # 创建计分板
    sb = Scoreboard(ai_settings, screen)

    while True:

        gf.check_events(bird, button, ai_settings, mountains)

        if ai_settings.state:
            bird.update_bird()
            mountains.update(ai_settings)
            gf.update_mountains(bird, mountains, ai_settings)
            gf.built_mountains(mountains, ai_settings, screen)

        gf.update_screen(ai_settings, screen, bird, mountains, button, sb)
def run_game():
    # init the game and create a screen obj
    pygame.init()
    ai_settings = Settings()
    screen = pygame.display.set_mode(
        (ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    # create a play button
    play_button = Button(ai_settings, screen, "Play<P>")
    # create a instance of GameStats
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings, screen, stats)
    ship = Ship(ai_settings, screen)
    # create a group store the bullet
    bullets = Group()
    aliens = Group()

    # create the group of aliens
    gf.create_fleet(ai_settings, screen, aliens, ship)
    # start the main func
    while True:
        gf.check_events(ship, ai_settings, bullets, screen, stats, play_button,
                        aliens, sb)
        if stats.game_active:
            ship.update()
            gf.update_bullets(bullets, aliens, ai_settings, ship, screen, sb,
                              stats)
            gf.update_aliens(ai_settings, aliens, ship, stats, screen, bullets,
                             sb)
        gf.update_screen(ai_settings, screen, ship, aliens, bullets,
                         play_button, stats, sb)
 def __init__(self, name='first'):
     """
     :param scoreboard:
     :param paddle:
     :param name: Can be 'first' or 'second'
     """
     self.score = Scoreboard(player=name)
     self.paddle = Paddle(player=name)
def run_game():
    """Initialize a game, display."""
    pygame.init()
    game_settings = Settings()
    screen = pygame.display.set_mode(
        (game_settings.screen_width, game_settings.screen_height))
    pygame.display.set_caption(game_settings.game_name)

    # Make the Play button.
    play_button = Button(game_settings, screen, "Play")
    # Make describtion.
    description = Description(game_settings, screen, "Project by Andrii Dykyi")
    # Create an instance to store game statistics.
    stats = GameStats(game_settings)
    score_board = Scoreboard(game_settings, screen, stats)

    background_image = pygame.image.load(
        game_settings.background_image).convert()

    # Create rocket.
    rocket = Rocket(game_settings, screen)

    # Make a group to store bullets in.
    bullets = Group()
    # Make a meteorite.
    meteorites = Group()
    # Make a star.
    stars = Group()
    # Make an explosion.
    explosions = Group()

    while True:
        game_functions.check_event(game_settings, screen, stats, play_button,
                                   rocket, meteorites, stars, bullets,
                                   score_board, explosions)

        if stats.game_active:
            rocket.update()

            game_functions.update_bullets(bullets, screen, meteorites)

            game_functions.update_meteorites(game_settings, stats, screen,
                                             rocket, meteorites, score_board,
                                             explosions)

            game_functions.update_explosions(explosions)

            game_functions.update_stars(game_settings, stats, screen, rocket,
                                        stars, score_board)

        game_functions.update_screen(background_image, game_settings, screen,
                                     stats, score_board, rocket, stars,
                                     meteorites, bullets, play_button,
                                     explosions, description)
Exemple #5
0
def run_game():
    """初始化游戏并创建一个屏幕对象"""
    pygame.init()
    ai_setting = Settings()
    screen = pygame.display.set_mode(
        (ai_setting.screen_width,
         ai_setting.screen_height))  #设立一个像素为1200,800的显示窗口
    pygame.display.set_caption("alien_game")  #set_mode的实参为一个元组
    ship = Ship(screen, ai_setting)  #创建飞船
    bullets = Group()  #创建一个子弹元组
    #alien = Alien(screen,ai_setting)                            #创建一个外星人
    aliens = Group()  #创建一个外星人编组

    #用于构建一个群
    gf.create_fleet(ai_setting, screen, ship, aliens)

    #用于绘制按钮
    play_button = Button(ai_setting, screen, "play")

    #用于统计游戏信息
    stats = Gamestats(ai_setting)

    #计分牌
    sb = Scoreboard(ai_setting, stats, screen)

    #开始 游戏主循环

    while True:

        #用于管理事件(要处在游戏启动之外)
        gf.chck_events(ai_setting, screen, ship, aliens, bullets, stats,
                       play_button, sb)

        if stats.game_active:
            #用于移动飞船
            ship.updata()
            #用于发射子弹
            gf.updata_bullets(bullets, aliens, ai_setting, screen, ship, stats,
                              sb)
            #用于外星人移动
            gf.update_aliens(ai_setting, screen, stats, ship, bullets, aliens,
                             sb)

        #用于显示图像
        gf.update_screen(screen, ai_setting, ship, aliens, bullets, stats,
                         play_button, sb)
Exemple #6
0
def init_game():
    global screen, score, ball, wall, paddle
    
    screen = Screen()
    screen.bgcolor("black")
    screen.setup(width=800, height=600)
    screen.title("Breakout")
    screen.tracer(0)

    wall = BlockBuilder()
    wall.create_wall(SCREEN_SIZE)
    paddle = Paddle(STARTING_POSITION,SCREEN_SIZE)
    ball = Ball(SCREEN_SIZE)

    score = Scoreboard()

    screen.listen()
    screen.update()
    screen.onkeypress(paddle.go_left, "Left")
    screen.onkeypress(paddle.go_right, "Right")
Exemple #7
0
def main():
    #----------
    #init初始化所有模块,并检查
    pygame.init()
    #----------
    #从配置文件中拿参数
    bj_settings = Settings()
    #----------
    #设置屏幕大小,flags:扩展选项
    screen = pygame.display.set_mode(
        (bj_settings.screen_width, bj_settings.screen_height),
        pygame.RESIZABLE, 32)
    #设置游戏主题
    pygame.display.set_caption('Alien Invasion')
    #设置窗口图标
    icon = pygame.image.load('image/ship.bmp')
    pygame.display.set_icon(icon)
    status = GameStatus(bj_settings)
    sc = Scoreboard(bj_settings, screen, status)
    #-----------
    #创建一个船的对象,调用船的位置方法
    ship = Ship(bj_settings, screen)
    # alien = Alien(screen)
    #-----------
    bullets = Group()
    aliens = Group()
    game_functions.create_aliens(screen, bj_settings, aliens, ship)
    play_button = Button(bj_settings, screen, 'PLAY')
    while True:
        game_functions.check_events(screen, bj_settings, ship, bullets, status,
                                    play_button, aliens, sc)
        game_functions.update_screen(status, screen, bj_settings, ship, aliens,
                                     bullets, play_button, sc)
        if status.game_active:
            ship.continue_update()
            # bullets.update()
            # game_functions.update_bullets(bullets)
            game_functions.update_screen(status, screen, bj_settings, ship,
                                         aliens, bullets, play_button, sc)
Exemple #8
0
def run():
    pygame.init()
    st = Setting()
    screen = pygame.display.set_mode((0, 0), pygame.FULLSCREEN)
    screen.get_rect().width = st.screen_w
    screen.get_rect().height = st.screen_h
    pygame.display.set_caption("Math Battle")
    bg2 = Bg2(screen)
    ques = Question(screen, st)
    yes = YesNo(screen, 'yes')
    no = YesNo(screen, 'no')
    play = Play(screen)
    stat = Stats(st)
    time = Timeline(screen, stat)
    score = Scoreboard(st, screen, stat)
    gettype(ques, stat)
    while True:
        check_event(ques, stat, score, yes, no, play, time)
        screen.fill(st.bg)
        bg2.bg2draw()
        score.show_score()
        activenot(ques, yes, no, play, time, stat)
        pygame.display.flip()
Exemple #9
0
def run_game():
    pygame.init()
    setting = Setting()
    screen = pygame.display.set_mode([setting.width,setting.height])

    ship = Ship(screen, setting)
    pygame.display.set_caption("Alien Games")

    play_button = Button(setting, screen, "Play")

    stats = GameStats(setting)
    sb = Scoreboard(setting, screen, stats)

    bullets = Group()
    aliens = Group()
    gf.create_fleet(setting, screen, aliens, ship)

    while True:
        gf.check_event(setting, screen, stats, play_button, sb, ship, aliens, bullets)
        if stats.game_active:
            ship.update()
            gf.update_bullet(setting, screen, stats, sb, ship, bullets, aliens)
            gf.update_alien(setting, stats, screen, ship, aliens, bullets)
        gf.update_screen(screen,setting, sb, ship, stats, bullets, aliens, play_button)
Exemple #10
0
import time
from snake import Snake
from food import Food
from score import Scoreboard

segments = []

scn = Screen()
scn.setup(width=600, height=600)
scn.bgcolor("black")
scn.title("Nokia Snake Game")
scn.tracer(0)

snake = Snake()
food = Food()
score = Scoreboard()

scn.listen()
scn.onkey(snake.up, "Up")
scn.onkey(snake.down, "Down")
scn.onkey(snake.left, "Left")
scn.onkey(snake.right, "Right")

game_on = True
while game_on:
    scn.update()
    time.sleep(0.1)
    snake.move()

    # detect if food consumed
    if snake.head.distance(food) < 15:
Exemple #11
0
from turtle import Screen
from snake import Snake
from food import Food
from score import Scoreboard
import time

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")
screen.title("Snake Game")
screen.tracer(0)

snake = Snake()
food = Food()
scoreboard = Scoreboard()

screen.listen()
screen.onkey(snake.up, "Up")
screen.onkey(snake.down, "Down")
screen.onkey(snake.right, "Right")
screen.onkey(snake.left, "Left")

game_is_on = True
while game_is_on:
    screen.update()
    time.sleep(0.1)
    snake.move()

    # detecting collision with food
    if snake.head.distance(food) < 30:
        food.refresh()