基于windowsce的c贪吃蛇游戏内容摘要:

(pen1, , , 10, 10)。 (brush1, , 10, 10)。 } 蛇的绘制方法 : public void Eat(Food food) { body[number] =。 //通过将要吃的食物的坐标点值赋给蛇的最后一位 ,以实现蛇吃食物 ++。 //蛇身的长度加 } public void Draw(Graphics g) //画蛇的方法 ,传 递的参数为画蛇所用的面板 { Pen pens = new Pen(, 1)。 SolidBrush brush = new SolidBrush()。 (pens, body[0].X, body[0].Y, side, side)。 (brush, body[0].X, body[0].Y, side, side)。 for (int i = 1。 i = number 1。 i++) { Pen pen = new Pen()。 17 (pen, body[i].X, body[i].Y, side, side)。 } } 蛇的移动及死亡判定: public void Move(Size range) //蛇的移动方法 ,参数为蛇的移动范围 { for (int i = 1。 i 0。 i) { body[i] = body[i 1]。 //从蛇尾开始将蛇身的每前一个节点坐标值赋给后一个坐标点 } switch () //根据蛇的移动方向来设定蛇头的移动方向 { case : body[0].Y = side。 break。 case : body[0].Y += side。 break。 case : body[0].X = side。 break。 case : body[0].X += side。 break。 } //如果蛇头的位置超过了参数的范围 ,则将蛇的存活状态设为 false,即蛇死亡 if (body[0].X 0 || body[0].X side || body[0].Y 0 || body[0].Y side) { = false。 } for (int i = 1。 i = number 1。 i++) //蛇如果撞到自身 ,蛇也死亡 { if (body[0].X == body[i].X amp。 amp。 body[0].Y == body[i].Y) { = false。 } } } 18 五、 运行结果 经过在 Visual Studio2020 环境中测试和排错后,应用程序没有出现错误。 PC 机和实验箱建立连接后,在 VS2020 中启动 Debug 按钮,选择相应设置, C应用程序顺利运行在 Windows CE 系统上,运行结果如下图: 开始界面: 游戏运行中: 19 六、 附录 参考资料 《新编 Visual C 2020 从入门到精通 》龙马工作室 人民邮政出版社 《嵌入式系统设计与开发》马文华主编 科学出版社 还有网上的相关资料 遇到的问题与解决方法 本程序由于个人技术有限 ,所以在很多方面还没有完善 ,如,在用触屏的方向键控制蛇的运动方向时 ,灵敏度稍差 .所以在使用的时候还请注意 .在随机生成食物的方法中,一开始没与 panel 的边界匹配,后经过检查修改了这一错误。 20 程序清单 1:主程序代码 using System。 using。 using。 using。 using。 using。 using。 namespace dd { public partial class Form1 : Form { Snake snake。 Food food。 public Form1() { InitializeComponent()。 snake = new Snake()。 food = new Food()。 = false。 =。 } private void button2_Click(object sender, EventArgs e) { ()。 ()。 } private void button1_Click(object sender, EventArgs e) { = true。 } private void button3_Click(object sender, EventArgs e) { = false。 } 21 private void button4_Click(object sender, EventArgs e) { ()。 } private void movetimer_Tick(object sender, EventArgs e) { ()。 ()。 ()。 } private void panel1_Paint(object sender, PaintEventArgs e) { Graphics g =。 =。 (g)。 if ( == false) { = false。 } if ([0].X == amp。 amp。 [0].Y == ) { (food)。 = false。 = (( 2)*100).ToString()。 } if (!) { = ()。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。