基于android操作系统的足球小将手机游戏毕业论文(编辑修改稿)内容摘要:

else{ //攻击方向向下 = 9 + (int)(()*100)%3。 //取 9,10, 11中一个 } break。 case 4: //移动方向向右 if( == 0){ //攻击方向向上 = 1 + (int)(()*100)%3。 //取 1,2, 3中一个 } else{ //攻击方向向下 = 5 + (int)(()*100)%3。 // 取5,6,7中一个 } break。 default: //没有移动 if( == 0){ //攻击方向向上 = 15 + (int)(()*100)%3。 //取 1, 2, 3中一个 if( 15){ = % 16。 } } else{ //攻击方向向下 = 7 + (int)(()*100)%3。 //取 7,8, 9中一个 } 15 break。 } } /* * 此方法用于检测是否进球,如是,则相应球队得分加 1,然后判断游戏是否结束(游戏规则是谁先进够 8个谁就 赢) */ public void checkIfScoreAGoal(){ if( = amp。 amp。 amp。 amp。 ){ //上方球门进球 ,即玩家 isPlaying = false。 [0]++。 ()。 } else if( = amp。 amp。 amp。 amp。 ){ //AI进球 isPlaying = false。 [1]++。 ()。 } } //升级方法 public void levelUp(){ +=3。 if(minVelocity 20){ minVelocity = 20。 } } /* * 该方法判断是否碰到了 Bonus,如果碰到,对相应的 Bonus进行操作 * 改变其状态,调用其方法修改游戏参数等等,并播放声音 */ public void checkForBonus(){ if(() != 0){ for(Bonus b:){ if(( x)*( x) + ()*() = (+ballSize/2)*(+ballSize/2) amp。 amp。 == ){ =。 (b)。 ()。 ()。 ()。 if(){ 16 if(b instanceof IceBonus){ //是冰冻小球 try { ()。 } catch (Exception e) {} } else if( b instanceof LargerGoalBonus){ //是扩大球门的 try { ()。 } catch (Exception e) {} } } break。 } } } } public class FootballActivity extends Activity { View current。 // 记录当前 View GameView gv。 // GameView对象 WeleView wele。 // 欢迎界面 LoadingView lv。 // 进度条加载界面 int keyState = 0。 // xxxx00为不动, xxxx10为向 左 ,xxxx01为向右 PlayerMoveThread pmt。 // 移动球员位置的线程 boolean wantSound = true。 // 是否播放声音标志位 int[] layoutArray。 // 表示球员球场站位的数组 MediaPlayer mpWeleMusic。 // 游戏开始前的欢迎音乐 MediaPlayer mpKick。 // 踢球音效 MediaPlayer mpCheerForWin。 // 赢了的音乐 MediaPlayer mpCheerForLose。 // 输了的音乐 MediaPlayer mpCheerForGoal。 // 进球后的音乐 MediaPlayer mpIce。 // 撞到冰山后的音乐 MediaPlayer mpLargerGoal。 // 撞到打开球门后的音乐 Rect[] rectPlus。 // 代表增加球员按钮的矩形框 Rect[] rectMinus。 // 代表减少球员按钮的矩形框 Rect rectSound。 // 是否播放声音按钮的矩形框 Rect rectStart。 // 开始按钮的矩形框 Rect rectQuit。 // 退出按钮的矩形框 Rect rectGallery。 // 表示 Gallery的矩形框 int[] imageIDs = { // 存放 8个俱乐部的图片 ID , , , 17 , , , , }。 int clubID = imageIDs[0]。 // 记录用户选择的俱乐部的 ID public void onCreate(Bundle savedInstanceState) { // 重写 onCreate方法 (savedInstanceState)。 initWeleSound(this)。 // 初始化开场动画音乐 requestWindowFeature()。 // 设置全屏 getWindow().setFlags(, )。 wele = new WeleView(this)。 // 将屏幕切到欢迎界面 setContentView(wele)。 // current是当前 activity中打开的视图 current = wele。 // wantSound一 个变量表示用户是否开启音乐 if (wantSound amp。 amp。 mpWeleMusic != null) { // 如需要,播放相应声音 ()。 } initRects()。 // 初始化用于匹配点击事件的矩形框 } // 方法:初始化欢迎界面的声音 public void initWeleSound(Context context) { mpWeleMusic = (context, )。 } // 方法:初始化矩形框 public void initRects() { rectPlus = new Rect[3]。 rectMinus = new Rect[3]。 for (int i = 0。 i 3。 i++) { rectPlus[i] = new Rect(244, 200 + 40 * i, 280, 236 + 40 * i)。 rectMinus[i] = new Rect(280, 200 + 40 * i, 316, 236 + 40 * i)。 } rectSound = new Rect(135, 370, 185, 420)。 rectStart = new Rect(205, 425, 295, 475)。 rectQuit = new Rect(25, 425, 115, 475)。 rectGallery = new Rect(10, 10, 310, 110)。 } @Override public boolean onTouchEvent(MotionEvent event) {// 重写 onTouchEvent方法 if (() == ) {// 判断事件类型 18 int x = (int) ()。 // 获得点击处的 X坐标 int y = (int) ()。 // 获得点击处的 Y坐标 if (current == wele) {// 如果当前界面是欢迎界面 if ((x, y)) { // 用户点击的是 Gallery (x, y)。 // 交给 Gallery来处理点击事件 } else if ((x, y)) { // 点下的是声音选项 = !。 // 更改声音选项 return true。 } else if ((x, y)) { // 点下开始键 if (checkLayout()) { // 检查玩家选择的布局是否正确 layoutArray =。 // 获得玩家选择站位布局 lv = new LoadingView(this)。 // 创建读取进度 View (lv)。 // 将屏幕设为读取进度的LoadingView = lv。 // 记录当前 View ()。 // 启动 LoadingView的刷屏线程 new Thread() { // 启动一个新线程,在其中创建 GameView对象 public void run() { if (wantSound) { initSound()。 // 初始化声音 } // 创建 // 创建游戏界面 = 100。 wele = null。 // 释放掉 WeleView } }.start()。 gv = new GameView(, imageIDs[])。 } } else if ((x, y)) { // 按下退出键 (0)。 // 程序退出 } else { // 检查是否按下了修改队员站位的加号和减号按钮 for (int i = 0。 i 3。 i++) { if (rectPlus[i].contains(x, y)) { // 如果有加号按钮点下,就增加对应进攻防守线上人数 // 如果有富余的人再加 if ([0] + [1] + [2] 10) { [i]++。 } break。 } 19 if (rectMinus[i].contains(x, y)) {// 如果有减号按钮点下,就减少相应人数 if ([i] 0) { // 如果该处人数不为零,就减少一个 [。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。