内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

java貪吃蛇代碼步驟 java貪吃蛇代碼詳解

用JAVA設(shè)計(jì)游戲:貪吃蛇游戲

用MVC方式實(shí)現(xiàn)的貪吃蛇游戲,共有4個(gè)類(lèi)。運(yùn)行GreedSnake運(yùn)行即可。主要是觀察者模式的使用,我已經(jīng)添加了很多注釋了。

公司主營(yíng)業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出甘南免費(fèi)做網(wǎng)站回饋大家。

1、

/*

* 程序名稱(chēng):貪食蛇

* 原作者:BigF

* 修改者:algo

* 說(shuō)明:我以前也用C寫(xiě)過(guò)這個(gè)程序,現(xiàn)在看到BigF用Java寫(xiě)的這個(gè),發(fā)現(xiàn)雖然作者自稱(chēng)是Java的初學(xué)者,

* 但是明顯編寫(xiě)程序的素養(yǎng)不錯(cuò),程序結(jié)構(gòu)寫(xiě)得很清晰,有些細(xì)微得地方也寫(xiě)得很簡(jiǎn)潔,一時(shí)興起之

* 下,我認(rèn)真解讀了這個(gè)程序,發(fā)現(xiàn)數(shù)據(jù)和表現(xiàn)分開(kāi)得很好,而我近日正在學(xué)習(xí)MVC設(shè)計(jì)模式,

* 因此嘗試把程序得結(jié)構(gòu)改了一下,用MVC模式來(lái)實(shí)現(xiàn),對(duì)源程序得改動(dòng)不多。

* 我同時(shí)也為程序增加了一些自己理解得注釋?zhuān)M麑?duì)大家閱讀有幫助。

*/

package mvcTest;

/**

* @author WangYu

* @version 1.0

* Description:

* /pre

* Create on :Date :2005-6-13 Time:15:57:16

* LastModified:

* History:

*/

public class GreedSnake {

public static void main(String[] args) {

SnakeModel model = new SnakeModel(20,30);

SnakeControl control = new SnakeControl(model);

SnakeView view = new SnakeView(model,control);

//添加一個(gè)觀察者,讓view成為model的觀察者

model.addObserver(view);

(new Thread(model)).start();

}

}

-------------------------------------------------------------

2、

package mvcTest;

//SnakeControl.java

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

/**

* MVC中的Controler,負(fù)責(zé)接收用戶的操作,并把用戶操作通知Model

*/

public class SnakeControl implements KeyListener{

SnakeModel model;

public SnakeControl(SnakeModel model){

this.model = model;

}

public void keyPressed(KeyEvent e) {

int keyCode = e.getKeyCode();

if (model.running){ // 運(yùn)行狀態(tài)下,處理的按鍵

switch (keyCode) {

case KeyEvent.VK_UP:

model.changeDirection(SnakeModel.UP);

break;

case KeyEvent.VK_DOWN:

model.changeDirection(SnakeModel.DOWN);

break;

case KeyEvent.VK_LEFT:

model.changeDirection(SnakeModel.LEFT);

break;

case KeyEvent.VK_RIGHT:

model.changeDirection(SnakeModel.RIGHT);

break;

case KeyEvent.VK_ADD:

case KeyEvent.VK_PAGE_UP:

model.speedUp();

break;

case KeyEvent.VK_SUBTRACT:

case KeyEvent.VK_PAGE_DOWN:

model.speedDown();

break;

case KeyEvent.VK_SPACE:

case KeyEvent.VK_P:

model.changePauseState();

break;

default:

}

}

// 任何情況下處理的按鍵,按鍵導(dǎo)致重新啟動(dòng)游戲

if (keyCode == KeyEvent.VK_R ||

keyCode == KeyEvent.VK_S ||

keyCode == KeyEvent.VK_ENTER) {

model.reset();

}

}

public void keyReleased(KeyEvent e) {

}

public void keyTyped(KeyEvent e) {

}

}

-------------------------------------------------------------

3、

/*

*

*/

package mvcTest;

/**

* 游戲的Model類(lèi),負(fù)責(zé)所有游戲相關(guān)數(shù)據(jù)及運(yùn)行

* @author WangYu

* @version 1.0

* Description:

* /pre

* Create on :Date :2005-6-13 Time:15:58:33

* LastModified:

* History:

*/

//SnakeModel.java

import javax.swing.*;

import java.util.Arrays;

import java.util.LinkedList;

import java.util.Observable;

import java.util.Random;

/**

* 游戲的Model類(lèi),負(fù)責(zé)所有游戲相關(guān)數(shù)據(jù)及運(yùn)行

*/

class SnakeModel extends Observable implements Runnable {

boolean[][] matrix; // 指示位置上有沒(méi)蛇體或食物

LinkedList nodeArray = new LinkedList(); // 蛇體

Node food;

int maxX;

int maxY;

int direction = 2; // 蛇運(yùn)行的方向

boolean running = false; // 運(yùn)行狀態(tài)

int timeInterval = 200; // 時(shí)間間隔,毫秒

double speedChangeRate = 0.75; // 每次得速度變化率

boolean paused = false; // 暫停標(biāo)志

int score = 0; // 得分

int countMove = 0; // 吃到食物前移動(dòng)的次數(shù)

// UP and DOWN should be even

// RIGHT and LEFT should be odd

public static final int UP = 2;

public static final int DOWN = 4;

public static final int LEFT = 1;

public static final int RIGHT = 3;

public SnakeModel( int maxX, int maxY) {

this.maxX = maxX;

this.maxY = maxY;

reset();

}

public void reset(){

direction = SnakeModel.UP; // 蛇運(yùn)行的方向

timeInterval = 200; // 時(shí)間間隔,毫秒

paused = false; // 暫停標(biāo)志

score = 0; // 得分

countMove = 0; // 吃到食物前移動(dòng)的次數(shù)

// initial matirx, 全部清0

matrix = new boolean[maxX][];

for (int i = 0; i maxX; ++i) {

matrix[i] = new boolean[maxY];

Arrays.fill(matrix[i], false);

}

// initial the snake

// 初始化蛇體,如果橫向位置超過(guò)20個(gè),長(zhǎng)度為10,否則為橫向位置的一半

int initArrayLength = maxX 20 ? 10 : maxX / 2;

nodeArray.clear();

for (int i = 0; i initArrayLength; ++i) {

int x = maxX / 2 + i;//maxX被初始化為20

int y = maxY / 2; //maxY被初始化為30

//nodeArray[x,y]: [10,15]-[11,15]-[12,15]~~[20,15]

//默認(rèn)的運(yùn)行方向向上,所以游戲一開(kāi)始nodeArray就變?yōu)椋?/p>

// [10,14]-[10,15]-[11,15]-[12,15]~~[19,15]

nodeArray.addLast(new Node(x, y));

matrix[x][y] = true;

}

// 創(chuàng)建食物

food = createFood();

matrix[food.x][food.y] = true;

}

public void changeDirection(int newDirection) {

// 改變的方向不能與原來(lái)方向同向或反向

if (direction % 2 != newDirection % 2) {

direction = newDirection;

}

}

/**

* 運(yùn)行一次

* @return

*/

public boolean moveOn() {

Node n = (Node) nodeArray.getFirst();

int x = n.x;

int y = n.y;

// 根據(jù)方向增減坐標(biāo)值

switch (direction) {

case UP:

y--;

break;

case DOWN:

y++;

break;

case LEFT:

x--;

break;

case RIGHT:

x++;

break;

}

// 如果新坐標(biāo)落在有效范圍內(nèi),則進(jìn)行處理

if ((0 = x x maxX) (0 = y y maxY)) {

if (matrix[x][y]) { // 如果新坐標(biāo)的點(diǎn)上有東西(蛇體或者食物)

if (x == food.x y == food.y) { // 吃到食物,成功

nodeArray.addFirst(food); // 從蛇頭贈(zèng)長(zhǎng)

// 分?jǐn)?shù)規(guī)則,與移動(dòng)改變方向的次數(shù)和速度兩個(gè)元素有關(guān)

int scoreGet = (10000 - 200 * countMove) / timeInterval;

score += scoreGet 0 ? scoreGet : 10;

countMove = 0;

food = createFood(); // 創(chuàng)建新的食物

matrix[food.x][food.y] = true; // 設(shè)置食物所在位置

return true;

} else // 吃到蛇體自身,失敗

return false;

} else { // 如果新坐標(biāo)的點(diǎn)上沒(méi)有東西(蛇體),移動(dòng)蛇體

nodeArray.addFirst(new Node(x, y));

matrix[x][y] = true;

n = (Node) nodeArray.removeLast();

matrix[n.x][n.y] = false;

countMove++;

return true;

}

}

return false; // 觸到邊線,失敗

}

public void run() {

running = true;

while (running) {

try {

Thread.sleep(timeInterval);

} catch (Exception e) {

break;

}

if (!paused) {

if (moveOn()) {

setChanged(); // Model通知View數(shù)據(jù)已經(jīng)更新

notifyObservers();

} else {

JOptionPane.showMessageDialog(null,

"you failed",

"Game Over",

JOptionPane.INFORMATION_MESSAGE);

break;

}

}

}

running = false;

}

private Node createFood() {

int x = 0;

int y = 0;

// 隨機(jī)獲取一個(gè)有效區(qū)域內(nèi)的與蛇體和食物不重疊的位置

do {

Random r = new Random();

x = r.nextInt(maxX);

y = r.nextInt(maxY);

} while (matrix[x][y]);

return new Node(x, y);

}

public void speedUp() {

timeInterval *= speedChangeRate;

}

public void speedDown() {

timeInterval /= speedChangeRate;

}

public void changePauseState() {

paused = !paused;

}

public String toString() {

String result = "";

for (int i = 0; i nodeArray.size(); ++i) {

Node n = (Node) nodeArray.get(i);

result += "[" + n.x + "," + n.y + "]";

}

return result;

}

}

class Node {

int x;

int y;

Node(int x, int y) {

this.x = x;

this.y = y;

}

}

------------------------------------------------------------

4、

package mvcTest;

//SnakeView.java

import javax.swing.*;

import java.awt.*;

import java.util.Iterator;

import java.util.LinkedList;

import java.util.Observable;

import java.util.Observer;

/**

* MVC模式中得Viewer,只負(fù)責(zé)對(duì)數(shù)據(jù)的顯示,而不用理會(huì)游戲的控制邏輯

*/

public class SnakeView implements Observer {

SnakeControl control = null;

SnakeModel model = null;

JFrame mainFrame;

Canvas paintCanvas;

JLabel labelScore;

public static final int canvasWidth = 200;

public static final int canvasHeight = 300;

public static final int nodeWidth = 10;

public static final int nodeHeight = 10;

public SnakeView(SnakeModel model, SnakeControl control) {

this.model = model;

this.control = control;

mainFrame = new JFrame("GreedSnake");

Container cp = mainFrame.getContentPane();

// 創(chuàng)建頂部的分?jǐn)?shù)顯示

labelScore = new JLabel("Score:");

cp.add(labelScore, BorderLayout.NORTH);

// 創(chuàng)建中間的游戲顯示區(qū)域

paintCanvas = new Canvas();

paintCanvas.setSize(canvasWidth + 1, canvasHeight + 1);

paintCanvas.addKeyListener(control);

cp.add(paintCanvas, BorderLayout.CENTER);

// 創(chuàng)建底下的幫助欄

JPanel panelButtom = new JPanel();

panelButtom.setLayout(new BorderLayout());

JLabel labelHelp;

labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.NORTH);

labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.CENTER);

labelHelp = new JLabel("SPACE or P for pause", JLabel.CENTER);

panelButtom.add(labelHelp, BorderLayout.SOUTH);

cp.add(panelButtom, BorderLayout.SOUTH);

mainFrame.addKeyListener(control);

mainFrame.pack();

mainFrame.setResizable(false);

mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

mainFrame.setVisible(true);

}

void repaint() {

Graphics g = paintCanvas.getGraphics();

//draw background

g.setColor(Color.WHITE);

g.fillRect(0, 0, canvasWidth, canvasHeight);

// draw the snake

g.setColor(Color.BLACK);

LinkedList na = model.nodeArray;

Iterator it = na.iterator();

while (it.hasNext()) {

Node n = (Node) it.next();

drawNode(g, n);

}

// draw the food

g.setColor(Color.RED);

Node n = model.food;

drawNode(g, n);

updateScore();

}

private void drawNode(Graphics g, Node n) {

g.fillRect(n.x * nodeWidth,

n.y * nodeHeight,

nodeWidth - 1,

nodeHeight - 1);

}

public void updateScore() {

String s = "Score: " + model.score;

labelScore.setText(s);

}

public void update(Observable o, Object arg) {

repaint();

}

}

-------------------------------------------------------------

java貪吃蛇技術(shù)選型怎么寫(xiě)的?

Java貪吃蛇技術(shù)選型一般需要考慮以下幾點(diǎn):

開(kāi)發(fā)平臺(tái):需要選擇適用于Java語(yǔ)言的開(kāi)發(fā)平臺(tái),如Eclipse、IntelliJ IDEA等。

編程語(yǔ)言:需要選擇Java語(yǔ)言來(lái)開(kāi)發(fā)貪吃蛇游戲。

框架和庫(kù):可以使用Java中的Swing框架和AWT庫(kù)來(lái)開(kāi)發(fā)圖形界面,并使用Java多線程編程技術(shù)來(lái)實(shí)現(xiàn)游戲的實(shí)時(shí)動(dòng)態(tài)效果。

算法和數(shù)據(jù)結(jié)構(gòu):可以使用隊(duì)列或鏈表等數(shù)據(jù)結(jié)構(gòu)來(lái)存儲(chǔ)貪吃蛇的身體,并使用類(lèi)似貪心算法的思想來(lái)決定貪吃蛇的下一步移動(dòng)方向。

編碼風(fēng)格和規(guī)范:需要遵循Java的編碼風(fēng)格和規(guī)范,確保代碼的可讀性和可維護(hù)性。

希望以上內(nèi)容能夠幫助您了解Java貪吃蛇技術(shù)選型。如果您有其他問(wèn)題,歡迎隨時(shí)告訴我,我會(huì)盡力為您解答。

如何用慧編程做貪吃蛇代碼

用慧編程做貪吃蛇代碼過(guò)程如下:

1、我們需要建立四個(gè)頭文件,然后分別設(shè)置蛇的狀態(tài),上下左右,這是蛇能夠有方向可走的前提,然后我們?cè)僭O(shè)置蛇身的節(jié)點(diǎn),定義一個(gè)簡(jiǎn)單的函數(shù),這樣蛇的全身以及他的行走方向就弄完了。

2、貪吃蛇不能穿墻代碼。

3、第二步,一個(gè)函數(shù)這個(gè)函數(shù)的目的是貪吃蛇不能穿墻,很簡(jiǎn)單的代碼分別設(shè)置長(zhǎng)寬的最大位移,在內(nèi)部范圍內(nèi)設(shè)置為一即可通過(guò),否則不能穿墻。貪吃蛇隨機(jī)生成一個(gè)食物。

4、設(shè)置一個(gè)隨機(jī)函數(shù)。這樣貪吃蛇代碼就做好了。

慧編程是一款面向STEAM教育領(lǐng)域的積木式和代碼編程軟件,基于圖形化編程開(kāi)發(fā)。

怎么包裝貪吃蛇項(xiàng)目

思路:

首先你要有一條貪吃蛇,哎,就是玩兒。

1.先用Java敲一個(gè)貪吃蛇小游戲的程序。

2.把Java程序打包成jar文件包,把jar包打包成exe應(yīng)用程序

知道思路以后,接下來(lái)按照我的詳細(xì)步驟走,能少踩坑,別問(wèn)我怎么知道的?。?!

一、Java“敲一個(gè)”貪吃蛇小游戲

廢話不多說(shuō),本篇主要講從java項(xiàng)目到exe應(yīng)用程序,Java項(xiàng)目的代碼在我上傳的資源當(dāng)中——代碼-greedy snack.zip

二、將項(xiàng)目打成jar包

如何打包成jar包?

1.手動(dòng)打可直接執(zhí)行的jar包(本次不使用)2. 使用intellij idea工具打可直接執(zhí)行的jar包

1) 打開(kāi)項(xiàng)目

2)點(diǎn)擊 File — 選擇 Project Structure,找到“Artifacts” 點(diǎn)擊 “+” 選擇“JAR” —“Empty”。

3) Name欄可以填入自定義的名字,Output ditectory選擇jar包生成目標(biāo)目錄,Available Elements里雙擊需要添加到j(luò)ar包的文件,即可添加到左邊的jar包目錄,如圖:

4)點(diǎn)擊Create Manifest,選擇放置MANIFEST.MF的文件路徑,直接默認(rèn)項(xiàng)目根目錄就行,點(diǎn)擊OK。

5) 點(diǎn)擊Main Class后面選擇按鈕, 彈出框中選擇需要運(yùn)行程序入口main函數(shù),點(diǎn)擊OK,點(diǎn)擊OK。

6) 點(diǎn)擊菜單中“Build” - "Build Artifacts", 雙擊彈出框中待生成jar包下面的build即可,如下圖

7)至此使用Intellij idea生成可直接執(zhí)行jar包就完成了。

8)查看生成的jar包,并運(yùn)行jar包。命令行運(yùn)行jar包

java -jar xxx.jar

復(fù)制代碼

三、打包成為exe應(yīng)用程序

這里首先你要有:

上面生成的jar包 greedy snack.jar

工具:exe4j,一個(gè)將jar轉(zhuǎn)換成exe的工具 鏈接:… 提取碼:ijdv

1)安裝exe4j,打開(kāi)安裝好的exe4j,進(jìn)行注冊(cè)

注冊(cè)碼:L-g782dn2d-1f1yqxx1rv1sqd

2) 點(diǎn)擊 Next, 選擇JAVA轉(zhuǎn)EXE

3) Next,填入自定義的名字和生成目標(biāo)文件目錄

4) 繼續(xù)Next,選擇啟動(dòng)模式、設(shè)置程序名稱(chēng)和程序圖標(biāo)

5) 下方有個(gè)選項(xiàng),需要設(shè)置打包后的程序兼容32和64位系統(tǒng)。

勾選,然后Next。

6)然后Next,直到出現(xiàn)如下界面,開(kāi)始選擇jar包以及配置

在VM參數(shù)配置的地方加上:-Dfile.encoding=utf-8

添加jar包

設(shè)置啟動(dòng)類(lèi)

Next 配置JRE

Next 選擇 Client VM

7)Next 直到如下圖界面

桌面多了一個(gè)貪吃蛇小游戲3.0.exe文件,至此我們就成功的做出了一個(gè)Java貪吃蛇小游戲的exe應(yīng)用程序

貪吃蛇 java代碼

自己寫(xiě)著玩的,很簡(jiǎn)單,你試一試哦...

主要用了javax.swing.Timer這個(gè)類(lèi):

import java.awt.*;

import javax.swing.*;

@SuppressWarnings("serial")

public class MainClass extends JFrame {

ControlSnake control;

Toolkit kit;

Dimension dimen;

public static void main(String[] args) {

new MainClass("my snake");

}

public MainClass(String s) {

super(s);

control = new ControlSnake();

control.setFocusable(true);

kit = Toolkit.getDefaultToolkit();

dimen = kit.getScreenSize();

add(control);

setLayout(new BorderLayout());

setLocation(dimen.width / 3, dimen.height / 3);// dimen.width/3,dimen.height/3

setSize(FWIDTH, FHEIGHT);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setResizable(false);

setVisible(true);

}

public static final int FWIDTH = 315;

public static final int FHEIGHT = 380;

}

import java.util.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import javax.swing.Timer;

import java.util.Random;

@SuppressWarnings("serial")

public class ControlSnake extends JPanel implements ActionListener {

Random rand;

ArrayListPoint list, listBody;

String str, str1;

static boolean key;

int x, y, dx, dy, fx, fy, flag;

int snakeBody;

int speed;

public ControlSnake() {

snakeBody = 1;

str = "上下左右方向鍵控制 P鍵暫停...";

str1 = "現(xiàn)在的長(zhǎng)度為:" + snakeBody;

key = true;

flag = 1;

speed = 700;

rand = new Random();

list = new ArrayListPoint();

listBody = new ArrayListPoint();

x = 5;

y = 5;

list.add(new Point(x, y));

listBody.add(list.get(0));

dx = 10;

dy = 0;

fx = rand.nextInt(30) * 10 + 5;// 2

fy = rand.nextInt(30) * 10 + 5;// 2

setBackground(Color.WHITE);

setSize(new Dimension(318, 380));

final Timer time = new Timer(speed, this);

time.start();

addKeyListener(new KeyAdapter() {

public void keyPressed(KeyEvent e) {

if (e.getKeyCode() == 37) {

dx = -10;

dy = 0;

} else if (e.getKeyCode() == 38) {

dx = 0;

dy = -10;

} else if (e.getKeyCode() == 39) {

dx = 10;

dy = 0;

} else if (e.getKeyCode() == 40) {

dx = 0;

dy = 10;

} else if (e.getKeyCode() == 80) {

if (flag % 2 == 1) {

time.stop();

}

if (flag % 2 == 0) {

time.start();

}

flag++;

}

}

});

}

public void paint(Graphics g) {

g.setColor(Color.WHITE);

g.fillRect(0, 0, 400, 400);

g.setColor(Color.DARK_GRAY);

g.drawLine(3, 3, 305, 3);

g.drawLine(3, 3, 3, 305);

g.drawLine(305, 3, 305, 305);

g.drawLine(3, 305, 305, 305);

g.setColor(Color.PINK);

for (int i = 0; i listBody.size(); i++) {

g.fillRect(listBody.get(i).x, listBody.get(i).y, 9, 9);

}

g.fillRect(x, y, 9, 9);

g.setColor(Color.ORANGE);

g.fillRect(fx, fy, 9, 9);

g.setColor(Color.DARK_GRAY);

str1 = "現(xiàn)在的長(zhǎng)度為:" + snakeBody;

g.drawString(str, 10, 320);

g.drawString(str1, 10, 335);

}

public void actionPerformed(ActionEvent e) {

x += dx;

y += dy;

if (makeOut() == false) {

JOptionPane.showMessageDialog(null, "重新開(kāi)始......");

speed = 700;

snakeBody = 1;

x = 5;

y = 5;

list.clear();

list.add(new Point(x, y));

listBody.clear();

listBody.add(list.get(0));

dx = 10;

dy = 0;

}

addPoint(x, y);

if (x == fx y == fy) {

speed = (int) (speed * 0.8);//速度增加參數(shù)

if (speed 200) {

speed = 100;

}

fx = rand.nextInt(30) * 10 + 5;// 2

fy = rand.nextInt(30) * 10 + 5;// 2

snakeBody++;// 2

} // 2

repaint();

}

public void addPoint(int xx, int yy) {

// 動(dòng)態(tài)的記錄最新發(fā)生的50步以?xún)?nèi)的移動(dòng)過(guò)的坐標(biāo)

// 并畫(huà)出最新的snakeBody

if (list.size() 100) {//蛇身長(zhǎng)度最長(zhǎng)為100

list.add(new Point(xx, yy));

} else {

list.remove(0);

list.add(new Point(xx, yy));

}

if (snakeBody == 1) {

listBody.remove(0);

listBody.add(0, list.get(list.size() - 1));

} else {

listBody.clear();

if (list.size() snakeBody) {

for (int i = list.size() - 1; i 0; i--) {

listBody.add(list.get(i));

}

} else {

for (int i = list.size() - 1; listBody.size() snakeBody; i--) {

listBody.add(list.get(i));

}

}

}

}

public boolean makeOut() {

if ((x 3 || y 3) || (x 305 || y 305)) {

return false;

}

for (int i = 0; i listBody.size() - 1; i++) {

for (int j = i + 1; j listBody.size(); j++) {

if (listBody.get(i).equals(listBody.get(j))) {

return false;

}

}

}

return true;

}

}

標(biāo)題名稱(chēng):java貪吃蛇代碼步驟 java貪吃蛇代碼詳解
文章網(wǎng)址:http://www.rwnh.cn/article6/dodosig.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、電子商務(wù)、企業(yè)網(wǎng)站制作網(wǎng)站制作域名注冊(cè)、網(wǎng)站設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開(kāi)發(fā)
青冈县| 伊川县| 同德县| 定襄县| 宁国市| 大丰市| 巴中市| 哈巴河县| 淮安市| 罗源县| 南投市| 济源市| 美姑县| 盈江县| 长丰县| 柏乡县| 马龙县| 祁东县| 将乐县| 铜陵市| 开江县| 延庆县| 措美县| 海晏县| 齐齐哈尔市| 房产| 锡林郭勒盟| 吴桥县| 景泰县| 辰溪县| 清流县| 石棉县| 太保市| 德州市| 清河县| 巫溪县| 天长市| 珠海市| 同江市| 无极县| 平邑县|