亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? efeicanvas.java

?? 算法看不懂
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/*
 * EfeiCanvas.java	04-8-9
 *
 * @author Efei
 * @version 1.0
 */

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet.*;
import java.util.*;
import java.io.*;

public class EfeiCanvas extends Canvas implements CommandListener {
  public Graphics gg = null;
          Random rnd = new Random();

  //public int lineNumber;

  public int lineNumber = 11;
  int gridWidth; //格子的寬度
  int gridHeight; //格子的高度

  int lineColor = 0x00006699; //棋盤格子線的顏色
  int focusColor = 0x0000ff00; //焦點的顏色

  public int intRunMode = 0; //0-等待初始態,1-下棋,2-等待用戶響應
  public int intPlayer = 0; //0-黑棋(先下者),1-白棋(后下者)

  public int[] qipan;

  //檢查后,如果不存在五子,則全為0,如果存在,則依次是五個子的位置
  private int[] wuzi = new int[5];
  private int[][] q;
  private int[][] m;

  //int[] g={1,16,15,17};		//這個
  int[] g = new int[4];

  int baseX; //棋盤左上角X
  int baseY; //棋盤左上角Y
  int currentX; //當前所在區域的左上角X
  int currentY; //當前所在區域的左上角Y
  int currentA; //當前是第幾個豎線
  int currentB; //當前是第幾個橫線
  int LastChessmanA; //最后一個子位于第幾根豎線
  int LastChessmanB; //最后一個子位于第幾根橫線

  boolean loadedMenu = false;
  Command cmdRestart = new Command("重新開始", Command.SCREEN, 1);
  Command cmdExit = new Command("不玩了", Command.EXIT, 1);

  /**
   * 設置一些棋盤參數
   */
  public void setParam(int[] value) {
    lineNumber = value[0];
    gridWidth = value[1];
    gridHeight = value[2];
    baseX = value[3];
    baseY = value[4];
    qipan = new int[lineNumber * lineNumber];
    q = new int[3][lineNumber * lineNumber];
    m = new int[3][lineNumber * lineNumber];
    g[0] = 1;
    g[1] = lineNumber ;
    g[2] = lineNumber - 1;
    g[3] = lineNumber + 1;
  }

  //
  public void paint(Graphics g) {
    if (!loadedMenu) {
      addCommand(cmdExit);
      addCommand(cmdRestart);
      setCommandListener(this);
      loadedMenu = true;
    }
    if (gg == null) gg = g;
    if (intRunMode == 0) {
      buildChessboard();
    }
  }

  //事件處理函數
  public void commandAction(Command c, Displayable s) {
    if (!c.getLabel().equals("重新開始")) {
      removeCommand(c);
      addCommand(cmdRestart);
    }

    if (c.getCommandType() == Command.SCREEN) {
      //重新開始游戲
      intRunMode = 0;
      repaint();
    }
    else if (c.getCommandType() == Command.EXIT) {
      //返回主界面
      intRunMode = 0;
      five.flow(1);
    }

  }

  /**
    public void ShowLogo()
    {
   Image img = null;
   try{
    img = Image.createImage("/logo.png");
   }catch(Exception e){}
   gg.drawImage(img,0,0,gg.BOTTOM|gg.HCENTER);
   repaint();
    }
   */

  /**
   * 開始游戲時所做的一些工作
   * 比如畫棋盤,初始化一些參數、數組,并設置最開始時的焦點位置
   */
  public void buildChessboard() {
    try {
      //初始化數組
      for (int i = 0; i < lineNumber * lineNumber; i++) {
        qipan[i] = 0;
        q[0][i] = 0;
        q[1][i] = 0;
        q[2][i] = 0;
        m[0][i] = 0;
        m[1][i] = 0;
        m[2][i] = 0;
      }
      for (int i = 0; i < 5; i++)
        wuzi[i] = 0;

      gg.setColor(0x006699cc);
      gg.fillRect(0, 0, getWidth(), getHeight());

      gg.setColor(lineColor);
      for (int i = 1; i < lineNumber + 1; i++) {
        gg.drawLine(gridWidth, i * gridHeight, gridWidth * lineNumber + 1,
                    i * gridHeight);
        gg.drawLine(i * gridWidth, gridHeight, i * gridWidth,
                    lineNumber * gridHeight + 1);
      }

      //初始時在中間
      if (lineNumber % 2 == 0) {
        currentX = baseX + gridWidth * (lineNumber / 2 - 1) - gridWidth / 2;
        currentY = baseY + gridHeight * (lineNumber / 2 - 1) - gridHeight / 2;
        currentA = lineNumber / 2;
      }
      else {
        currentX = baseX + gridWidth * (lineNumber - 1) / 2 - gridWidth / 2;
        currentY = baseY + gridHeight * (lineNumber - 1) / 2 - gridHeight / 2;
        currentA = (lineNumber + 1) / 2;
      }
      currentB = currentA;
      intRunMode = 1;
      intPlayer = 0;

      moveFoucs(currentX - gridWidth / 2, currentY - gridHeight / 2 - 1,
                gridWidth * 3, gridHeight * 2);
      //moveFoucs(currentX,currentY,gridWidth*2,gridHeight);
    }
    catch (Exception e) {
      System.out.println("buildChessboard Error:" + e);
    }
  }

  /**
   * 移動焦點,需要對六個格子大的范圍進行重畫(可以優化為兩個格子)
   * 重畫內容包括六個棋盤格子,十二個可能存在的棋子,以及一個焦點
   */
  public void moveFoucs(int x, int y, int width, int height) {
    try {
      gg.setColor( (rnd.nextInt() & 0x7FFFFFFF) % 256,
                  (rnd.nextInt() & 0x7FFFFFFF) % 256,
                  (rnd.nextInt() & 0x7FFFFFFF) % 256);
      gg.setColor(0x006699cc);
      gg.fillRect(x, y, width, height);
      //gg.setColor((rnd.nextInt()&0x7FFFFFFF)%256,(rnd.nextInt()&0x7FFFFFFF)%256,(rnd.nextInt()&0x7FFFFFFF)%256);

      //這六個格子可能是橫著的,也可能是豎的,其中有四個格子的位置是不變的
      mydrawRect(x, y, gridWidth, gridHeight);
      mydrawRect(x, y + gridHeight, gridWidth, gridHeight);
      mydrawRect(x + gridWidth, y, gridWidth, gridHeight);
      mydrawRect(x + gridWidth, y + gridHeight, gridWidth, gridHeight);

      //gg.setColor(lineColor);
      if (width > height) {
       
             gg.drawLine(x,y+gridHeight/2,x+gridWidth*2,y+gridHeight/2);
             gg.drawLine(x+gridWidth/2,y,x+gridWidth/2,y+gridHeight);
             gg.drawLine(x+gridWidth*3/2,y,x+gridWidth*3/2,y+gridHeight);
        
        mydrawRect(x + gridWidth * 2, y, gridWidth, gridHeight);
        mydrawRect(x + gridWidth * 2, y + gridHeight, gridWidth, gridHeight);
        //最右邊的豎線
        DrawChessman(x + gridWidth * 3, y);
        DrawChessman(x + gridWidth * 3, y + gridHeight);
        DrawChessman(x + gridWidth * 3, y + gridHeight * 2);
        //最下面的橫線
        DrawChessman(x, y + gridHeight * 2);
        DrawChessman(x + gridWidth, y + gridHeight * 2);
        DrawChessman(x + gridWidth * 2, y + gridHeight * 2);

      }
      else {
        
             gg.drawLine(x+gridWidth/2,y,x+gridWidth/2,y+gridHeight*2);
             gg.drawLine(x,y+gridHeight/2,x+gridWidth,y+gridHeight/2);
             gg.drawLine(x,y+gridHeight*3/2,x+gridWidth,y+gridHeight*3/2);
         
        mydrawRect(x, y + gridHeight * 2, gridWidth, gridHeight);
        mydrawRect(x + gridWidth, y + gridHeight * 2, gridWidth, gridHeight);
        //最右邊的豎線
        DrawChessman(x + gridWidth * 2, y);
        DrawChessman(x + gridWidth * 2, y + gridHeight);
        DrawChessman(x + gridWidth * 2, y + gridHeight * 2);
        DrawChessman(x + gridWidth * 2, y + gridHeight * 3);
        //最下面的橫線
        DrawChessman(x, y + gridHeight * 3);
        DrawChessman(x + gridWidth, y + gridHeight * 3);

      }
      gg.setColor(focusColor);
      //畫光標
      int offsetValue = 1;
      int offsetBase = 5;

      gg.drawLine(currentX, currentY,
                  currentX + gridWidth * offsetValue / offsetBase, currentY);
      gg.drawLine(currentX +
                  gridWidth * (offsetBase - offsetValue) / offsetBase, currentY,
                  currentX + gridWidth, currentY);
      gg.drawLine(currentX, currentY, currentX,
                  currentY + gridHeight * offsetValue / offsetBase);
      gg.drawLine(currentX,
                  currentY + gridHeight * (offsetBase - offsetValue) / offsetBase,
                  currentX, currentY + gridHeight);
      gg.drawLine(currentX + gridWidth, currentY, currentX + gridWidth,
                  currentY + gridHeight * offsetValue / offsetBase);
      gg.drawLine(currentX + gridWidth,
                  currentY +
                  gridHeight * (offsetBase - offsetValue) / offsetBase,
                  currentX + gridWidth, currentY + gridHeight);
      gg.drawLine(currentX, currentY + gridHeight,
                  currentX + gridWidth * offsetValue / offsetBase,
                  currentY + gridHeight);
      gg.drawLine(currentX +
                  gridWidth * (offsetBase - offsetValue) / offsetBase,
                  currentY + gridHeight, currentX + gridWidth,
                  currentY + gridHeight);

      repaint();
    }
    catch (Exception e) {
      System.out.println("moveFoucs Error:" + e);
    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区在线视频观看58| 欧美日韩国产小视频在线观看| 91免费精品国自产拍在线不卡| 欧美无砖砖区免费| 欧美成人三级电影在线| 国产精品卡一卡二卡三| 视频精品一区二区| 国产乱码一区二区三区| 一本在线高清不卡dvd| 4438x亚洲最大成人网| 欧美国产日韩a欧美在线观看| 一区二区欧美精品| 国产一区二区三区观看| 在线中文字幕一区| 久久久99久久| 亚洲成人自拍偷拍| 成人免费视频caoporn| 欧美丰满少妇xxxbbb| 国产精品人人做人人爽人人添| 爽好多水快深点欧美视频| 粉嫩蜜臀av国产精品网站| 欧美一区二区三区免费在线看| 成人免费在线视频| 美女视频黄免费的久久| 色婷婷综合久久久中文字幕| 精品粉嫩aⅴ一区二区三区四区| 亚洲色图欧洲色图婷婷| 极品少妇xxxx精品少妇| 欧美性受xxxx黑人xyx| 国产拍揄自揄精品视频麻豆| 日韩av午夜在线观看| 色偷偷成人一区二区三区91| 久久精品视频网| 日韩不卡手机在线v区| 色老综合老女人久久久| 中文字幕第一区第二区| 蜜桃av一区二区在线观看| 在线观看91视频| 国产精品精品国产色婷婷| 久久99精品国产.久久久久久| 欧美亚洲综合色| 亚洲欧美日韩系列| 丰满放荡岳乱妇91ww| 亚洲精品在线电影| 日日摸夜夜添夜夜添精品视频| 91麻豆自制传媒国产之光| 中文字幕免费不卡| 国产一区二三区| 日韩一区二区三区免费观看| 亚洲一区二区在线播放相泽| 97国产一区二区| 国产精品久久久久毛片软件| 国内一区二区在线| 精品国产乱码久久久久久浪潮| 婷婷六月综合网| 欧美日韩在线三级| 一区二区成人在线视频| 91亚洲国产成人精品一区二区三| 亚洲国产精品精华液ab| 国产精品中文欧美| 久久精品一区二区三区av| 国产一区二区在线视频| 久久久一区二区三区捆绑**| 激情小说亚洲一区| 久久理论电影网| 国产高清久久久久| 国产精品久久久久一区二区三区| 成人永久免费视频| 日韩理论在线观看| aaa国产一区| 樱桃视频在线观看一区| 色94色欧美sute亚洲线路一久| 亚洲狼人国产精品| 欧洲日韩一区二区三区| 亚洲国产你懂的| 在线成人高清不卡| 精品一区二区免费在线观看| 精品女同一区二区| 国产成人福利片| 国产精品不卡在线| 日本韩国视频一区二区| 亚洲国产另类av| 日韩午夜av一区| 国产一区二区免费在线| 久久精品男人天堂av| bt7086福利一区国产| 亚洲精品国产品国语在线app| www.久久久久久久久| 一区二区三区在线免费| 欧美日韩免费高清一区色橹橹| 五月天一区二区| 日韩欧美国产综合在线一区二区三区| 久久97超碰色| 国产精品久久久99| 成人免费看黄yyy456| 亚洲最新视频在线播放| 在线不卡的av| 国产一区二区伦理片| 综合在线观看色| 欧美精品久久99| 国产一区二区三区在线看麻豆| 国产亚洲一本大道中文在线| 99久久免费视频.com| 亚洲一区在线视频| 欧美大片一区二区| 成人视屏免费看| 一区二区三区精品视频| 69堂成人精品免费视频| 国产在线播放一区三区四| 亚洲欧美日韩中文字幕一区二区三区 | 日韩av在线发布| 久久久高清一区二区三区| 色综合久久久久综合体桃花网| 香蕉成人啪国产精品视频综合网| 精品国产一二三区| 91最新地址在线播放| 日韩二区三区四区| 国产精品久久久久天堂| 欧美乱熟臀69xxxxxx| 国产一区二区成人久久免费影院| 亚洲三级视频在线观看| 日韩欧美一区二区视频| 99久久精品情趣| 久久av中文字幕片| 樱花影视一区二区| 久久―日本道色综合久久| 欧美午夜影院一区| 国产福利不卡视频| 五月天中文字幕一区二区| 中文av一区二区| 日韩亚洲欧美一区| 欧美无砖砖区免费| 成人精品国产福利| 捆绑变态av一区二区三区| 亚洲欧美日本韩国| 国产亚洲精品福利| 7777精品伊人久久久大香线蕉最新版| 国产成人亚洲综合色影视| 日本成人中文字幕在线视频| 成人免费小视频| 久久久国产精品麻豆| 欧美一级片免费看| 色欧美乱欧美15图片| 国产99久久精品| 久久99精品国产麻豆不卡| 亚洲人妖av一区二区| 久久蜜桃一区二区| 欧美一卡在线观看| 色悠久久久久综合欧美99| 国产99久久精品| 免费高清不卡av| 亚洲成人自拍网| 一区二区三区精品在线观看| 国产精品久久久久久亚洲伦| 久久综合色之久久综合| 欧美精品粉嫩高潮一区二区| 色哟哟国产精品免费观看| 成人在线一区二区三区| 国产精品中文有码| 国内成+人亚洲+欧美+综合在线 | 日韩免费在线观看| 欧美三级中文字幕在线观看| 色悠悠亚洲一区二区| 不卡的电视剧免费网站有什么| 国产一区在线观看视频| 老司机免费视频一区二区三区| 亚洲成av人**亚洲成av**| 亚洲在线视频一区| 亚洲男人天堂av| 亚洲欧美另类在线| 最新成人av在线| 日韩美女精品在线| 国产精品成人一区二区三区夜夜夜| 久久精品视频一区二区三区| 久久精品亚洲精品国产欧美kt∨| 日韩精品一区二区三区蜜臀| 欧美一区二区三区影视| 91精品国产一区二区三区| 5858s免费视频成人| 欧美一区二区视频网站| 91精品国产91久久久久久最新毛片| 69精品人人人人| 欧美一区二区三区在线| 日韩欧美久久久| 久久综合久久综合亚洲| 国产三级精品三级| 国产精品久久久久久一区二区三区 | 美女免费视频一区二区| 日产欧产美韩系列久久99| 蜜臀久久99精品久久久久宅男 | 26uuu国产在线精品一区二区| 日韩免费福利电影在线观看| 日韩久久免费av| 精品少妇一区二区三区 | 成人v精品蜜桃久久一区| 成人自拍视频在线观看| 91污片在线观看| 欧美色国产精品| 91精品国产美女浴室洗澡无遮挡| 欧美mv日韩mv亚洲|