iT邦幫忙

2023 iThome 鐵人賽

DAY 25
0
自我挑戰組

服用Python30天系列 第 25

[DAY25]服用Python-flapping bird2

  • 分享至 

  • xImage
  •  

前言

這是下半部的程式碼~


# 遊戲迴圈
pillar_positions = []     # 存儲柱子的位置
bird_x = 10               # 鳥的水平位置

while not game_over:
    # 隨機生成新的柱子
    if len(pillar_positions) == 0:
        new_pillar = random.randint(10, 20)
        pillar_positions.extend([30] * new_pillar)  # 增加柱子
        pillar_positions.extend([0] * pillar_gap)   # 增加間隙
        score += 1  # 玩家得分增加

    # 鳥的位置和速度更新
    bird_y += velocity  # 更新鳥的垂直位置
    velocity += gravity  # 更新垂直速度

    # 判斷是否碰到地面或柱子
    if bird_y < 0:
        bird_y = 0  # 如果鳥飛得太高,限制在頂部
        velocity = 0  # 無垂直速度
    if bird_y >= len(pillar_positions):
        bird_y = len(pillar_positions) - 1  # 如果鳥掉到地面,限制在底部
        velocity = 0  # 無垂直速度
    if bird_x in pillar_positions:
        game_over = True  # 如果鳥碰到柱子,遊戲結束

    # 玩家輸入
    action = input("Press 'space' to jump or 'q' to quit: ")
    if action == "q":
        game_over = True  # 如果按 'q',遊戲結束
    if action == " ":
        velocity = -jump_strength  # 如果按 'space',鳥跳躍

    # 移除最左側的柱子
    pillar_positions.pop(0)

    # 更新遊戲畫面
    draw_game()

# 遊戲結束
print("Game Over! Your Score:", score)

倒數五天!!!
目前進度:25/30!!


上一篇
[DAY24]服用Python-flapping bird
下一篇
[DAY26]服用Python-機器學習
系列文
服用Python30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言