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

正文內容

基于java的貪吃蛇游戲開發(fā)-資料下載頁

2024-12-04 13:08本頁面

【導讀】畢業(yè)設計成績評定表:注:未安排答辯者平時成績與評閱成績分別占總評成績的40%、60%;總評成績記優(yōu)秀、良好、中等、及格、不及格五等級計分。劃、畢業(yè)設計答辨需提交的材料等項目。

  

【正文】 0)。 (0,0,width,height)。 (0)。 //繪制蛇身 for(int i = 0。i snakeNum。i++){ (snake[i][0],snake[i][1],SNAKEWIDTH,SNAKEWIDTH)。 } //繪制食物 if(b){ (foodX,foodY,SNAKEWIDTH,SNAKEWIDTH)。 } } private void move(int direction){ //蛇身移動 for(int i = snakeNum 1。i 0。i){ snake[i][0] = snake[i 1][0]。 snake[i][1] = snake[i 1][1]。 } //第一個單元格移動 switch(direction){ case DIRECTION_UP: snake[0][1] = snake[0][1] SNAKEWIDTH。 break。 case DIRECTION_DOWN: snake[0][1] = snake[0][1] + SNAKEWIDTH。 break。 case DIRECTION_LEFT: snake[0][0] = snake[0][0] SNAKEWIDTH。 break。 case DIRECTION_RIGHT: snake[0][0] = snake[0][0] + SNAKEWIDTH。 break。 } } /** * 吃掉食物,自身增長 */ private void eatFood(){ //判別蛇頭是否和食物重疊 if(snake[0][0] == foodX amp。amp。 snake[0][1] == foodY){ snakeNum++。 generateFood()。 } } /** * 產(chǎn)生食物 * 說明:食物的坐標必須位于屏幕內,且不能和蛇身重合 */ private void generateFood(){ while(true){ foodX = (() % (width SNAKEWIDTH + 1)) / SNAKEWIDTH * SNAKEWIDTH。 foodY = (() % (height SNAKEWIDTH + 1)) / SNAKEWIDTH * SNAKEWIDTH。 boolean b = true。 for(int i = 0。i snakeNum。i++){ if(foodX == snake[i][0] amp。amp。 snake[i][1] == foodY){ b = false。 break。 } } if(b){ break。 } } } /** * 判斷游戲是否結束 * 結束條件: * 蛇頭超出邊界 * 蛇頭碰到自身 */ private boolean isGameOver(){ //邊界判別 if(snake[0][0] 0 || snake[0][0] (width SNAKEWIDTH) || snake[0][1] 0 || snake[0][1] (height SNAKEWIDTH)){ return true。 } //碰到自身 for(int i = 4。i snakeNum。i++){ if(snake[0][0] == snake[i][0] amp。amp。 snake[0][1] == snake[i][1]){ return true。 } } return false。 } /** * 事件處理 */ public void keyPressed(int keyCode){ int action = (keyCode)。 //改變方向 switch(action){ case UP: if(direction != DIRECTION_DOWN){ direction = DIRECTION_UP。 } break。 case DOWN: if(direction != DIRECTION_UP){ direction = DIRECTION_DOWN。 } break。 case LEFT: if(direction != DIRECTION_RIGHT){ direction = DIRECTION_LEFT。 } break。 case RIGHT: if(direction != DIRECTION_LEFT){ direction = DIRECTION_RIGHT。 } break。 case FIRE: //暫停和繼續(xù) isPaused = !isPaused。 break。 } } /** * 線程方法 * 使用精確延時 */ public void run(){ try{ while (isRun) { //開始時間 long start = ()。 if(!isPaused){ //吃食物 eatFood()。 //移動 move(direction)。 //結束游戲 if(isGameOver()){ break。 } //控制閃爍 b = !b。 } //重新繪制 repaint()。 long end = ()。 //延時 if(end start SLEEP_TIME){ (SLEEP_TIME (end start))。 } } }catch(Exception e){} } }
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1