Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

一、项目简介

贪吃蛇是一个很经典的游戏,也很适合用来学习。本教程将和大家一起做一个Android版的贪吃蛇游戏。

我已经将做好的案例上传到了应用宝,无病毒、无广告,大家可以放心下载下来把玩一下。应用宝不允许重名,我取名叫“快乐贪吃蛇”。
应用宝链接:http://sj.qq.com/myapp/detail.htm?apkName=net.chengyujia.happysnake

同时我也将本游戏的源代码上传到了GitHub,欢迎大家Fork。
GitHub链接:https://github.com/jackchengyujia/HappySnake

这里上两张截图有个大概的了解:

怎么玩大家应该都知道,不过我还是想多提一下。通过屏幕上的方向键控制蛇的前进方向。蛇每吃到一个食物身体会增长一个点,同时前进的速度也会加快。当蛇的头部撞到四周的墙壁或自己的身体时游戏结束,游戏得分就是吃掉食物的个数。

二、开发环境


Android Studio 2.0+

三、预备知识

学习本教程需要以下预备知识:
1.Java基础;
2.Activity与布局文件;
3.常用布局LinearLayout,常用控件TextView、ImageView、Button等;
4.数据存储SharedPreferences。

有了以上预备知识就可以继续下面的课程啦。

四、目录

下面的链接是本教程中已经写好的章节,后续新写好的章节我会不断补充到这里。

Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

Android快乐贪吃蛇游戏实战项目开发教程-02虚拟方向键(一)自定义控件概述

Android快乐贪吃蛇游戏实战项目开发教程-03虚拟方向键(二)绘制一个三角形

Android快乐贪吃蛇游戏实战项目开发教程-04虚拟方向键(三)三角形按钮效果

Android快乐贪吃蛇游戏实战项目开发教程-05虚拟方向键(四)四个三角形按钮 

Android快乐贪吃蛇游戏实战项目开发教程-06虚拟方向键(五)绘制方向键箭头

转载于:https://www.cnblogs.com/chengyujia/p/5787111.html

一个C#小程序,贪吃蛇游戏 using System; using System.Collections; using System.Drawing; using System.Windows.Forms; namespace WSnake { /// <summary> /// SnakeMod 的摘要说明。 /// </summary> public class SnakeMod { #region 定义6个字段 //判断食物是否在蛇身体里 private bool hasFood = false; //蛇身介质 private Label body; //蛇的颜色 private Color _color = System.Drawing.Color.SkyBlue; //蛇的大小 private Size size; //移动方向默认向西 private WSnake.Way way =Way.WEST; //蛇身 private ArrayList snake; #endregion #region 定义2个属性 public Way SnakeWay { set { this.way=value; } get { return way; } } //颜色属性 public System.Drawing.Color BodyColor { set { this._color = value; } } #endregion #region 定义7个方法 //构造函数 public SnakeMod() { } //画蛇 public void DrawSnake() { //设置大小 size = new Size(10,10); //设置身体 snake = new ArrayList(); for(int i=0;i<5;i++) { body = new Label(); body.BackColor = _color; body.Size = size; body.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; body.Location=new Point(200+i*10,150); snake.Add(body); } } //返回蛇体 public ArrayList GetSnake() { return snake; } //蛇体移动 public void Move(System.Windows.Forms.Control control) { if(!this.hasFood) { control.Controls.Remove(control.GetChildAtPoint(((Label)snake[snake.Count-1]).Location)); snake.RemoveAt(snake.Count-1); } Label temp = new Label(); this.CopyBody(temp,(Label)snake[0]); switch(this.way) { case Way.WEST: { temp.Left-=10; snake.Insert(0,temp); break; } case Way.EAST: { temp.Left+=10; snake.Insert(0,temp); break; } case Way.NORTH: { temp.Top-=10; snake.Insert(0,temp); break; } case Way.SOUTH: { temp.Top+=10; snake.Insert(0,temp); break; } } control.Controls.Add((Label)snake[0]); if(this.hasFood) { this.hasFood=false; } } //copy蛇身 private void CopyBody(Label x,Label y) { x.Location = y.Location; x.BackColor = y.BackColor; x.Size = y.Size; x.BorderStyle = y.BorderStyle; } //吃东西 public bool Eat(Point food) { if(((Label)snake[0]).Left == food.X && ((Label)snake[0]).Top == food.Y) { //吃到东西 this.hasFood = true; return true; } return false; } #endregion } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值