c#贪吃蛇制作
c#贪吃蛇精简版 public void 创建蛇身() { //创建一个Label标签 Label lbl = new Label(); //设置背景颜色,如果是蛇头就添加不同的颜色 if (arr.Count == 0) {//蛇头 lbl.BackColor = Color.Blue; } else {//蛇身 lbl.BackColor = Color.Red; } //设置宽和高 lbl.Width = 19; lbl.Height = 19; //设置起始位置 lbl.Left = -20; //添加到Panel中 this.panel1.Controls.Add(lbl); //将这一节身体保存在ArrayList中,以方便将来对蛇的身体进行移动操作 arr.Add(lbl); } //定时器 private void timer1_Tick(object sender, EventArgs e) { //先移动身体,从尾巴开始移动 for (int i = arr.Count - 1; i > 0; i--) { //得到第i节身体 Label 身体i = (Label)arr[i]; //得到第i节身体的前一节身体 Label 前一节 = (Label)arr[i - 1]; //移动第i节身体 身体i.Left = 前一节.Left; 身体i.Top = 前一节.Top; } //得到蛇头 Label 蛇头 = (Label)arr[0]; //根据方向移动蛇头 if (fx == "上") 蛇头.Top -= 20; else if (fx == "下") 蛇头.Top += 20; else if (fx == "左") 蛇头.Left -= 20; else if (fx == "右") 蛇头.Left += 20; //判断撞墙了没有 if (蛇头.Left < 0 || 蛇头.Top < 0 || 蛇头.Left >= this.panel1.Width || 蛇头.Top >= this.panel1.Height) { this.timer1.Stop(); MessageBox.Show("你撞墙了。"); 重新开始游戏(); return; } //判断有没有撞自己 for (int i = 1; i < arr.Count; i++) { //取出第i节蛇身 Label 蛇身 = (Label)arr[i]; //判断有没有相撞 if (蛇头.Left == 蛇身.Left && 蛇头.Top == 蛇身.Top) { this.timer1.Stop(); MessageBox.Show("你撞到自己了。"); 重新开始游戏(); return; } }
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助