• <ul id="i22wy"></ul>
    <strike id="i22wy"></strike>
  • <ul id="i22wy"><sup id="i22wy"></sup></ul>
    <strike id="i22wy"></strike>
    <strike id="i22wy"></strike>
    <fieldset id="i22wy"><menu id="i22wy"></menu></fieldset>
    114培訓網歡迎您來到游戲設計交流中心!

    400-850-8622

    全國統一學習專線 9:00-21:00

    JAVA小游戲設計,求思路

    建一個數組int[][] arr = new int[4][5] 放20張卡片 設置每個數組的值 比
    如0 為沒有 1 為looser piece
    然后判斷如果選擇0就改該位置為2,表示已被選擇,如果選擇1就輸了 使用隨機分布
    設置一個參數比如isPlay=1;玩家1選擇,isPlay=2,玩家2選擇,因為可以選擇一次或者兩次 需要判斷
    設置一個按鈕判斷是否放棄
    設置一個參數 var = 0;
    按鈕:點擊 意思為玩家選擇一次之后放棄第二次選擇讓給玩家2選擇
    if(var = 1){
    結束 輪到玩家2
    }
    如果var = 0 表示為選擇 1 表示選擇一次 2表示選擇兩次
    板面上自動判定的:
    if(var = 0){
    選擇
    }
    if(var = 1){
    繼續選擇
    或者按鈕結束
    }
    if(var = 2){
    結束
    輪到玩家2選擇
    }

    java 小游戲程序

    //您好!以下是 java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    //=============================================
    //Main Class
    //=============================================
    public class
    {
    JFrame mainFrame;
    Canvas ;
    JLabel ;//計分牌
    =null;// 蛇
    public static final int =200;
    public static final int =300;
    public static final int nodeWidth=10;
    public static final int =10;
    //----------------------------------------------------------------------
    //():初始化游戲界面
    //----------------------------------------------------------------------
    public ()
    {
    //設置界面元素
    mainFrame=new JFrame("");
    Container cp=mainFrame.();
    =new JLabel("Score:");
    cp.add(,.NORTH);
    =new Canvas();
    .setSize(+1,+1);
    .(this);
    cp.add(,.CENTER);
    JPanel =new JPanel();
    .setLayout(new ());
    JLabel labelHelp;// 幫助信息
    labelHelp=new JLabel("PageUp, PageDown for speed;",JLabel.CENTER);
    .add(labelHelp,.NORTH);
    labelHelp=new JLabel("ENTER or R or S for start;",JLabel.CENTER);
    .add(labelHelp,.CENTER);
    labelHelp=new JLabel("SPACE or P for pause",JLabel.CENTER);
    .add(labelHelp,.SOUTH);
    cp.add(,.SOUTH);
    mainFrame.(this);
    mainFrame.pack();
    mainFrame.(false);
    mainFrame.(JFrame.EXIT_ON_CLOSE);
    mainFrame.(true);
    begin();
    }
    //----------------------------------------------------------------------
    //():按鍵檢測
    //----------------------------------------------------------------------
    public void (KeyEvent e)
    {
    int keyCode=e.();
    if(.running) switch(keyCode)
    {
    case KeyEvent.VK_UP:
    .(.UP);
    break;
    case KeyEvent.VK_DOWN:
    .(.DOWN);
    break;
    case KeyEvent.VK_LEFT:
    .(.LEFT);
    break;
    case KeyEvent.VK_RIGHT:
    .(.RIGHT);
    break;
    case KeyEvent.VK_ADD:
    case KeyEvent.VK_PAGE_UP:
    .speedUp();// 加速
    break;
    case KeyEvent.VK_SUBTRACT:
    case KeyEvent.VK_PAGE_DOWN:
    .speedDown();// 減速
    break;
    case KeyEvent.VK_SPACE:
    case KeyEvent.VK_P:
    .();// 暫停或繼續
    break;
    default:
    }
    //重新開始
    if(keyCode==KeyEvent.VK_R || keyCode==KeyEvent.VK_S
    || keyCode==KeyEvent.VK_ENTER)
    {
    .running=false;
    begin();
    }
    }
    //----------------------------------------------------------------------
    //():空函數
    //----------------------------------------------------------------------
    public void (KeyEvent e)
    {
    }
    //----------------------------------------------------------------------
    //keyTyped():空函數
    //----------------------------------------------------------------------
    public void keyTyped(KeyEvent e)
    {
    }
    //----------------------------------------------------------------------
    //repaint():繪制游戲界面(包括蛇和食物)
    //----------------------------------------------------------------------
    void repaint()
    {
    Graphics g=.();
    //draw
    g.setColor(Color.WHITE);
    g.fillRect(0,0,,);
    //draw the snake
    g.setColor(Color.BLACK);
    na=.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=.food;
    drawNode(g,n);
    ();
    }
    //----------------------------------------------------------------------
    //drawNode():繪畫某一結點(蛇身或食物)
    //----------------------------------------------------------------------
    private void drawNode(Graphics g,Node n)
    {
    g.fillRect(n.x*nodeWidth,n.y*,nodeWidth-1,-1);
    }
    //----------------------------------------------------------------------
    //():改變計分牌
    //----------------------------------------------------------------------
    public void ()
    {
    String s="Score: "+.score;
    .setText(s);
    }
    //----------------------------------------------------------------------
    //begin():游戲開始,放置貪吃蛇
    //----------------------------------------------------------------------
    void begin()
    {
    if(==null||!.running)
    {
    =new (this,/nodeWidth,
    this./);
    (new Thread()).start();
    }
    }
    //----------------------------------------------------------------------
    //main():主函數
    //----------------------------------------------------------------------
    public static void main(String[] args)
    {
    gs=new ();
    }
    }
    /**************************************************************************
    *要點分析:
    *1)數據結構:matrix[][]用來存儲地圖上面的信息,如果什么也沒有設置為false,
    * 如果有食物或蛇,設置為true;nodeArray,一個,用來保存蛇的每
    * 一節;food用來保存食物的位置;而Node類是保存每個位置的信息。
    *2)重要函數:
    * (int ) ,用來改變蛇前進的方向,而且只是
    * 保存頭部的前進方向,因為其他的前進方向已經用位置來指明了。 其中
    * 必須和原來的direction不是相反方向,所以相反方向的值用了同樣的奇偶性。在測試
    * 的時候使用了direction%2!=%2 進行判斷。
    * moveOn(),用來更新蛇的位置,對于當前方向,把頭部位置進行相應改變。如果越界,
    * 結束;否則,檢測是否遇到食物(加頭部)或身體(結束);如果什么都沒有,加上頭部,
    * 去掉尾部。由于用了數據結構,省去了相當多的麻煩。
    *************************************************************************/
    //----------------------------------------------------------------------
    //Node:結點類
    //----------------------------------------------------------------------
    class Node
    {
    int x;
    int y;
    Node(int x,int y)
    {
    this.x=x;
    this.y=y;
    }
    }
    //----------------------------------------------------------------------
    //:貪吃蛇模型
    //----------------------------------------------------------------------
    class Runnable
    {
    gs;
    boolean[][] matrix;// 界面數據保存在數組里
    nodeArray=new ();
    Node food;
    int maxX;//*寬度
    int maxY;//*長度
    int direction=2;//方向
    boolean running=false;
    int =200;// 間隔時間(速度)
    double =0.75;// 速度改變程度
    boolean paused=false;// 游戲狀態
    int score=0;
    int countMove=0;
    // UP和DOWN是偶數,RIGHT和LEFT是奇數
    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 ( gs,int maxX,int maxY)
    {
    this.gs=gs;
    this.maxX=maxX;
    this.maxY=maxY;
    matrix=new boolean[maxX][];
    for(int i=0;i<maxX;++i)
    {
    matrix[i]=new boolean[maxY];
    Arrays.fill(matrix[i],false);// 沒有蛇和食物的地區置false
    }
    //初始化貪吃蛇
    int =maxX>20 ? 10 : maxX/2;
    for(int i=0;i<;++i)
    {
    int x=maxX/2+i;
    int y=maxY/2;
    nodeArray.addLast(new Node(x,y));
    matrix[x][y]=true;// 蛇身處置true
    }
    food=();
    matrix[food.x][food.y]=true;// 食物處置true
    }
    //----------------------------------------------------------------------
    //():改變運動方向
    //----------------------------------------------------------------------
    public void (int )
    {
    if(direction%2!=%2)// 避免沖突
    {
    direction=;
    }
    }
    //----------------------------------------------------------------------
    //moveOn():貪吃蛇運動函數
    //----------------------------------------------------------------------
    public boolean moveOn()
    {
    Node n=(Node)nodeArray.getFirst();
    int x=n.x;
    int y=n.y;
    switch(direction)
    {
    case UP:
    y--;
    break;
    case DOWN:
    y++;
    break;
    case LEFT:
    x--;
    break;
    case RIGHT:
    x++;
    break;
    }
    if((0<=x&&x<maxX)&&(0<=y&&y<maxY))
    {
    if(matrix[x][y])// 吃到食物或者撞到身體
    {
    if(x==food.x&&y==food.y)// 吃到食物
    {
    nodeArray.addFirst(food);// 在頭部加上一結點
    //計分規則與移動長度和速度有關
    int scoreGet=(10000-200*countMove)/;
    score+=scoreGet>0 ? scoreGet : 10;
    countMove=0;
    food=();
    matrix[food.x][food.y]=true;
    return true;
    }
    else return false;// 撞到身體
    }
    else//什么都沒有碰到
    {
    nodeArray.addFirst(new Node(x,y));// 加上頭部
    matrix[x][y]=true;
    n=(Node)nodeArray.();// 去掉尾部
    matrix[n.x][n.y]=false;
    countMove++;
    return true;
    }
    }
    return false;//越界(撞到墻壁)
    }
    //----------------------------------------------------------------------
    //run():貪吃蛇運動線程
    //----------------------------------------------------------------------
    public void run()
    {
    running=true;
    while(running)
    {
    try
    {
    Thread.sleep();
    }catch(Exception e)
    {
    break;
    }
    if(!paused)
    {
    if(moveOn())// 未結束
    {
    gs.repaint();
    }
    else//游戲結束
    {
    .(null,"GAME OVER",
    "Game Over",._MESSAGE);
    break;
    }
    }
    }
    running=false;
    }
    //----------------------------------------------------------------------
    //():生成食物及放置地點
    //----------------------------------------------------------------------
    private Node ()
    {
    int x=0;
    int y=0;
    do
    {
    Random r=new Random();
    x=r.nextInt(maxX);
    y=r.nextInt(maxY);
    }while(matrix[x][y]);
    return new Node(x,y);
    }
    //----------------------------------------------------------------------
    //speedUp():加快蛇運動速度
    //----------------------------------------------------------------------
    public void speedUp()
    {
    *=;
    }
    //----------------------------------------------------------------------
    //speedDown():放慢蛇運動速度
    //----------------------------------------------------------------------
    public void speedDown()
    {
    /=;
    }
    //----------------------------------------------------------------------
    //(): 改變游戲狀態(暫停或繼續)
    //----------------------------------------------------------------------
    public void ()
    {
    paused=!paused;
    }
    }

    java課程設計創意小游戲

    ① 求Java課程設計—小游戲(含源代碼)

    //hi./srxboys/item/

    Tank——坦克大戰(簡潔版)源代碼-------(此文檔是自己在韓順平教程總結而來)
    *功能:1.防止敵人的坦克重疊運動

    *(決定把判斷是否碰撞的函數寫到EnemyTank類)

    *2.可以分關

    *2.1(做一個開始的Panel,它是一個空的)

    *2.2開始字體閃爍

    *3.可以在玩游戲的時候,暫停和繼續

    *3.1當用戶點擊暫停時,子彈的速度和坦克速度設為0,并讓坦克的方向

    *不要發生變化。

    *4.可以記錄玩家的成績

    *4.1用文件流的方式(小游戲)[大游戲是用的數據庫<cs,bs>結構,三國]

    *4.2單寫一個記錄類,完成對玩家的記錄

    *4.3先完成保存共擊毀了多少輛敵人坦克的功能

    *4.4存盤退出游戲,可以記錄當時的敵人的坦克坐標,并可以恢復

    *5.java如何操作聲音文件

    */
    ② JAVA課程設計,求個能用eclipse實現小游戲或小程序的源代碼。感激不盡

    你自己來去下自載吧,這里面都有 //oschina/project/java

    ③ 用JAVA編寫一個小游戲

    前天寫的猜數字游戲,yongi控制猜測次數,有詳細解析,用黑窗口可以直接運行,

    我試驗過了,沒問題
    import javax.swing.Icon;
    import javax.swing.;
    public class {
    /**
    * @param args
    */
    public static void main(String[] args) {
    Icon icon = null;
    boolean bl = false;
    int put = 0;
    int c = (int) (((Math.random())*100)+1); //獲取一個1-100的隨機數
    System.out.println("你獲取的隨機數是:"+c); //打印你的隨機數字

    String str1 = (String) .(null,"請輸入你的猜測數字(1-100): ","猜數字游戲",.PLAIN_MESSAGE,icon,null,"在這輸入"); //*次輸入你的猜測數字

    if(str1==null){
    .(null, "你已經取消了本次游戲"); //如果你點取消那么本次游戲結束
    }else{
    bl = num(str1); //判斷是輸入的是不是數字或者是整數
    if(true==bl){ //如果是數字的話進入與隨機數比較的程序
    System.out.println("你輸入的數字是:"+str1); //打印你輸入的數字
    put = Integer.valueOf(str1);

    for(int i = 4;i > 0;i--){ //i是你可以猜測的次數
    if(put==c){
    .(null, "恭喜你猜對了,正確答案是:"+c+"。"); //如果你猜對了就直接結束循環
    break;
    }else if(put>c){ //如果輸大了就讓你再次從新輸入
    str1 = (String) .(null,"你的輸入過大。你還有"+i+"次機會,請重新輸入: ","猜數字游戲",.PLAIN_MESSAGE,icon,null,"在這輸入");
    if(str1==null){
    .(null, "你已經取消了本次輸入");
    break;
    }else{
    bl =num(str1);
    if(true==bl){
    put = Integer.valueOf(str1);
    }else{
    .(null, "你的輸入不正確,請重新輸入");
    }
    }
    }else if(put<c){ //如果你輸小了也讓你從新輸入
    str1 = (String) .(null,"你的輸入過小。你還有"+i+"次機會,請重新輸入: ","猜數字游戲",.PLAIN_MESSAGE,icon,null,"在這輸入");
    if(str1==null){
    .(null, "你已經取消了本次輸入");
    break;
    }else{
    bl =num(str1);
    if(true==bl){
    put = Integer.valueOf(str1);
    }else{
    .(null, "你的輸入不正確,請重新輸入");
    }
    }
    }
    }
    }else if(bl==false){ //這個 是你*次如果填寫的不是數字的話也會結束本次游戲
    .(null, "請您下次按要求填寫。本次游戲結束");
    }
    if(true==bl && c!=put){ //如果你i次都沒猜對,那么就直接告訴你這個數十什么
    .(null, "很遺憾你沒能猜對,這個數字是:"+c+".");
    }

    }

    }

    public static boolean num(String value){ //一個靜態方法,判斷你輸入的是不是數字
    try {
    Integer.parseInt(value);
    return true;
    } catch (Exception e) {
    return false;
    }

    }
    }
    ④ 用java制作一個小游戲 教學

    static Scanner in =new Scanner(System.in);

    public static int aaa(){

    int c = 0;
    while(true){

    try {
    if(c>999&&c<10000){
    break;
    }else{
    // System.out.println("請輸入4位整數");
    c= in.nextInt();
    if(c>999&&c<10000){
    break;
    }else{
    System.out.println("輸入有誤,請重新輸入4位整數");
    }
    }
    } catch (Exception e) {
    System.out.println("請輸入整數");
    c= in.nextInt();
    }
    }
    //in.close();
    return c;
    }
    public static void cai(){
    //Scanner sa =new Scanner(System.in);
    int haoma=(int)(Math.random()*10000);

    if(haoma<999)
    {
    haoma = Integer.parseInt(String.valueOf(haoma)+"0");
    }
    System.out.println(haoma);
    System.out.println("請輸入一位4位整數");
    int aa = 0;
    while(true){
    aa= aaa();
    String pd=String.valueOf(aa);
    if(pd.length()!=4){
    aa = aaa();
    }else{
    break;
    }
    }
    while(true){
    if(aa==haoma){
    System.out.println("你猜對了,可以去買彩票了");
    }else{
    System.out.println("抱歉 , 你猜錯了");
    }
    System.out.println("是否繼續1繼續 其他結束");
    try {
    int ss = in.nextInt();
    if(ss==1){
    cai();
    }else{
    break;
    }
    } catch (Exception e) {
    in.close();
    break;
    }
    }
    }
    public static void main(String[] args) {
    System.out.println("歡迎來到猜號小游戲");
    cai();
    System.out.println("over");
    }

    ⑤ 想做一個java小游戲 誰能給幾個創意啊 注意 是創意!!!!! 不是已有的有創意的小游戲

    比如有東西扔過來,選擇吃掉或者躲開,考反應吧。

    ⑥ 急求java課程設計,內容可以是小游戲的,如(迷宮,計算器,停車場之戀的),要能運行,謝謝

    俄羅斯方塊,貪吃蛇。推箱子。

    ⑦ 求JAVA期末課程設計,要那種開發的小項目軟件。可以是像記事本那種,也可以是小游戲那種。

    網上搜不到的一般是不可共享的資源,建議去圖書館找本專門針對課程設計的書,里面的資料很豐富,你可以照著做一下,并作功能上適當的增減,這樣網上就很難找到了

    用JAVA編一個小游戲或者其他程序

    貪吃蛇程序:
    .java (也是程序入口):
    import java.awt.;
    import java.awt.Canvas;
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Graphics;
    import java.awt.event.KeyEvent;
    import java.awt.event.;
    import java.util.Iterator;
    import java.util.;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    public class {
    JFrame mainFrame;
    Canvas ;
    JLabel ;// 計分牌
    = null;// 蛇
    public static final int = 200;
    public static final int = 300;
    public static final int nodeWidth = 10;
    public static final int = 10;
    // ----------------------------------------------------------------------
    // ():初始化游戲界面
    // ----------------------------------------------------------------------
    public () {
    // 設置界面元素
    mainFrame = new JFrame("");
    Container cp = mainFrame.();
    = new JLabel("Score:");
    cp.add(, .NORTH);
    = new Canvas();
    .setSize( + 1, + 1);
    .(this);
    cp.add(, .CENTER);
    JPanel = new JPanel();
    .setLayout(new ());
    JLabel labelHelp;// 幫助信息
    labelHelp = new JLabel("PageUp, PageDown for speed;", JLabel.CENTER);
    .add(labelHelp, .NORTH);
    labelHelp = new JLabel("ENTER or R or S for start;", JLabel.CENTER);
    .add(labelHelp, .CENTER);
    labelHelp = new JLabel("SPACE or P for pause", JLabel.CENTER);
    .add(labelHelp, .SOUTH);
    cp.add(, .SOUTH);
    mainFrame.(this);
    mainFrame.pack();
    mainFrame.(false);
    mainFrame.(JFrame.EXIT_ON_CLOSE);
    mainFrame.(true);
    begin();
    }
    // ----------------------------------------------------------------------
    // ():按鍵檢測
    // ----------------------------------------------------------------------
    public void (KeyEvent e) {
    int keyCode = e.();
    if (.running)
    switch (keyCode) {
    case KeyEvent.VK_UP:
    .(.UP);
    break;
    case KeyEvent.VK_DOWN:
    .(.DOWN);
    break;
    case KeyEvent.VK_LEFT:
    .(.LEFT);
    break;
    case KeyEvent.VK_RIGHT:
    .(.RIGHT);
    break;
    case KeyEvent.VK_ADD:
    case KeyEvent.VK_PAGE_UP:
    .speedUp();// 加速
    break;
    case KeyEvent.VK_SUBTRACT:
    case KeyEvent.VK_PAGE_DOWN:
    .speedDown();// 減速
    break;
    case KeyEvent.VK_SPACE:
    case KeyEvent.VK_P:
    .();// 暫停或繼續
    break;
    default:
    }
    // 重新開始
    if (keyCode == KeyEvent.VK_R || keyCode == KeyEvent.VK_S
    || keyCode == KeyEvent.VK_ENTER) {
    .running = false;
    begin();
    }
    }
    // ----------------------------------------------------------------------
    // ():空函數
    // ----------------------------------------------------------------------
    public void (KeyEvent e) {
    }
    // ----------------------------------------------------------------------
    // keyTyped():空函數
    // ----------------------------------------------------------------------
    public void keyTyped(KeyEvent e) {
    }
    // ----------------------------------------------------------------------
    // repaint():繪制游戲界面(包括蛇和食物)
    // ----------------------------------------------------------------------
    void repaint() {
    Graphics g = .();
    // draw
    g.setColor(Color.WHITE);
    g.fillRect(0, 0, , );
    // draw the snake
    g.setColor(Color.BLACK);
    na = .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 = .food;
    drawNode(g, n);
    ();
    }
    // ----------------------------------------------------------------------
    // drawNode():繪畫某一結點(蛇身或食物)
    // ----------------------------------------------------------------------
    private void drawNode(Graphics g, Node n) {
    g.fillRect(n.x * nodeWidth, n.y * , nodeWidth - 1,
    - 1);
    }
    // ----------------------------------------------------------------------
    // ():改變計分牌
    // ----------------------------------------------------------------------
    public void () {
    String s = "Score: " + .score;
    .setText(s);
    }
    // ----------------------------------------------------------------------
    // begin():游戲開始,放置貪吃蛇
    // ----------------------------------------------------------------------
    void begin() {
    if ( == null || !.running) {
    = new (this, / nodeWidth,
    this. / );
    (new Thread()).start();
    }
    }
    // ----------------------------------------------------------------------
    // main():主函數
    // ----------------------------------------------------------------------
    public static void main(String[] args) {
    gs = new ();
    }
    }
    Node.java:
    public class Node {
    int x;
    int y;
    Node(int x, int y) {
    this.x = x;
    this.y = y;
    }
    }
    .java:
    import java.util.Arrays;
    import java.util.;
    import java.util.Random;
    import javax.swing.;
    public class Runnable {
    gs;
    boolean[][] matrix;// 界面數據保存在數組里
    nodeArray = new ();
    Node food;
    int maxX;// *寬度
    int maxY;// *長度
    int direction = 2;// 方向
    boolean running = false;
    int = 200;// 間隔時間(速度)
    double = 0.75;// 速度改變程度
    boolean paused = false;// 游戲狀態
    int score = 0;
    int countMove = 0;
    // UP和DOWN是偶數,RIGHT和LEFT是奇數
    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 ( gs, int maxX, int maxY) {
    this.gs = gs;
    this.maxX = maxX;
    this.maxY = maxY;
    matrix = new boolean[maxX][];
    for (int i = 0; i < maxX; ++i) {
    matrix[i] = new boolean[maxY];
    Arrays.fill(matrix[i], false);// 沒有蛇和食物的地區置false
    }
    // 初始化貪吃蛇
    int = maxX > 20 ? 10 : maxX / 2;
    for (int i = 0; i < ; ++i) {
    int x = maxX / 2 + i;
    int y = maxY / 2;
    nodeArray.addLast(new Node(x, y));
    matrix[x][y] = true;// 蛇身處置true
    }
    food = ();
    matrix[food.x][food.y] = true;// 食物處置true
    }
    // ----------------------------------------------------------------------
    // ():改變運動方向
    // ----------------------------------------------------------------------
    public void (int ) {
    if (direction % 2 != % 2)// 避免沖突
    {
    direction = ;
    }
    }
    // ----------------------------------------------------------------------
    // moveOn():貪吃蛇運動函數
    // ----------------------------------------------------------------------
    public boolean moveOn() {
    Node n = (Node) nodeArray.getFirst();
    int x = n.x;
    int y = n.y;
    switch (direction) {
    case UP:
    y--;
    break;
    case DOWN:
    y++;
    break;
    case LEFT:
    x--;
    break;
    case RIGHT:
    x++;
    break;
    }
    if ((0 <= x && x < maxX) && (0 <= y && y < maxY)) {
    if (matrix[x][y])// 吃到食物或者撞到身體
    {
    if (x == food.x && y == food.y)// 吃到食物
    {
    nodeArray.addFirst(food);// 在頭部加上一結點
    // 計分規則與移動長度和速度有關
    int scoreGet = (10000 - 200 * countMove) / ;
    score += scoreGet > 0 ? scoreGet : 10;
    countMove = 0;
    food = ();
    matrix[food.x][food.y] = true;
    return true;
    } else
    return false;// 撞到身體
    } else// 什么都沒有碰到
    {
    nodeArray.addFirst(new Node(x, y));// 加上頭部
    matrix[x][y] = true;
    n = (Node) nodeArray.();// 去掉尾部
    matrix[n.x][n.y] = false;
    countMove++;
    return true;
    }
    }
    return false;// 越界(撞到墻壁)
    }
    // ----------------------------------------------------------------------
    // run():貪吃蛇運動線程
    // ----------------------------------------------------------------------
    public void run() {
    running = true;
    while (running) {
    try {
    Thread.sleep();
    } catch (Exception e) {
    break;
    }
    if (!paused) {
    if (moveOn())// 未結束
    {
    gs.repaint();
    } else// 游戲結束
    {
    .(null, "GAME OVER",
    "Game Over", ._MESSAGE);
    break;
    }
    }
    }
    running = false;
    }
    // ----------------------------------------------------------------------
    // ():生成食物及放置地點
    // ----------------------------------------------------------------------
    private Node () {
    int x = 0;
    int y = 0;
    do {
    Random r = new Random();
    x = r.nextInt(maxX);
    y = r.nextInt(maxY);
    } while (matrix[x][y]);
    return new Node(x, y);
    }
    // ----------------------------------------------------------------------
    // speedUp():加快蛇運動速度
    // ----------------------------------------------------------------------
    public void speedUp() {
    *= ;
    }
    // ----------------------------------------------------------------------
    // speedDown():放慢蛇運動速度
    // ----------------------------------------------------------------------
    public void speedDown() {
    /= ;
    }
    // ----------------------------------------------------------------------
    // (): 改變游戲狀態(暫停或繼續)
    // ----------------------------------------------------------------------
    public void () {
    paused = !paused;
    }
    }

    溫馨提示:為不影響您的學業,來校區前請先電話咨詢,方便我校安排相關的專業老師為您解答
    相關資料
    姓名不能為空
    手機號格式錯誤
    主站蜘蛛池模板: 国产午夜精品一区理论片| 国产精品 视频一区 二区三区| 国产91大片精品一区在线观看| 久久精品国产欧美日韩| 精品久久777| 精品调教CHINESEGAY| 亚洲麻豆精品国偷自产在线91 | 欧美亚洲另类精品第一页| 韩国精品欧美一区二区三区| 日韩人妻无码精品久久久不卡| 免费精品视频在线| 国产精品 综合 第五页| 99视频精品全部在线观看| 久久亚洲美女精品国产精品| 最新精品国偷自产在线| 亚洲欧美精品综合中文字幕| 欧美日韩成人精品久久久免费看 | 精品一区二区三区无码免费视频| 欧美在线精品永久免费播放| 国产亚洲精品无码拍拍拍色欲| 亚洲成人精品久久| 你懂的国产精品| 麻豆精品成人免费国产片| 国产精品毛片久久久久久久 | 欧美精品v国产精品v日韩精品| 自拍偷自拍亚洲精品被多人伦好爽| 久久久久99精品成人片牛牛影视| 国产精品一香蕉国产线看观看| 亚洲AV无码成人精品区天堂| 亚洲精品99久久久久中文字幕| 蜜臀精品无码AV在线播放| 久久久久久无码国产精品中文字幕| 九九久久精品国产| 久久亚洲精品无码观看不卡| 久久狠狠一本精品综合网| 久久国产综合精品五月天| 欧美精品三区| 亚洲日韩一页精品发布| 久久亚洲美女精品国产精品| 精品人人妻人人澡人人爽人人| 国产精品成熟老女人视频|