android 疯狂足球原码,基于Android的疯狂足球游戏源代码

本文档提供了基于Android的疯狂足球游戏的源代码详细解析,包括Ball类的设计,运动方向、速度管理、碰撞检测以及游戏规则的实现。源代码可以在指定的Linux公社FTP服务器上下载,涉及的主要技术包括Android图形绘制、线程管理和游戏逻辑控制。
摘要由CSDN通过智能技术生成

基于Android的疯狂足球游戏源代码。

相关文件下载在Linux公社的1号FTP服务器里,下载地址:

用户名:www.linuxidc.com

密码:www.muu.cc

在 2011年LinuxIDC.com\10月\10月\基于Android的疯狂足球游戏源代码

示例:

package wyf.wpf;   //声明包语句

import android.content.res.Resources;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Matrix;

/*

* Ball类是一个继承自Thread类的线程类。其主要的功能首先是封装足球有关的信息,如坐标点、方向、移动速度等。

* 其次,该类也负责移动足球的位置,进行碰撞检测,这些功能主要是通过run方法来实现的,run方法中主要有两个方法

* move和checkCollision,前者负责根据足球的方向(16种之一)来的移动足球的位置。后者用于进行碰撞检测,查看

* 是否足球碰到AI或玩家的运动员,是否遇到边界,是否遇到一些Bonus如冰冻小球等等。该类还有一个drawSelf方法,

* 用于在游戏View的myDraw方法中调用以绘制自己。

*/

public class Ball extends Thread{

int x;        //足球中心的x坐标

int y;        //足球中心的y坐标

int direction=-1;     //足球的运动方向,从0到15顺时针代表从向上开始的16个方向,写书的时候画个图贴上去

int velocity=20;     //足球的运动速率

int maxVelocity = 20;    //最大运动速率

int minVelocity = 5;    //最小运动速率

int ballSize = 10;     //足球大小

Matrix matrix;      //Matrix对象,用来实现足球图片的翻转效果

Bitmap bmpBall;      //足球的图片

GameView father;     //FieldView对象引用

float acceleration=-0.10f;   //足球在无人撞击时速度会逐渐衰减

boolean isStarted;     //比赛是否开始

boolean isPlaying;     //比赛是否正在进行

float sin675=0.92f;     //特定角度正弦值,用于计算移动的像素个数

float sin225=0.38f;     //特定角度正弦值,用于计算移动的像素个数

float sin45=0.7f;     //特定角度正弦值,用于计算移动的像素个数

int sleepSpan = 50;     //休眠时间

float changeOdd = 0.6f;    //变向的几率

int lastKicker;      //最近的这一脚是谁踢的,0代表自己,8代表AI

public Ball(GameView father){

super.setName("##-Ball");   //设置线程名字,用于调试用

this.father = father;

Resources r = father.getContext().getResources(); //获取Resources对象

bmpBall = BitmapFactory.decodeResource(r, R.drawable.ball);//设置图片

matrix = new Matrix();

isStarted = true;  //设置循环变量

isPlaying = true;  //

}

//线程的任务方法

public void run(){

while(isStarted){

while(isPlaying){

//移动足球

move();

//碰撞检测

checkCollision();

//休眠一下

try{

Thread.sleep(sleepSpan);

}

catch(Exception e){

e.printStackTrace();

}

}

try{

Thread.sleep(500);

}

catch(Exception e){  e.printStackTrace();

}

}

}

//绘制足球图片

public void drawSelf(Canvas canvas){

Bitmap bmp=null;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值