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

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

?? cur.java

?? 手機RPG游戲
?? JAVA
字號:
package obj;

import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;
import main.*;
import java.io.*;
import java.util.*;
public class Cur    {


//public int Drugstore[]={20,40,80,80,200,25,50,100,100,500};//藥店物品的價格。
public int Smith []={100,90,80,120,150,200,180,160,240,300};//鐵匠物品的價格。
private Image Img;
private int imgw;
private int imgh;
private int curx=0;//坐標
private int cury=0;
private int num=0;//第幾個物品
  int sx;//x,y移動量
  int sy;
  int speed=11;//每次的移動量。
  int d=4;
  int dx=0,dy=0;//整體的偏移量。
int w,h;//屏幕的寬高
int BuyGridxPos,BuyGridyPos;//交易欄的坐標
int stry;//寫字的縱坐標。
int strx;

//****************************
   int playerGridImgW=MyControl.load.gridImg[1].getWidth();//玩家物品欄的寬高
   int playerGridImgH=MyControl.load.gridImg[1].getHeight();
   int playerGridImgx=0;
   int playerGridImgy;

   int Pnum=0;
   int Pspeedx=17;
   int Pspeedy=21;
   int Psx,Psy;
   int Pdx=8,Pdy=7;
   int curPy;//光標坐標
   int curPx=playerGridImgx+Pdx;
   int cpy;
   int cpx;
//*****************

    Goods goods[]=new Goods[30];
     Image goodsImg;
    int gs=17;//第gs個是最后一個藥品了
public boolean findGood=false;//發現得到物品。
public boolean gridOverstep=false;//物品欄過滿。沒有空地方了。
    int nn=-1;
    int findn=0;//計數器
   int findtime=15;//發現得到物品。的顯示時間
//***************
    Vector gvs;//玩家物品欄
    int maxVector=16;
    int  pMoney;
  //////////////////////////////////
  //這是在交易欄上的從標
  //////////////////////////////
  public Cur(int buyGridx,int buyGridy,int boardw,int boardh,int playerMoney) {

    w=boardw;
    h=boardh;
    BuyGridxPos=buyGridx;
    BuyGridyPos=buyGridy;

    playerGridImgy=h-playerGridImgH;//玩家物品欄的縱坐標。
    curPy=playerGridImgy+Pdy;
    cpy=curPy;
    cpx=curPx;

     curInit(buyGridx,buyGridy);
     pMoney=playerMoney;
     madeGoods();//物品數組。
     gvs=new Vector();
     for(int i=0;i<maxVector;i++){//給物品欄加入元素。
     gvs.addElement(new Goods());
   }
  }

public Vector getVector(){
return gvs;
  }
private void curInit(int x,int y){
  dx=x+5;dy=y+3;
  curx=dx;cury=dy;
  Img=MyControl.load.gridImg[2];//交易欄的圖片。
  imgw=Img.getWidth();
  imgh=Img.getHeight();
  stry=dy+4*(speed)+3*d;
  strx=BuyGridxPos+5;
 }

///////////////////////////////
private void madeGoods(){//物品
   for(int i=0;i<goods.length;i++){goods[i]=new Goods(); }//初始化每一個對象。
//  Goods goods[]=new Goods[30];

try { goodsImg = Image.createImage("/res/goods.png");}
catch (IOException ex) {System.out.println("goods.png load defeat!");}
String goodNames[]={//名字
       "綠石","銅戒","小紅","小藍","辯認",
       "紅石","銀戒","中紅","中藍","回城",
       "藍石","金戒","大紅","大藍","骷髏",
       "粉石","鉆戒","戰甲","頭盔","鋼靴",
       "戰手","長劍","戰盾","戰盔","戰靴",
       "護手","青鋒","莫邪","腰帶","古書",
   };
int goodPrice[]={//價格
          100,50 ,20 ,25 ,80 ,
          200,100,40 ,50 ,100,
          300,150,80 ,100,200,
          400,200,200,80 ,100,
          100,50 ,150,160,200,
          50 ,100,200,100,800,
      };
int goodN[]={//擁有數量
             0,0,0,0,0,
             0,0,0,0,0,
             0,0,0,0,0,
             0,0,0,0,0,
             0,0,0,0,0,
             0,0,0,0,0,
         };
    for(int i=0;i<goods.length;i++){  //初始化物品的數組。
      goods[i].name=goodNames[i];//名字
      goods[i].price=goodPrice[i];//價格
      goods[i].n=goodN[i];//數量
      goods[i].number=i;//編號
      goods[i].img=Image.createImage(goodsImg,//物品圖片。
                                     (i%5)*goods[i].imgw,
                                     (i/5)*goods[i].imgh,
                                     goods[i].imgw,
                                     goods[i].imgh,0);
         }

      for(int i=0;i<gs;i++){//藥店物品的坐標
      goods[i].imgx=(i%5)*(goods[i].imgw+d)+dx;
      goods[i].imgy=(i/5)*(goods[i].imgh+d)+dy;
      }
      for(int i=0;i<goods.length-gs;i++){//武器店物品的坐標。
      goods[i+gs].imgx=(i%5)*(goods[i+gs].imgw+d)+dx;
      goods[i+gs].imgy=(i/5)*(goods[i+gs].imgh+d)+dy;
      }
 }
////////////////////////////////
  public void curNpcGridAction(int st,boolean hitDrugstore, boolean hitSmith){//在交易物品欄的移動。
     {sx=0;sy=0;}
    if((st&GameCanvas.RIGHT_PRESSED)!=0){//右
      if(curx+1<=imgw-speed-dx)    { sx=speed+d;num++;}
    }
    if((st&GameCanvas.LEFT_PRESSED)!=0){//左
      if(curx-1>=dx)    { sx=-(speed+d);num--;}
    }
    if((st&GameCanvas.UP_PRESSED)!=0){//上
      if(cury-1>=dy)    {sy=-(speed+d);num-=5;}
    }
    if((st&GameCanvas.DOWN_PRESSED)!=0){//下
      if(cury+1<=imgh-dy) { sy=(speed+d);num+=5;}
    }
    curx+=sx;
    cury+=sy;
    if((st&GameCanvas.GAME_A_PRESSED)!=0){//按 1 鍵確認買物品

      if((hitDrugstore)&&(num<gs)){ goodsBuy(num);}//在藥店買物品
      if((hitSmith)&&(num<goods.length-gs)){goodsBuy(num+gs);}//在鐵匠買物品

    }
  }
////////////
private void goodsBuy(int Num){//(買物品的實現)
    int n=onceBuy(Num);

       if(n<0){//如果物品欄中沒這個物品。
             for(int i=0;i<gvs.size();i++){

                Goods gd=(Goods)gvs.elementAt(i);
                   if(gd.n==0)//如果這個物品欄是空的,就讓它等于當前選中的。并且加 1
                     {if( pMoney-goods[Num].price>=0)//有錢嗎
                       { ((Goods)gvs.elementAt(i)).set(goods[Num]);//將(Goods)gvs.elementAt(i)給值為goods[num]
                         ((Goods)gvs.elementAt(i)).n++;
                         pMoney-=((Goods)gvs.elementAt(i)).price;//金錢的變化。
                         }

                         return;}

                   if(i==gvs.size()-1){

                     return;}//物品欄沒有空的地方了。
                }
       }
       else {//有這個物品了。
             if(((Goods)gvs.elementAt(n)).n<99){
                 if( pMoney-((Goods)gvs.elementAt(n)).price>=0){//有錢嗎
                     pMoney-=((Goods)gvs.elementAt(n)).price;//金錢的變化。
                     ((Goods)gvs.elementAt(n)).n++;
                     }
              }
       }
  }
////////////////////
//測物品欄中有沒有當前選取的物品。//有這個物品 >=0; 沒有為 -1;
  private int onceBuy(int Num){
    for(int i=0;i<gvs.size();i++){
    Goods gd=(Goods)gvs.elementAt(i);
    if(((Goods)gvs.elementAt(i)).name.equals(goods[Num].name)){return i;}
    }
    return -1;
  }
//*****************************************************************************************************************
/////////////////////////////////////////////////////////////////////////////////////
  //
  //這是在玩家物品欄上的坐標。
  ////////////////////////////////////////////////////
  public void curPlayerGridAction(int st,boolean showBuyGrid){//在玩家的物品欄的光標移動

      {Psx=0;Psy=0;}
     if((st&GameCanvas.RIGHT_PRESSED)!=0){
       if(curPx+1<=playerGridImgW-Pspeedx-Pdx)    { Psx=Pspeedx;Pnum++;}
     }
     if((st&GameCanvas.LEFT_PRESSED)!=0){
       if(curPx-1>=Pdx)    { Psx=-Pspeedx;Pnum--;}
     }
     if((st&GameCanvas.UP_PRESSED)!=0){
       if(curPy-1>=h-playerGridImgH+Pdy)    {Psy=-Pspeedy;Pnum-=4;}
     }
     if((st&GameCanvas.DOWN_PRESSED)!=0){
       if(curPy+1<=h-Pspeedy) { Psy=Pspeedy;Pnum+=4;}
     }
     curPx+=Psx;
     curPy+=Psy;
     if((st&GameCanvas.GAME_A_PRESSED)!=0){ //光標在玩家物品欄時,按 1 鍵賣物品或使用物品。

       if((((Goods)gvs.elementAt(Pnum)).n>0)&&(Pnum<goods.length))//有物品時
             if(showBuyGrid)//顯示交易欄時才可以賣。
              {pMoney+=((Goods)gvs.elementAt(Pnum)).price/2;//賣回時,價格是原來的一半
              ((Goods)gvs.elementAt(Pnum)).n--;
              }
              else{//玩家使用物品。
              MyControl.gameBoard.player.changPlayerAttribute(gvs,Pnum);
              }

   }//end (st&GameCanvas.GAME_A_PRESSED)!=0
   }

//////////////////////////////////////
public int getPlearMoney(){
  return pMoney;
  }

  public int getNum(){
    return this.num;
  }
  public void setNum(int n){
    this.Pnum=n;
    this.num=n;
  }
  public void setCurx() {
    curPx=cpx;
    this.curx = dx;
  }
  public void setCury() {
    curPy= cpy;
    this.cury = dy;
  }
  private  void curNpcGridShow(Graphics g ){
    g.setColor(0xff0000);
    g.drawRect(curx,cury,speed,speed);
  }

///////////////////////////
  public void DrugstoreGrid(Graphics g,boolean curSwap){//顯示藥店的交易欄
    showBuyGrid(g);//交易欄
    for(int i=0;i<gs;i++){//加物品
      g.drawImage(goods[i].img,goods[i].imgx,goods[i].imgy,Graphics.LEFT|Graphics.TOP);
    }
   if(num<gs) {//加物品的價格。
     g.setColor(0xffff00);
     g.drawString(goods[num].name+":"+goods[num].price+"元。",strx,stry,0);
   }
   if(!curSwap){curNpcGridShow(g);}// 光標。
  }
///////////////////
  public void SmithGrid(Graphics g,boolean curSwap){//顯示鐵匠的交易欄
    showBuyGrid(g);//交易欄

      for(int i=0;i<goods.length-gs;i++){//加物品
        g.drawImage(goods[i+gs].img,goods[i+gs].imgx,goods[i+gs].imgy,Graphics.LEFT|Graphics.TOP);
      }
      if(num<goods.length-gs) {//加物品的價格。
        g.setColor(0xffff00);
        g.drawString(goods[num+gs].name+":"+goods[num+gs].price+"元。",strx,stry,0);
      }
      if(!curSwap){curNpcGridShow(g);}
  }
  /////////////
  private void showBuyGrid(Graphics g){//顯示交易欄
    Image buyGridImg=MyControl.load.gridImg[2];
    g.drawImage(buyGridImg,BuyGridxPos,BuyGridyPos,Graphics.LEFT|Graphics.TOP);
  }


/////////////////////////
    public void PlayerGrid(Graphics g,boolean curSwap){//玩家的物品欄
      Image grid1=MyControl.load.gridImg[1];//物品欄
      int grid1x=0;
      int grid1y=h-grid1.getHeight();
      g.drawImage(grid1,grid1x,grid1y,Graphics.LEFT|Graphics.TOP);

     int strx=playerGridImgx+9;//物品坐標
     int stry=playerGridImgy+15;
     int rs=17;//加到x上
     int cs=21;//加到y上
     g.setColor(0xffffff);

     for(int i=0;i<gvs.size();i++){//畫物品
       Goods good=(Goods)gvs.elementAt(i);
       if(good.n!=0)//如果擁有物品的個數為0,則不畫。
       { g.drawString(Integer.toString(good.n),strx+(i%4)*rs,stry+i/4*cs,0);//擁有物品的個數。
         g.drawImage(good.img,strx+(i%4)*rs,stry+i/4*cs-good.imgh+3,Graphics.TOP|Graphics.LEFT);//畫物品。
       }
     }
     if(curSwap){g.setColor(0xff0000);//光標,,,,光標如果在交易欄中,則物品欄中不顯示。
      g.drawRect(curPx,curPy,speed,speed);}
  }

//////////////////////
public void playerHitBox(Box box){//與箱子相碰撞得到物品。
    if(box.isopen){return;}//箱子打開過
    else{       box.isopen=true;
                findGood=true;
                this.findGoods();

              }
}
////////////////////

//  int findn=0;//計數器
//   int findtime=10;//發現得到物品。的顯示時間
public void findGoodShow(Graphics g){

  if(findGood){//發現物品時說話。
    if(gridOverstep){//物品滿了。
          g.setColor(0xff0000);
          g.drawString("發現了"+goods[nn].name+",但我包里沒地方了!",20,h-25-findn,0);
          findn++;
              if(findn%findtime==0){
                    findGood=false;
                    gridOverstep=false;
                    nn=-1;
                    findn=0;
                  }
    }
    else{
          g.setColor(0x0000ff);
               g.drawString("太幸運了,得到了"+goods[nn].name+"!",20,h-25-findn,0);


          findn++;
              if(findn%findtime==0){
                    findGood=false;
                    nn=-1;
                    findn=0;
                  }
        }

  }
  }
///////////
//  public void playerBooty(Player player,Graphics g){
//    if(player.playerBooty){
//    findGoods();
//    findGood=true;
//    player.playerBooty=false;
//    }
//
//   // (player.playerLevel+1)*monster.mEX;//經驗
//  }
///////////
  public void findGoods(){//發現并得到物品。
  Random br=new Random();
  nn=br.nextInt(goods.length);
  int n=onceBuy(nn);//測出原來有沒有這個物品。
          if(n<0){//如果物品欄中沒這個物品。
                   for(int i=0;i<gvs.size();i++){
                      Goods gd=(Goods)gvs.elementAt(i);
                         if(gd.n==0)//如果這個物品欄是空的,就讓它等于當前選中的。并且加 1
                             { ((Goods)gvs.elementAt(i)).set(goods[nn]);//將(Goods)gvs.elementAt(i)給值為goods[num]
                               ((Goods)gvs.elementAt(i)).n++;
                               gridOverstep=false;
                               return;
                             }
                      if(i==gvs.size()-1){
                        gridOverstep=true;//沒這個物品,但物品欄沒空地方,報滿。
                        return;}//物品欄沒有空的地方了。
                      }
             }
             else {//有這個物品了。
                   if(((Goods)gvs.elementAt(n)).n<99){
                          ((Goods)gvs.elementAt(n)).n++;
                          gridOverstep=false;
                    }
                    else{gridOverstep=true;}//有這個物品,但數量大于99報滿
             }

  }
//////////////


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷av一区二区三区软件| 亚洲国产精品一区二区www在线| 精品免费一区二区三区| 欧美一区二区三级| 这里只有精品99re| 日韩一区二区三区在线观看 | 精品国产免费人成电影在线观看四季| 欧美日韩视频不卡| 7777精品伊人久久久大香线蕉完整版 | 国产一区二区精品久久91| 精一区二区三区| 国产在线麻豆精品观看| 高清不卡一区二区| 99久久国产综合精品色伊| 91麻豆视频网站| 欧美亚洲禁片免费| 日韩精品一区二区三区在线 | 国产亚洲精久久久久久| 国产日产欧美一区二区视频| 国产精品剧情在线亚洲| 亚洲一区在线播放| 日韩福利电影在线| 国产成人精品免费一区二区| 91麻豆国产香蕉久久精品| 欧美日韩你懂的| 精品国产露脸精彩对白| 亚洲国产精华液网站w| 亚洲激情六月丁香| 青青草原综合久久大伊人精品| 韩国女主播一区二区三区| 不卡一区二区三区四区| 欧美乱妇一区二区三区不卡视频| 精品捆绑美女sm三区| 亚洲欧洲美洲综合色网| 日韩国产一二三区| 国产成人免费视| 欧美午夜一区二区三区| 久久亚洲一区二区三区明星换脸| 亚洲欧美日韩在线播放| 日韩av电影一区| 成人丝袜视频网| 337p亚洲精品色噜噜噜| 国产精品美女久久久久高潮| 亚洲第一福利视频在线| 国产91精品久久久久久久网曝门| 欧洲国产伦久久久久久久| 欧美变态tickling挠脚心| 亚洲精品成人天堂一二三| 美女视频黄a大片欧美| va亚洲va日韩不卡在线观看| 91精品一区二区三区在线观看| 久久久久久久久免费| 亚洲综合一二区| 国产精品一区二区久久不卡| 欧美色区777第一页| 国产欧美日韩在线| 石原莉奈在线亚洲二区| 成人h精品动漫一区二区三区| 欧美一区二区三区思思人| 亚洲欧洲三级电影| 国产精品资源网| 91精品国产综合久久婷婷香蕉 | 亚洲一区二区三区爽爽爽爽爽| 激情五月播播久久久精品| 91黄色在线观看| 日本一区二区成人| 蜜桃视频一区二区三区在线观看| 91碰在线视频| 国产精品久久一级| 国产专区欧美精品| 91麻豆精品国产91久久久久久久久 | 国产精品白丝jk白祙喷水网站| 欧美日韩精品一区二区天天拍小说 | 中文字幕一区在线观看| 精品无码三级在线观看视频| 欧美丝袜丝交足nylons| 国产精品欧美一区二区三区| 久久99最新地址| 欧美日韩免费电影| 一区二区免费看| 欧美综合亚洲图片综合区| 国产色综合久久| 亚洲123区在线观看| 91丨九色丨蝌蚪富婆spa| 欧美激情一区在线观看| 狠狠色狠狠色综合日日91app| 欧美剧情片在线观看| 亚洲制服丝袜在线| 色成人在线视频| 亚洲精品水蜜桃| 一本到三区不卡视频| 亚洲欧洲在线观看av| av一区二区三区| 中文字幕精品在线不卡| 国产suv精品一区二区6| 久久久夜色精品亚洲| 国产精品一色哟哟哟| 国产片一区二区| 国产一本一道久久香蕉| 国产亚洲短视频| 成人h精品动漫一区二区三区| 国产精品三级av在线播放| 国产精品1024| 国产精品免费免费| 成人精品国产免费网站| 中文字幕制服丝袜一区二区三区 | 日韩激情视频网站| 欧美一区二视频| 激情综合色综合久久综合| 久久久久国产精品人| 国产不卡高清在线观看视频| 亚洲电影一区二区| 欧美吞精做爰啪啪高潮| 亚洲成a人片在线观看中文| 欧美精品日日鲁夜夜添| 日本在线不卡视频一二三区| 日韩欧美国产系列| 国产成人在线视频网站| ...av二区三区久久精品| 91久久精品一区二区三区| 午夜精品久久久久久久99水蜜桃| 制服.丝袜.亚洲.另类.中文| 九九九精品视频| 国产精品久久久久aaaa樱花| 色综合久久99| 日本成人在线不卡视频| 国产偷v国产偷v亚洲高清| 色婷婷亚洲精品| 久久精品国产99久久6| 国产精品网站在线播放| 欧美体内she精视频| 极品尤物av久久免费看| 最好看的中文字幕久久| 欧美三级日韩三级国产三级| 精品一区二区三区在线播放| 国产精品美女久久久久久久网站| 日本精品免费观看高清观看| 捆绑紧缚一区二区三区视频| 国产精品久久看| 欧美一区二区三区男人的天堂| 懂色av噜噜一区二区三区av| 亚洲狠狠丁香婷婷综合久久久| 日韩午夜电影在线观看| 成人h动漫精品一区二区| 天堂影院一区二区| 国产精品久久久久久一区二区三区| 欧美日韩久久久久久| 国产成人av电影在线播放| 午夜精品久久久久久不卡8050| 久久久久久久久久看片| 欧美日韩国产天堂| 成人a级免费电影| 久久精品国产在热久久| 一区二区三区在线免费观看| 精品人在线二区三区| 欧美艳星brazzers| 丁香一区二区三区| 蜜臀av一区二区在线免费观看| 亚洲欧美激情插| 久久影院电视剧免费观看| 精品视频在线免费看| 成人免费看视频| 蜜臀av性久久久久蜜臀aⅴ | 一区二区在线观看av| 久久久久久久久久久99999| 欧美色偷偷大香| 99久久婷婷国产综合精品电影| 精品中文字幕一区二区小辣椒| 亚洲黄色性网站| 国产精品免费网站在线观看| 欧美大肚乱孕交hd孕妇| 欧美视频自拍偷拍| 色综合天天做天天爱| 丁香六月综合激情| 国产在线精品一区二区三区不卡| 亚洲成a人在线观看| 亚洲免费观看高清完整版在线| 欧美国产欧美亚州国产日韩mv天天看完整 | 91在线国产福利| 国产精品综合网| 久久99精品国产91久久来源| 亚洲综合av网| 亚洲人成亚洲人成在线观看图片| 久久一夜天堂av一区二区三区| 日韩三级中文字幕| 欧美日韩精品系列| 91国偷自产一区二区三区观看| 波多野结衣亚洲一区| 国产精品99久久久| 国产精品一区二区在线播放 | 日韩片之四级片| 欧美色倩网站大全免费| 色猫猫国产区一区二在线视频| av午夜一区麻豆| 不卡一区在线观看| 99久久精品国产毛片| 成人的网站免费观看| 99久久久无码国产精品| 成人毛片视频在线观看| av亚洲精华国产精华|