运行效果如下:
代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;namespace 飞行棋
{public partial class Form1 : Form{public Form1(){InitializeComponent();}//创建地图Panel map = new Panel();//定义常量const int size = 30;//这个数组是所有的地板的一个数组,游戏逻辑全部取决于数字数组int[] maplist = new int[390];//这个数组是所有的图片,根据maplist决定每个元素的内容PictureBox[] mapImg = new PictureBox[390];//这个数组用来记录所有的路的索引位置int[] road = new int[100];//红飞机老家Panel redPlayHome = new Panel();//绿飞机老家Panel greenPlayHome = new Panel();//记录消息RichTextBox msg = new RichTextBox();//创建骰子PictureBox dice = new PictureBox();//随机对象Random r = new Random();//双方投掷出的点数int[] startNum = new int[2];//记录谁可以投掷bool[] WhoCan = new bool[2] { true, false };//记录是否是第一次开始bool start = true;//双方名字string[] playName = new string[2];//记录当前两人的位置int[] playPosition = new int[2] {-1,-1};//用来记录现在当前位置的上一个位置int[] playStand = new int[2] {-1,-1};// 是否暂停判断bool[] reClick = new bool[2] { false,false};private void Form1_Load(object sender, EventArgs e){//窗口初始化this.FormBorderStyle = FormBorderStyle.FixedToolWindow;this.Left = 30;this.Top = 70;this.BackColor = Color.FloralWhite;this.Size = new Size(1300,600);//地图属性map.Width = 30 * size;map.Height = 13 * size;map.Location = new Point(5,150);map.BorderStyle = BorderStyle.FixedSingle;this.Controls.Add(map);InitialGame();//红飞机老家redPlayHome.Size = new Size(100, 100);redPlayHome.BackgroundImage = Image.FromFile("../../img/select_circle.png");redPlayHome.Location = new Point(50, map.Top - 110);redPlayHome.BackgroundImageLayout = ImageLayout.Stretch;this.Controls.Add(redPlayHome);//绿飞机老家greenPlayHome.Size = new Size(100, 100);greenPlayHome.BackgroundImage = Image.FromFile("../../img/select_circle.png");greenPlayHome.Location = new Point(170, map.Top - 110);greenPlayHome.BackgroundImageLayout = ImageLayout.Stretch;this.Controls.Add(greenPlayHome);//红飞机PictureBox redPlayer = new PictureBox();redPlayer.Size = new Size(80,80);redPlayer.Image = Image.FromFile("../../img/red.png");redPlayer.Location = new Point(10,10);redPlayer.SizeMode = PictureBoxSizeMode.StretchImage;redPlayHome.Controls.Add(redPlayer);//绿飞机PictureBox greenPlayer = new PictureBox();greenPlayer.Size = new Size(80, 80);greenPlayer.Image = Image.FromFile("../../img/green.png");greenPlayer.Location = new Point(10, 10);greenPlayer.SizeMode = PictureBoxSizeMode.StretchImage;greenPlayHome.Controls.Add(greenPlayer);//记录消息框属性msg.Size = new Size(260,500);msg.Location = new Point(map.Right+20,50);msg.Font = new Font("",15);msg.ReadOnly = true;this.Controls.Add(msg);//骰子属性dice.Size = new Size(100,100);dice.Image = Image.FromFile("../../img/roll.png");dice.Location = new Point(msg.Left-150,50);dice.SizeMode = PictureBoxSizeMode.StretchImage;this.Controls.Add(dice);dice.MouseClick += Dice_MouseClick;textBox1.Location = new Point(50,map.Top-135);textBox2.Location = new Point(170, map.Top - 135);string startmsg = "在游戏开始前(第一次点击骰子)请先设置好自己的名字(不设置将采用系统给定名字),两个人先轮流掷骰子,点大的先行一步,红飞机先手";ResultTell(startmsg);}//骰子的点击事件(投掷骰子决定谁先可以出门)private void Dice_MouseClick(object sender, MouseEventArgs e){if (textBox1.Text == ""||textBox2.Text==""){textBox1.Text = "红方";textBox2.Text = "绿方";textBox1.ReadOnly = true;textBox2.ReadOnly = true;msg.Focus();playName[0] = textBox1

C#.Net窗体应用程序之实现飞行棋(两人对弈)相关推荐

  1. 黑马程序员__飞行棋

    黑马程序员__飞行棋 ------- Windows Phone 7手机开发..Net培训.期待与您交流! ------- using System; using System.Collections ...

  2. android飞行棋小程序,快来飞行棋小程序-微信快来飞行棋小程序小游戏-游戏宝手游网...

    快来飞行棋小程序是一款好玩的创意小游戏,点击喜欢的角色和其他玩家们来一场刺激的飞行棋大赛,快来飞行棋小程序中不同的冒险玩法和创意休闲体验让你成功完成任务,使用你的专属道具驾驶飞机超过其他的玩家,经典的 ...

  3. 黑马程序员 骑士飞行棋

    ------- Windows Phone 7手机开发..Net培训.期待与您交流! ------- 游戏说明: 有一个100格的棋盘(当然也可以自定义200甚至300格),玩家A和玩家B互掷骰子,根 ...

  4. 黑马程序员 骑士飞行棋源码

    ---------------------- Windows Phone 7手机开发..Net培训.期待与您交流! ---------------------- using System; using ...

  5. 黑马程序员-骑士飞行棋

    ---------------------- Windows Phone 7手机开发.Net培训.期待与您交流! ---------------------- using System; using ...

  6. 飞行棋【DFS+剪枝】

    >Link luogu U137467 >Description 众所周知,飞行棋每个人会执不同颜色的飞行棋子,由于人数众多,牛牛的飞行棋盘和正常的有点不一样,是一个n*m大 小的棋盘,游 ...

  7. PyQt4 Python GUI窗体应用程序

    目录 目录 前言 软件环境 PyQT简介 Setup PyCharm Setup SIP Setup PyQt4 测试PyQt是否安装成功 常见错误 最后 前言 还是一句老话,公司要什么我就做什么.这 ...

  8. VS中使用C#开发一个登录窗体应用程序

    场景 使用VS2012开发第一个Windows窗体程序. 实现 打开vs-文件-新建-项目 选择Visual C#-Windows 窗体应用程序,配置项目名字与存储路径. 新建完之后如下,点击工具箱, ...

  9. Win32窗体应用程序如何添加资源文件?

    Win32窗体应用程序如何添加资源文件? 上一篇文章介绍了:如何创建一个最简单的Windows窗体应用程序. 按照上一篇文章的介绍,我们的HelloApp项目对应如下的窗体应用程序: 这一篇文章中,我 ...

最新文章

  1. mysql多条件查询_使用dsum轻松搞定多条件查询,学会它,再也想用sumifs了
  2. 什么是CNN卷积神经网络的感受野及动画演示
  3. android频道编辑实现_短说频道功能详解—构建你社区的小门户
  4. sql加上唯一索引后批量插入_MySQL当批量插入遇上唯一索引
  5. java ee 值范围_javaEE四大作用域(共享域)
  6. html类名定义规则_好程序员分享Java语言中的标识符规则
  7. 零基础适合学python吗-零基础更适合学习Java还是python?
  8. python语言中print函数的作用_python中print()方法有什么
  9. oracle 物料属性批次过期,物料批次特性值
  10. 城域网100G宽带传输设备实现客户接入链路告警
  11. 系列学习 Gateway 之第 5 篇 —— 搭建高可用网关(完结)
  12. Visio对一个对象进行水平翻转
  13. 期货基础知识(竞价,定价,保证金计算)
  14. 直接从Google Play下载apk(附源码)
  15. java毕业实习报告范文3篇
  16. 人脸识别系列(十七):ArcFace/Insight Face
  17. 2020七月实训GUI学生信息管理系统
  18. 爬取私募排排网历史净值和破解加密数值(上)
  19. 滴水逆向第二集-作业
  20. UpdatePack7R2 v22.11.10 Win7累积更新离线整合补丁

热门文章

  1. 大话设计模式-代理模式(大鸟和小菜Java版)
  2. 计算机被限制无法打开C盘,Win7设置C盘提示“本次操作由于这台计算机限制而被取消”怎么办...
  3. Apollo EM planner
  4. c++重载,覆盖,隐藏的定义与区别--------华清远见
  5. PAT --- 1037.在霍格沃茨找零钱 (20 分)
  6. postfix+squirrelmail实现邮件服务器
  7. FreeRTOS任务运行时间信息统计
  8. [hiho 23]单源最短路-Dijstra算法
  9. mysql写定时执行语句_mysql实现定时执行sql语句
  10. mysql常见日志general_mysql中general_log日志知识点介绍