资源简介
最近自己开发了个简单的基于android的贪食蛇,自己觉得还不错,不过传到网上也赚不到什么钱,呵呵,就拿出来和大家交流交流了,这是主要的继承了View的游戏类
代码片段和文件信息
/**
* 游戏主类;
* @author 胡飞
* @since 2013年5月6日15:21:33;
* @function 实现游戏的运行功能;
*/
package com.example.snakegame;
import java.util.ArrayList;
import java.util.Random;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.drawable.BitmapDrawable;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;
@SuppressLint({ “ParserError“ “ParserError“ “ParserError“ “ParserError“ “ParserError“ “ParserError“ “ParserError“ })
public class gameView extends View implements Runnable {
//定义contex;
private Context mContext;
//定义标志位来确定是否刷新界面;
private int STATE=1;
//画笔;
private Paint paint;
//用一个矩形来存储食物的坐标;
private PointSnake pointFood;
//存储蛇身的数组;
private ArrayList Snake=new ArrayList();
//存储蛇的运动方向;
private char decoration=‘R‘;
//玩家想要使蛇运动的方向;
private char mayDecoration=‘R‘;
//存储食物的个数;
private int foodCount=0;
private Thread thread;
/*
* 存储滑动屏幕的位置;
*/
float x0=0.0f;
float y0=0.0f;
float x1=0.0f;
float y1=0.0f;
///////////////
//构造函数;
public gameView(Context context) {
super(context);
// TODO Auto-generated constructor stub
mContext=context;
paint=new Paint();
paint.setColor(Color.GREEN);
pointFood=new PointSnake();
//初始化蛇身;
initSnake();
//启动线程;;;
//new Thread(this).start();
thread=new Thread(this);
thread.start();
}
//显示;
@SuppressLint(“ParserError“)
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
//画出地图;
drawWall(canvaspaint);
//画出得分;
drawScore(canvas);
//如果没有食物则产生食物;
if(foodCount<=0)
{
createFood(canvaspaint);
}
//继续画食物;
if(foodCount==1)
{
paint.setColor(Color.YELLOW);
canvas.drawRect(pointFood.x1 pointFood.y1 pointFood.x2 pointFood.y2 paint);
}
/*
* 向右走;
*/
if(decoration==‘R‘)
{
/*
* 判断是否吃到食物,下一个为食物,则吃掉食物,重新产生食物;
*/
rightFood();
//判断是否吃到自己;
isRSelf();
/////////
isRWall();
if(Snake.size()==1)
{
Snake.get(0).x1+=10;
Snake.get(0).x2+=10;
}
if(Snake.size()>1)
{
//蛇身位置调整;
moveIn();
//蛇头右向前;
rigtHeadMove();
}
////////////
/*
* 画出蛇身;
*/
drawSnake(canvaspaint);
相关资源
- AndroidStudio版直连sqlserver
- android带百分比进度条的文件上传,使
- 美食天下项目Android版源码和Web版源码
- Android之自定义ToggleButton使用
- Android非常漂亮的登录界面
- pc与android通过usb socket实现手机通信
- android毕业设计
- 百度地图自定义Markerandroid
- Android分区工具包
- android-support-v4.jar已打包进去源代码
- u-blox_Android_GNSS_Driver_v3.10驱动源码+中
- 个人根据Android移动开发案例详解手写
- android 视频播放器 项目和原码
- Android【动画】【特效】 17种动画特效
- 基于Android智能家居详细设计(经典)
- android通过JDBC连接Mysql数据库
- Android通讯录的源代码
- android 瀑布流Demo
- 指纹传感器FPC1080在android下的驱动
- delphi xe5 android 调用照相机摄像头拍照
- Android手机连连看游戏源码
- android-sdk-windows v2.3离线完整版
- android 底部弹出菜单(带透明背景)
- Android工程模式简介.rar
- Android蓝牙和Cors网络开发源码
- Android powermanger wakelock
- Android v7的一些jar包
- 最新android supportV7包
- android图片压缩工具类分享
- 单机搭建Android(解决Network is unreach
评论
共有 条评论