freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me的小球快跑游戲畢業(yè)論文(參考版)

2024-09-01 19:16本頁面
  

【正文】 //mapY為重力向量在 X、 Y軸平面上的投影的 Y坐標(biāo) if(mapX==0){ //如果 mapX等于 0 if(mapY0){ //mapY大于 0 return 0。 double mapX=gVector[0]。 //pitch軸恢復(fù) 30 gVector=(xAngle,gVector)。//獲取 y軸旋轉(zhuǎn)角度弧度 /* * 算法思想為手機(jī)在一個(gè)姿態(tài)后首先虛擬出一個(gè)重力向量, * 然后三次選裝把手機(jī)恢復(fù)到原始姿態(tài),期間重力向量伴隨 * 變化,最 后重力向量往手機(jī)平面上一投影,根據(jù)投影點(diǎn)的 * 位置即可得到位置編號(hào) 07 * 0 * 7 | 1 * \ | / * \ | / * 6|2 * / | \ * / | \ * 5 | 3 * 4 */ //虛擬一個(gè)重力向量 double[] gVector={0,0,100,1}。//獲取 z軸旋轉(zhuǎn)角度弧度 double xAngle=(values[1])。 // 調(diào)用RotateUtil的靜態(tài)方法計(jì)算出小球方向 } } ( 2) RotateUtil 類的開發(fā) 代碼如下: package 。 //重新計(jì)時(shí) } } public void analysisData(float[] values) { //對讀取的姿態(tài)數(shù)據(jù)進(jìn)行分析,調(diào)用RoateUtil的靜態(tài)方法解析出方向 double[] valuesTemp=new double[]{values[0],values[1],values[2]}。 //獲取系統(tǒng)當(dāng)前時(shí)間 if(now startTime = timeSpan){ //判斷是否走過指定的時(shí)間間隔 if(sensor == ){ analysisData(values)。 startTime = ()。 //500MS檢查一次 long startTime。 */ public class BallListener implements SensorListener{ DriftBall father。//引入相關(guān)類 import 。 } 六. 傳感器計(jì)算模塊的開發(fā) ( 1) BallListener 類的開發(fā) 代碼如下: package 。 //復(fù)位小球坐標(biāo) = 0。 //小球的生命數(shù)減 1 if( =0){ =STATUS_OVER。 //設(shè)置游戲狀態(tài)為 STATUS_LOSE if(){ //如有需要播放聲音 try { ()。 //小球的生命數(shù)加 1 break。 //修正小球的 Y坐標(biāo) [row][col] = 1。 } catch(Exception e){} } = col*size。 //如果不是最后一關(guān),就將關(guān)卡加 1 } break。 //暫停 GameThread的執(zhí)行 if( == MAX_LEVEL){ //檢查是否是最后一關(guān) = STATUS_PASS。 //設(shè)置游戲狀態(tài)為 STATUS_WIN if(){ //如有需要 播放聲音 try { ()。amp。 row = 。 } //檢查下邊界 if( + size *size){ return true。 } //檢查上邊界 if( 0){ return true。 map[row][col] == 0){ return true。row amp。 row=0amp。 colmap[0].length amp。 //求出左下角在地圖中所占的行數(shù) if(col=0 amp。 } //檢查左下角 col = 。amp。amp。amp。amp。//求出右下角在地圖中所占的列數(shù) row = (+size1)/size。 map[row][col] == 0){ return true。row amp。 row=0amp。 colmap[0].length amp。 //求出右上角在地圖中所占的行數(shù) if(col=0 amp。 } //檢查右上角 26 col = ( + size1)/size。amp。amp。amp。amp。 //求出左上角在地圖中所占的列數(shù) row = 。 int col=0。 //獲取地圖圖元大小 byte [][] map = 。 //若發(fā)生碰撞就撤銷移動(dòng) } break。 //若發(fā)生碰撞就撤銷移動(dòng) } = 。 case 7: //方向左上 = 。 //X方向上的移動(dòng) if(checkCollision()){ //若發(fā)生碰撞就撤銷移動(dòng) += 。 //若發(fā)生碰撞就撤銷移動(dòng) } break。 //若發(fā)生碰撞就撤銷移動(dòng) } += 。 case 5: //方向左下 = 。 //Y方向上的移動(dòng) if(checkCollision()){ //檢測是否發(fā)生碰撞 = 。 //若發(fā)生碰撞就撤銷移動(dòng) } break。 //若發(fā)生碰撞就撤銷移動(dòng) } += 。 case 3: //方向右下 += 。 //X方向上的移動(dòng) if(checkCollision()){ //檢測是否發(fā)生碰撞 = 。 //若發(fā)生碰撞就撤銷移動(dòng) } break。 //若發(fā)生碰撞就撤銷移動(dòng) } += 。 case 1: //方向右上 = 。 //Y方向上的移動(dòng) if(checkCollision()){ //檢測是否發(fā)生碰撞 += 。 24 } catch(Exception e){ ()。 } catch(Exception e){ ()。 } } } catch(Exception e){ } //移動(dòng)小球 checkAndMoveBall()。 trapCounter = 0。 } //陷阱動(dòng)畫 trapCounter++。 if(eatCounter == 200/sleepSpan){ = (+1)%。 } meteoCounter = 0。 if( = ){ //超出屏幕邊界則重新初始化 ()。 } } //隕石的運(yùn)動(dòng) 23 meteoCounter++。 if( = 480){ = 150。 if(nebulaCounter == 40/sleepSpan){ +=1。 if( == 600){ = 0。 if(backCounter == 50/sleepSpan){ //星空是 500ms移動(dòng)一下 =1。 = true。 //外層循環(huán) boolean isGameOn = false。 //陷阱幀控制計(jì)數(shù)器 int meteoCounter。 //星云幀控制計(jì)數(shù)器 int eatCounter。 //休眠時(shí)間 int backCounter。 //引入 DriftBall類的靜態(tài)常量 public class GameThread extends Thread{ GameView father。不同的元素的不同的換幀間隔是通過幀控制計(jì)數(shù)器 * 來實(shí)現(xiàn)的。 //游戲通關(guān)圖片 21 圖 3 游戲運(yùn)行界面 五.游戲后臺(tái)邏輯的開發(fā) ( 1)小球的運(yùn)動(dòng)控制 代碼如下 22 package 。 //游戲勝利圖片 Bitmap bmpGameOver。 //數(shù)字圖片 Bitmap [] bmpMenuItem。 //加命圖片 Bitmap bmpMultiply。 //大炮圖片 Bitmap bmpMissile。 //家的圖片 Bitmap [] bmpTrap。 //隕石圖片 Bitmap [] bmpEat。 //小球圖片 Bitmap bmpTile。 //星空圖片 Bitmap bmpNebula。 //存放導(dǎo)彈集合 ArrayListCannon alCannon = new ArrayListCannon()。 //游戲菜單線 程 Meteorolite [] meteoArray。 //后臺(tái)數(shù)據(jù)的修改線程 CannonThread ct。 //DriftBall引用 DrawThread dt。 //陷阱動(dòng)畫索引 boolean showMenu。 //吃人動(dòng)畫幀索引 int status。 //小球運(yùn)動(dòng)方向,上為 0,順時(shí)針依次為 1~7 int velocity = 4。 //小球的縱坐標(biāo) int tileSize = 20。 //星云的 y坐標(biāo) int ballX。 //x坐標(biāo)總是為零 int nebulaX。 //屏幕寬度 int screenHeight = 480。 //引入相關(guān)類 /* * 該類繼承自 SurfaceView,主要功能是繪制游戲屏幕,對后臺(tái)的繪制或其他線程 * 進(jìn)行控制。 //引入相關(guān)類 import 。 //引入相關(guān)類 import 。 //引入相關(guān)類 import 。 //引入相關(guān)類 import 。 //隨機(jī)產(chǎn)生隕石動(dòng)畫的幀索引 } } 19 package 。 //隨機(jī)產(chǎn)生 Y坐標(biāo) up = (()?true:false)。 } public void init(){//方法:初始化成員變量 x = (int)(()*290)。 //為 true則在地圖圖層上,為 false則在地圖圖層下 int index。 //隕石 x坐標(biāo) int y。 } } ( 2)其他圖層的開發(fā)與實(shí)現(xiàn) 代碼如下: package 。同時(shí)還提供了一個(gè)靜態(tài)方法,調(diào)用之后返回一個(gè) * 地圖的二維數(shù)組 */ public class GameMap{ static byte [][][] map = {//地圖,為 0則空,為 1則路 ,2為家 ,3是加命的 ,4是吃小球的 ,5是陷阱 ,6是大炮 { //第 一關(guān) {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,1,1,1,1,5,1,1,1,1,0,0,0,0,0,0}, {0,0,0,1,0,0,0,0,0,1,1,1,1,0,0,0}, {0,0,0,1,1,1,1,1,1,1,0,0,1,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0}, {0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0}, {0,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0}, {0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0}, {0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0}, {0,0,1,0,0,0,1,0,1,0,0,0,1,0,0,0}, {0,0,1,1,1,1,1,0,1,1,1,1,1,0,0,0}, {0,4,0,1,0,0,0,0,0,0,0,1,0,0,4,0}, {4,3,1,1,1,1,
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1