⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gamecanvas.java

📁 手机大富翁游戏
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import java.util.*;

public class gameCanvas extends Canvas
{
  private final richNabob richnabob;
  private static int UpDown, LeftRight;
  private Image firstImage, nabobMAPImage;
  private Image nabobmanImage;
  private Image[] diceImage;
  private Image handImage, selectImage, show1Image, show2Image;
  private int viewGame, selectX, selectY, PCman, goType, selectStatus, playerman;
  private int dice1, dice2, countDice, dice, pcgo, playergo, nabobPCMAP, nabobPlayerMAP, dicepcgo, diceplayergo;
  private int playerMoney, PCMoney, playerstation, pcstation, playercompany, pccompany, selecttype,PCselectType;
  private int goActionPlayer, goActionPC;
  private int[] goMAPStatus, playerHouse, PCHouse;
  private int lifeGO, chanceGO, playerGOjailType, pcGOjailType, lostcompany;
  private String lifeWording, lifeValue, chanceWording, chanceValue;
  private boolean player, PCplayer, diceStart, pcDice, show1table, show2table, keylock;
  private boolean playerbuyground, pcbuyground, playerbuildhouse, pcbuildhouse, life, chance, tax;
  private boolean playerlosthousemoney, playerloststationmoney, playerlostcompanymoney, pclosthousemoney, pcloststationmoney, pclostcompanymoney;
  private boolean playerbuystation, playerbuycompany, pcbuystation, pcbuycompany, playernobuy, pcnobuy, PCselectDice;
  private boolean playerLifeJailLicense, pcLifeJailLicense, playerChanceJailLicense, pcChanceJailLicense, playerGOjail, pcGOjail;
  private boolean bankMoneyPlayer, bankMoneyPC, playerShowjail, pcShowjail, PCGameOver, playerGameOver, gameOverKey;
  private Random gameRand;
  private logoStart logostart;
  private pcSelect pcselect;
  private playerdiceGO playerdicego;
  private companymoneyDice companymoneydice;
  private pcdiceGO pcdicego;
  private nabobPhoto nabobphoto;
  private recordData recorddata;
  private String[] readDataUTF, dataName;
  private int[] dataInfor;
  private int[] chanceInt={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
  private int[] lifeInt={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
  private static String mapword[]={"起点","建国南路","命运","建国北路","所得税","忠孝路","仁爱路",
	           "台北车站","信义路","机会","民族路","民权路","坐牢(路过)","民生路",
	           "电力公司","延平路一段","延平路二段","台中车站","延平路三段","命运",
	           "自由路","免费停车","平等路","机会","博爱路","台南车站","健康路",
	           "自来水厂","六合路","进牢","光明路","命运","中华路","高雄车站",
	           "中正路","机会","介寿路","财产税","新生南路","新生北路"};

  private String chanceword[]={"银行付你利息500元","付个人土地税1150元",
	    "由此前进到民族路得2000元","缴赴美留学保证金2400元","行车超速罚款150元",
	    "得马英九奖学金3000元","付住家修缮费1250元","经营小本生意获得1000元",
	    "出狱许可证件","酗酒闹事罚款200元","由此前进到台中车站得2000元",
	    "运动会跳水冠军得奖金1000元","逮捕立刻坐牢","付学校课本费用1500元",
	    "由此前进到博爱路得2000元"};

  private String chanceValueArray[]={"500","-1150","road1","-2400","-150",
                             "3000","-1250","1000","true","-200",
                             "road2","1000","in","-1500","road3"};

  private String lifeword[]={"当掉棉被一条得500元","拾金不昧失主酬谢得1000元",
	    "卖黄牛票罚款1000元","出狱许可证件","付房屋增值税1050元","小孩满月收取礼金300元",
	    "得连战奖学金2000元","付个人保险费500元","小偷光顾损失500元","政府收税款1000元",
	    "工作努力得奖金2000元","恭喜中彩票得2000元","付个人医疗费用1000元",
	    "选美会获得亚军得100元","逮捕立刻坐牢"};

  private String lifeValueArray[]={"500","1000","-1000","true","-1050",
                           "300","2000","-500","-500","-1000","2000",
                           "2000","-1000","100","in"};


  // 0:起点  1:地段  2:命运  3:机会  4:所得税  5:车站  6:公司 7:坐牢 8:路过
  private static int mapstatus[]={0,1,2,1,4,1,1,5,1,3,1,1,8,1,6,1,1,5,1,2,1,8,1,3,1,5,1,6,1,7,1,2,1,5,1,3,1,4,1,1};
  private static int[][] roadanymoney={{0},{600,300,20,100,300,900,1600,2500,500},{2}
          ,{600,300,40,200,600,1800,3200,4500,500},{2000},{1000,500,60,300,900,2700,4000,5500,500}
          ,{1000,500,60,300,900,2700,4000,5500,500},{2000,1000,250,500,1000,2000}
          ,{1200,600,80,400,1000,3000,4500,6000,500},{3},{1400,700,100,500,1500,4500,6250,7500,1000}
          ,{1400,700,100,500,1500,4500,6250,7500,1000},{8},{1600,800,120,600,1800,5000,7000,9000,1000}
          ,{1500,750,10,100},{1800,900,140,700,2000,5500,7500,9500,1000},{1800,900,140,700,2000,5500,7500,9500,1000}
          ,{2000,1000,250,500,1000,2000},{2200,1100,160,800,2200,6000,8000,10000,1000},{2}
          ,{2200,1100,180,900,2500,7000,8750,10500,1500},{8},{2200,1100,180,900,2500,7000,8750,10500,1500},{3}
          ,{2400,1200,200,1000,3000,7500,9250,11000,1500},{2000,1000,250,500,1000,2000}
          ,{2600,1300,220,1100,3300,8000,9750,11500,1500},{1500,750,10,100},{2600,1300,220,1100,3300,8000,9750,11500,1500}
          ,{7},{2800,1400,220,1200,3600,8500,10250,12000,1500},{2},{3000,1500,260,1300,3900,9000,11000,12750,2000}
          ,{2000,1000,250,500,1000,2000},{3000,1500,260,1300,3900,9000,11000,12750,2000},{3}
          ,{3200,1600,280,1500,4500,10000,12000,14000,2000},{1000},{3500,1750,350,1750,5000,11000,13000,15000,2000}
          ,{4000,2000,500,2000,6000,14000,17000,20000,2000}
          };


  private static int[] manType={0,1,2,0,1,2,0,1,2,0,1,2,0,5,5,0,5,5,0,5,5,0,1,2,0,1,2,0,0,0,
                                0,0,0,0,0,0,0,1,2,0,1,2,0,5,5,0,5,5,0,5,5,0,5,5,0,5,5,0,5,5,
                                0,5,5,0,3,4,0,3,4,0,3,4,0,3,4,0,3,4,0,3,4,0,3,4,0,3,4,0,0,0,
                                0,0,0,0,1,2,0,1,2,0,0,0,0,0,0,0,3,4,0,3,4,0,0,0,0,0,0,0,0,0};

  private static int[][][] GOMAP={
          {           
           {117,130},{108,130},{100,130},{92,130},{82,130},{72,130},{62,130},{53,130},{45,130},{37,130},
           {27,130},{17,130},{7,130},{7,121},{7,113},{7,105},{7,96},{7,88},{7,80},{7,70},
           {7,60},{7,50},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},{170,208},
           {170,208},{170,208},{62,25},{62,33},{62,41},{62,50},{72,50},{82,50},{92,50},{100,50},
           {108,50},{117,50},{117,60},{117,70},{117,80},{117,88},{117,96},{117,105},{117,113},{117,121}
          },
          {
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{115,130},{115,121},{115,113},{115,105},{115,96},{115,88},{115,80},{115,70},
           {115,60},{115,50},{106,50},{98,50},{90,50},{80,50},{70,50},{60,50},{60,60},{60,70},
           {60,80},{60,88},{60,96},{60,105},{60,113},{60,121},{60,130},{51,130},{43,130},{35,130},
           {25,130},{15,130},{5,130},{5,121},{5,113},{5,105},{5,96},{5,88},{5,80},{5,70},
           {5,60},{5,50},{5,41},{5,33},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208}
          },
          {
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{5,133},{5,124},{5,116},{5,108},{5,98},{5,88},{5,78},{5,69},
           {5,61},{5,53},{5,44},{5,36},{15,36},{25,36},{35,36},{43,36},{51,36},{60,36},
           {70,36},{80,36},{90,36},{98,36},{106,36},{115,36},{170,208},{170,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208}
          },
          {
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{170,208},
           {170,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},
           {170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},
           {172,208},{172,208},{170,208},{172,208},{172,208},{7,36},{17,36},{27,36},{37,36},{45,36},
           {53,36},{62,36},{72,36},{82,36},{92,36},{100,36},{108,36},{117,36},{117,44},{117,53},
           {117,61},{117,69},{117,78},{117,88},{108,88},{100,88},{92,88},{82,88},{72,88},{62,88},
           {62,98},{62,108},{62,116},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},
           {172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208},{170,208},{172,208},{172,208}
          }
          };

  private static int[][] MAPStart={{-107,-43},{0,-43},{0,53},{-107,53}};

  private static String[] viewWord={"大富翁游戏说明:","玩家通过原点银行给2000元,",
	             "刚好在原点土地不给钱","玩家站到空地可以购买,","玩家有土地权可以建屋,",
	             "房屋每次建置一楼最多五楼,","机会与命运有不同状态,",
	             "玩家坐牢会暂停前进三次,","坐牢期间不能收取罚款,","玩家罚款要付给银行"
  };
  private int viewBuyMAP, view50Key, view60Key, view70Key, pledge, pledgepage, pledgeitem, viewpledgepage, pledgemap;
  private int pledgehand, redeem, handmove;
  private int[] pledgeList;

  public gameCanvas(richNabob richnabob)
  {
    this.richnabob=richnabob;
    gameRand=new Random();
    diceImage=new Image[6];
    dataInfor=new int[14];
    dataName=new String[3];
    readDataUTF=new String[18];
    pledgeList=new int[28];
    goMAPStatus=new int[40];
    playerHouse=new int[40];
    PCHouse=new int[40];
    try{
        firstImage=Image.createImage("/company.png");
        handImage=Image.createImage("/hand.png");
        selectImage=Image.createImage("/select.png");
        nabobmanImage=Image.createImage("/nabobman.png");
        diceImage[0]=Image.createImage("/dice1.png");
        diceImage[1]=Image.createImage("/dice2.png");
        diceImage[2]=Image.createImage("/dice3.png");
        diceImage[3]=Image.createImage("/dice4.png");
        diceImage[4]=Image.createImage("/dice5.png");
        diceImage[5]=Image.createImage("/dice6.png");
        show1Image=Image.createImage("/show1.png");
        show2Image=Image.createImage("/show2.png");
        nabobMAPImage=Image.createImage("/map.png");
    }catch(Exception ex){}
    dice1=1;
    dice2=1;
    handmove=0;
    playerMoney=PCMoney=25000;
    listChanceLife();
    player=true;
    recorddata=new recordData();
    logostart=new logoStart();
    logostart.start();
    logostart=null;
  }

  public void keyReleased(int keyCode)
  {
     switch (keyCode)
     {
        case 50: // '2'
             gameCanvas.UpDown = 0;
             break;
        case 56: // '8'
             gameCanvas.UpDown = 0;
             break;
        case 52: // '4'
             gameCanvas.LeftRight = 0;
             break;
        case 54: // '6'
             gameCanvas.LeftRight = 0;
             break;
     }
  }

  public void keyPressed(int keyCode)
  {
     int gameKey = getGameAction(keyCode);
     if(viewGame==5)  //(OK)
      switch (gameKey)
      {
        case UP:
             selectY=0;
             repaint();
             break;
        case DOWN:
             selectY=1;
             repaint();
             break;
        case LEFT:
             selectX=0;
             repaint();
             break;
        case RIGHT:
             selectX=1;
             repaint();
             break;
        case FIRE:
             checkman(selectX, selectY);
             player=false;
             pcselect=new pcSelect();
             pcselect.start();
             pcselect=null;
             break;
      }

    if(viewGame==50 && selectStatus==1)
        switch (gameKey)
        {
            case UP:
                 view50Key--;
                 if(view50Key<0) view50Key=0;
                 repaint();
                 break;
            case DOWN:
                 view50Key++;
                 if(view50Key>2) view50Key=2;
                 repaint();
                 break;
            case FIRE:
                 if(view50Key==0)
                   if(viewBuyMAP==0)  
                     viewBuyMAP=0;
                   else
                     viewBuyMAP=viewBuyMAP-10;
                 else if(view50Key==1)
                   if(viewBuyMAP==30) 
                     viewBuyMAP=30;
                   else
                     viewBuyMAP=viewBuyMAP+10;
                 else if(view50Key==2)
                   viewGame=10;
                 repaint();
                 break;
        }
    else if(viewGame==70 || viewGame==80){
        pledgemap=0;
        switch (gameKey)
        {
            case UP:
                 pledgehand--;
                 if(pledgehand<0) pledgehand=0;
                 repaint();
                 break;
            case DOWN:
                 pledgehand++;
                 if(pledgehand>pledge && viewGame==70) 
                   pledgehand=pledge;
                 if(pledgehand>redeem && viewGame==80) 
                   pledgehand=redeem;                 
                 repaint();
                 break;
            case FIRE:
                 if((pledgehand==pledge && viewGame==70) || (pledgehand==redeem && viewGame==80))
                   viewGame=60;
                 else 
                   pledgebank(pledgeList[pledgehand]);
                 repaint();
                 break;
       }
    }
    else if(viewGame==90 || viewGame==100){
        pledgemap=0;
        switch (gameKey)
        {
            case UP:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -