http://blog.csdn.net/xiaoxiao108/archive/2010/12/18/6084473.aspx 记得在大学学java时,同学在下载了很多java的视频,看到里面有些是介绍简单游戏开发的,马士兵老师讲的,挺感兴趣的。一起看了看视频写了写程序。现在毕业了,因为工作中用的是C#,最近很想拿C#把以前写的坦克大战重写下,来熟悉熟悉C#的基本语法。 程序很简单,跟java代码相比没有多大改动 开发环境 vs2008 实现方法如下 1.在form中添加一个panel,在panel的 Paint方法中得到Graphics对象 2.通过Graphics对象再panel画出坦克,子弹等相关内容 3.添加timer控件 来控制panel的重画 实现坦克,子弹的运动 4.根据电脑按下的方向键,确定出坦克的方向,panel重画时根据坦克的方向修改坦克的X,Y轴坐标,来实现坦克的移动 5.通过Rectangle的IntersectsWith函数来进行碰撞检测,实现子弹打击坦克 具体实现代码 1.在项目里面添加枚举类型 /// /// 表示方向的的枚举类型 /// public enum Direction { L, U, D, R, STOP } 2.添加子弹类的相关常量,属性 /// /// 子弹X轴的速度,单位PX /// public static int XSPEED = 10; /// /// 子弹Y轴的速度,单位PX /// public static int YSPEED = 10; /// /// 子弹的宽度 /// public static int WIDTH = 10; /// /// 子弹的高度 /// public static int HEIGHT = 10; /// /// 子弹的坐标 /// int x, y; /// /// 子弹的方向 /// Direction dir; /// /// 子弹的存活状态 /// private bool live = true; /// /// TankClient窗体实例 /// private TankClient tankClient; /// /// 敌我双方的标记 /// private bool good; 3.添加draw方法来画出子弹 public void Draw(Graphics g) { if (!live) { tankClient.missiles.Remove(this); return; } //通过画椭圆函数在界面上显示子弹 g.FillEllipse(Brushes.Black, x, y, Missile.WIDTH, Missile.HEIGHT); Move(); } 4.添加子弹打击坦克的方法 public bool HitTank(Tank t) { //用IntersectsWith来检测两个矩形相碰撞 if (GetRectangle().IntersectsWith((t.GetRectangle())) && t.Live && t
2019-12-21 22:02:14 73KB C# 坦克大战 双缓冲 碰撞检测
1
多生产者多消费者缓冲区问ppt及代码值得下载
2019-12-21 21:56:23 250KB 生产者 消费者
1
基于STM32的OV5640摄像头+双缓冲+成像ok+内存管理+格式ok+初步二值化ok+图像腐蚀ok。
2019-12-21 21:35:04 27.49MB OV5640摄像头 stm32
1
基于Timer的最简单的双缓冲画图实例教程, 有代码哦,呵呵,欢迎交流!
2019-12-21 21:31:32 1.96MB 双缓冲绘图 Timer
1
本资源使用LABVIEW开发的基于数据记录仪采集出的TXT文件,通过16进制读取放入循环缓冲区,采用dll或vi解帧后显示,并可保存为EXCEL文件。
1
STM32F103 使用定时器触发ADC,并使用DMA中断+双缓冲实现数据采集。 博客地址 http://blog.csdn.net/u014124220/article/details/50785775
2019-12-21 21:29:41 480KB STM32F103
1
讲述图像双缓冲技术,并实现一个游戏动画demo 《MFC游戏开发》源代码 http://blog.csdn.net/u011371356 欢迎大家关注
2019-12-21 21:22:15 24.47MB MFC 游戏开发 图像双缓冲
1
C#做的一个模拟心电图的小程序,采用双缓冲技术、
2019-12-21 21:20:14 50KB 双缓冲
1
本次设计编写实现四种操作即:收容输入;提取输入;收容输出;提取输出的执行程序,动态显示三种队列的长度或保存的数据。例如:执行收容输入后则空队列长度减1,输入队列长度加1,并且输入队列的一个节点保存了收容输入操作的输入数据。
2019-12-21 21:17:53 157KB 缓冲池
1
FPGA串口模块,原创作者为CrazyBingo,在《FPGA案例技巧与开发实例详解》中的串口模块基础上改造,加入串口缓冲区FIFO,无须关心使能信号。已在Nexys4 DDR开发板上验证,开发环境为Vivado 2015.4
2019-12-21 21:14:31 21.17MB FPGA 串口 FIFO
1