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
结果显示:
