飞行棋游戏的设计与实现(7)

时间:2026-01-20

Private Sub To_NextPlayer() '得到下一个玩家的编号,并把骰子传给下一个玩家

Dim p As Long '临时计数器

If GmData.Dice <> 6 Then '如果骰子不是六点,则需要把控制控交给下一个玩家

Unable_Player GmData.PlayNow '锁定玩家棋子 Do

p = (p + 1) Mod 4

Loop Until CntPlanStat(p, Complete) <> 4 '查找还有棋子的玩家 PutDice2Map GmData.PlayNow

Else '如果骰子显示六点则原来玩家继续控制该轮的骰子

Enable_Dice End If

ShowMsg '更新相关的状态信息 End Sub

p = GmData.PlayNow '初始化临时计数器

GmData.PlayNow = p '把找到后的结果给系统变量

(五)、游戏中所需文字信息的处理

对游戏中出现的各类文字信息进行简单的处理,主要包括 信息格式的转换与显示等。

1 ShowMsg()显示玩家状态

此模块除了显示玩家状态以外还担负着游戏结果判断的额外任务。 2 GetPlayerColor()将玩家的索引号转换成对应的颜色名称

(六)、棋子的响应与处理

1 Image2_Click()分析玩家的操作,不同情况作出不同处理

本模块在接到玩家操作棋子的动作后,分析玩家所选的棋子状态后,做出对应的动作。 比如:

被选择的飞机在机场则只需判断是否允许起飞。

被选择的飞机已准备起飞秩序判断,能飞多远,是否要击落其它玩家的飞机,有无坠毁 可能。

2 SetAbs_Idx()设置棋子的绝对索引号和相对索引号 为其他服务程序计算棋子状态作好数据准备

Private Sub SetAbs_Idx(Player_Idx As Long, Plan_Idx As Long, Dice_Num As Long)

'根据骰子点数设置棋子的绝对索引号和相对索引号

If GmData.Plan(Player_Idx, Plan_Idx).Stat = Landing Then '着陆航线上坐标计算

GmData.Plan(Player_Idx, Plan_Idx).Idx_Abs GetLanding_Idx(GmData.Plan(Player_Idx, Plan_Idx).Idx_Abs, Dice_Num)

飞行棋游戏的设计与实现(7).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:4.9 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:19元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219