当前位置:首页>python>Python实战项目之飞行棋

Python实战项目之飞行棋

  • 2026-09-02 19:12:59
Python实战项目之飞行棋

Python 实战项目:控制台版飞行棋

一、项目介绍

本项目使用 Python 基础语法实现双人飞行棋小游戏,运行在控制台(终端)。

功能包括:

- 玩家掷骰子(1~6随机)

- 棋子前进、判断输赢

- 简单文字界面,清晰显示当前位置

- 支持玩家 A、玩家 B 轮流操作

- 到达终点判定胜利

适合:Python 入门实战、循环与条件判断练习、函数封装练习。

二、完整代码(可直接复制运行)

python  

import random

import time

# 初始化玩家位置

player_a = 0

player_b = 0

# 终点位置

end_point = 30

print("=" * 50)

print("        Python 控制台飞行棋游戏")

print("规则:先到达 30 格的玩家获胜")

print("=" * 50)

# 游戏主循环

while True:

    # ==================== 玩家A回合 ====================

    input("\n玩家A按回车掷骰子:")

    dice = random.randint(1, 6)

    print(f"玩家A掷出:{dice} 点")

    # 前进

    player_a += dice

    # 超过终点则不前进

    if player_a > end_point:

        player_a -= dice

        print("超出终点,本轮不移动!")

    print(f"玩家A当前位置:{player_a}")

    time.sleep(0.5)

    # 判断胜利

    if player_a == end_point:

        print("\n🎉 恭喜玩家A获得胜利!")

        break

    # ==================== 玩家B回合 ====================

    input("\n玩家B按回车掷骰子:")

    dice = random.randint(1, 6)

    print(f"玩家B掷出:{dice} 点")

    player_b += dice

    if player_b > end_point:

        player_b -= dice

        print("超出终点,本轮不移动!")

    print(f"玩家B当前位置:{player_b}")

    time.sleep(0.5)

    if player_b == end_point:

        print("\n🎉 恭喜玩家B获得胜利!")

        break

三、逐行详细代码分析(核心讲解)

1. 导入模块

python  

import random

import time

-  random :用来生成骰子点数(1~6)

-  time :用来延迟显示,让游戏节奏更自然

2. 初始化游戏数据

python  

player_a = 0

player_b = 0

end_point = 30

-  player_a 、 player_b :记录两个玩家当前格子位置,起点都在 0

-  end_point = 30 :设定终点为第 30 格,可自行修改

3. 游戏标题与规则

python  

print("=" * 50)

print("        Python 控制台飞行棋游戏")

print("规则:先到达 30 格的玩家获胜")

print("=" * 50)

作用:美化界面,让玩家清楚游戏规则。

4. 游戏主循环

python  

while True:

 while True  是无限循环,直到有人胜利才用  break  退出。

5. 玩家A掷骰子

python  

input("\n玩家A按回车掷骰子:")

dice = random.randint(1, 6)

print(f"玩家A掷出:{dice} 点")

-  input()  暂停游戏,等待玩家按回车

-  random.randint(1,6)  生成 1 到 6 之间的随机整数,模拟骰子

6. 棋子前进逻辑

python  

player_a += dice

if player_a > end_point:

    player_a -= dice

    print("超出终点,本轮不移动!")

- 先加上骰子点数前进

- 如果超过终点 30,则退回本次步数,保证不会超界

这是飞行棋常见规则:必须刚好到达终点才算赢。

7. 显示位置并延迟

python  

print(f"玩家A当前位置:{player_a}")

time.sleep(0.5)

延迟 0.5 秒,避免画面刷屏太快。

8. 判断胜利

python  

if player_a == end_point:

    print("\n🎉 恭喜玩家A获得胜利!")

    break

位置等于 30 时胜利, break  跳出循环,游戏结束。

9. 玩家B逻辑(与A完全相同)

玩家B流程:掷骰子 → 前进 → 越界判断 → 胜利判断。

四、项目运行流程(完整过程)

1. 程序启动

打印标题和规则,初始化玩家位置都为 0。

2. 进入游戏循环

 while True  保证游戏持续进行,直到有人赢。

3. 玩家A回合

- 等待按回车

- 随机骰子 1~6

- 位置增加骰子数

- 若超过 30 则回退

- 显示当前位置

- 判断是否到达终点

4. 玩家B回合

逻辑与玩家A完全一致,轮流进行。

5. 胜利判定

任意玩家位置 == 30 时,打印胜利信息并结束游戏。

五、扩展功能(可选升级,让项目更完整)

你可以在此基础上继续扩展,让项目更专业:

1. 幸运格 / 惩罚格

踩到 10 格前进 5 格,踩到 15 格后退 3 格

2. 飞机相撞

两人在同一格,一方退回起点

3. 支持多人游戏

用列表存储多个玩家位置

4. 图形化显示跑道

用  *  或  -  画出跑道,显示棋子位置

5. 记录步数统计

统计多少轮决出胜负

示例扩展代码(幸运格):

python  

if player_a == 10:

    print("触发幸运格!前进5格")

    player_a += 5

六、总结(项目学习价值)

本飞行棋项目涵盖 Python 入门几乎所有核心知识点:

- 变量与数据类型

- 随机数模块 random

- 循环结构 while

- 条件判断 if/else

- 输入输出 input/print

- 时间延迟 time

- 简单游戏逻辑设计

最新文章

随机文章