C# Winform窗体单机飞行棋(源码)
根据 控制台飞行棋 改造为Winform窗体飞行棋,主要有 登录窗体,游戏窗体,胜利窗体.
使用new批量创建 按钮(地图格子),并按顺序排列地图。可显示当前玩家所在坐标、距离终点还剩步数和已取胜局数。
使用按钮 背景图片 模拟 掷骰子结果图片。
以下为部分代码:
#region 绘制棋盘 for (int i = 0; i <= 30; i++) { CreateBtn(i, i, 0); } for (int i = 31; i < 35; i++) { int a = i - 30; CreateBtn(i, 30, a * 30); } for (int i = 35; i < 66; i++) { int a = 65 - i; CreateBtn(i, a, 5 * 30); } for (int i = 66; i < 70; i++) { int a = i - 60; CreateBtn(i, 0, a * 30); } for (int i = 70; i < 100; i++) { int a = i - 69; CreateBtn(i, a, 9 * 30); } #endregion #region 创建格子(按钮) void CreateBtn(int i, int l, int t) { Button btn = new Button(); btn.Name = i.ToString(); btn.Width = 30; btn.Height = 30; btn.Left = l * 30 + 5; btn.Top = t + 20; btn.TabStop = false; btn.TabIndex = 0; DrawStringMap(i, btn); gBox.Controls.Add(btn); } #endregion
游戏说明:
□:为正常格子,不会发生任何事情.当 X 玩家移动到 Y 玩家所在的格子,发生碰撞.那么 Y 玩家将后退 5 格。
◎:幸运转盘,当踩到幸运转盘 X 玩家坐标小于 Y玩家,那么两个玩家交换位置.如果踩到幸运转盘 X 玩家坐标大于 Y 玩家,那么 Y 玩家后退 8 格.
☆:当玩家踩到地雷,将后退 6 格.
▲:当玩家踩到暂停,将停止一回合,另一玩家自动获得一次掷骰子机会.
卐:当玩家踩到时空隧道,前进10格.
第一个到达终点的玩家为胜利者.
制作:小道博客 http://www.daobk.com
结果显示: