资源简介
最近自己开发了个简单的基于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);
相关资源
- Android使用SurfaceView的迷宫寻路动画
- GsonFormat.jar包(android studio 插件)
- 本科毕业设计-Android手势密码锁的设计
- android录音并上传至服务器
- java android 调用webservice
- Android2.3.5 softap开启流程及框架
- android微博
-
D-XXPla
yer-android音乐播放器源码 - android messagebox
- android简单学生管理系统
- android 网络流量监控源码
- android-smart-image-view-master
- php与安卓交互代码实现
- android rss阅读器源码
- android悬浮窗口
- Android启动时验证AVB
- Android中RecyclerView点击item展开列表详细
- 一个基于androidstudio开发的二手交易平
- Android 重力感应游戏-疯狂的小球源码
- NFC点对点传输AndroidBeamDemo
- Android 购物车的最佳实现2019.05.08
- andrid 蓝牙开发 bluetooth
- 查看Android应用签名工具
- android源码之log.h
- MyEclipse9MyEclipse10 安装ADT
- Android support v7 lib包 (含V4否则报错)
- Android速度仪表盘,速度评级小车动画
- Android组件之Webview
- android sha1安全码校正
- 将存RGB数据流上屏显示android
评论
共有 条评论