テトリスは、1984 年にロシアのアレクセイ パジトノフによって初めて開発された古典的なパズル ゲームです。彼のインスピレーションは幼少期の積み木体験から来ていると言われています。このゲームは最初にソ連のコンピュータで人気を博し、その後世界中で人気を博しました。本来の設計意図は、このゲームを通じてプレイヤーの反応速度と空間想像力を訓練することです。
1980 年代に生まれた多くの人にとって、テトリスは 10 代の思い出です。当時は今ほどゲームの種類が多くなく、テトリスは最も人気のあるゲームの 1 つでした。人々はよく集まってファミコンやその他のゲーム機でテトリスをプレイし、数え切れないほどの時間を一緒に過ごします。このようなゲーム体験は、ゲームそのものだけではなく、人と人とのコミュニケーションや交流としても多くの人にとって大切な思い出となっています。
最近何もすることがないので、ちょっとした回避ゲームをしてみました。これを見た友達の役に立ち、刺激になれば幸いです。もちろん、ここでは単純な機能のみが実装されており、他の友人が再度変更したり拡張したりする余地も与えられます。
このコードの実装を見てみましょう。
import pygame import random # 初始化 Pygame pygame.init() # 设置游戏窗口大小和标题 win_width, win_height = 640, 480 win = pygame.display.set_mode((win_width, win_height)) pygame.display.set_caption("小游戏") # 设置游戏颜色 black = (0, 0, 0) white = (255, 255, 255) red = (255, 0, 0) # 设置关键物属性 man_width, man_height = 50, 100 man_x, man_y = win_width // 2 - man_width // 2, win_height - man_height man_vel = 5 # 设置障碍物属性 obstacle_width, obstacle_height = 50, 50 obstacle_x, obstacle_y = random.randint(0, win_width - obstacle_width), 0 obstacle_vel = 2 # 设置字体和文本 font = pygame.font.SysFont(None, 30) score_text = font.render("得分: 0", True, white) # 初始化分数和帧率 score = 0 fps = 30 clock = pygame.time.Clock() # 游戏循环 game_over = False while not game_over: # 设置帧率 clock.tick(fps) # 检测事件 for event in pygame.event.get(): if event.type == pygame.QUIT: game_over = True # 获取键盘输入 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT] and man_x > 0: man_x -= man_vel if keys[pygame.K_RIGHT] and man_x < win_width - man_width: man_x += man_vel # 移动障碍物 obstacle_y += obstacle_vel # 判断是否碰撞 if obstacle_y > man_y: if man_x < obstacle_x < man_x + man_width or man_x < obstacle_x + obstacle_width < man_x + man_width: game_over = True # 判断障碍物是否移出屏幕 if obstacle_y > win_height: obstacle_x, obstacle_y = random.randint(0, win_width - obstacle_width), 0 score += 1 score_text = font.render("得分: " + str(score), True, white) # 绘制屏幕 win.fill(black) pygame.draw.rect(win, red, (man_x, man_y, man_width, man_height)) pygame.draw.rect(win, white, (obstacle_x, obstacle_y, obstacle_width, obstacle_height)) win.blit(score_text, (10, 10)) pygame.display.update() # 退出 Pygame pygame.quit()
レンダリング
このサンプル コードでは、 Clock.tick(fps) 関数を使用してゲーム フレームを制限します。 fps レートは、ゲームの実行速度を制御します。ゲーム ループでは、pygame.time.Clock().tick(fps) 関数を使用して、ゲームのフレーム レートが高くなりすぎないように、各ループの終了後に一定期間ゲームを一時停止します。
さらに、スコアの表示には Pygame のフォント モジュールも使用しています。スコアが採点されるたびに、スコア テキストが再レンダリングされ、表示が更新されます。
この変更後、ゲームは比較的安定した速度で実行されます。必要に応じてフレーム レートを調整して、ゲームの実行速度を制御できます。ニーズに合わせてコードを変更および拡張して、より複雑で興味深いゲームプレイを実現できます。
以上がPython ベースのテトリス回避ゲームを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。