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

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

?? abstractsprite.java~16~

?? 全面運用所學的JAVA理論對所設計的類進一步完善
?? JAVA~16~
字號:
package tankgame2007;

import java.awt.Graphics;

public abstract class AbstractSprite { //這是Sprite父類
    int X, Y, width, height;
    boolean visible, active;
    int collisionX,collisionY;
    abstract public void paintSprite(Graphics g, int SpiritDirection);
    abstract public void paintSprite(Graphics g);
    abstract public void updateState(int SpiritDirection);

    public int getX(){  //獲得精靈X坐標值
        return X;
    }

    public int getY(){ //獲得精靈Y坐標值
        return Y;
    }

    public void setLocation(int X, int Y) { //設置精靈X,Y坐標值
        this.X = X;
        this.Y = Y;
    }

    public int getWidth(){ //獲得精靈的寬
        return width;
    }

    public int getHeight() { //獲得精靈的高
        return height;
    }

    public void setSize(int width, int height) { //設置精靈寬高值
        this.width = width;
        this.height = height;
    }

    public boolean canVisible() { //獲得精靈是否可見的屬性
        return visible;
    }

    public void setVisible(boolean v) {//設置精靈是否可見
        visible = v;
    }

    public boolean canMove() {//獲得精靈是否可移動的屬性
        return active;
    }

    public void setMove(boolean m) {//設置精靈是否可移動的屬性
        active = m;
    }

    //增加的方法:檢測碰撞算法1====================================================
    /*
    public boolean isCollided(AbstractSprite target) {
      boolean collided = false;
      if(this.visible == true && target.visible == true){
        //頭部碰撞
        if(this.getX() <= (target.getX()+ target.getWidth()) &&
           this.getX() >= target.getX()) {
          if((this.getY()+this.getHeight())>=target.getY()&&
             ((this.getY()+this.getHeight())<=
              (target.getY()+target.getHeight()))){  //左下角碰撞
            collided = true;
          }
          if((this.getY()<=(target.getY() + target.getHeight()))&&
             (this.getY()>=target.getY())){  //左上角碰撞
            collided = true;
          }
        }
        //尾部碰撞
        if(target.getX() <= (this.getX()+ this.getWidth()) &&
           target.getX() >= this.getX()) {
          if((this.getY()+this.getHeight())>=target.getY()&&
             ((this.getY()+this.getHeight())<=
              (target.getY()+target.getHeight()))){  //左下角碰撞
            collided = true;
          }
          if((this.getY()<=(target.getY() + target.getHeight()))&&
             (this.getY()>=target.getY())){  //左上角碰撞
            collided = true;
          }
        }
      }
      return collided;
    }
    */
    //檢測碰撞算法2-------------------------------------------------------------
    public boolean isCollided(AbstractSprite target) {
      boolean collided = false;
      if(this.visible == true && target.visible == true){
        int cX=(this.getX()+this.getWidth()/2)-
               (target.getX()+target.getWidth()/2);
        int cW=(this.getWidth()+target.getWidth())/2;
        int cY=(this.getY()+this.getHeight()/2)-
               (target.getY()+target.getHeight()/2);
        int cH=(this.getHeight()+target.getHeight())/2;
        if((java.lang.Math.abs(cX) < java.lang.Math.abs(cW)) &&
           (java.lang.Math.abs(cY) < java.lang.Math.abs(cH))){
            collided = true;
        }
      }
      return collided;
    }


  // 檢測與地圖的碰撞
  public boolean isCollide(int TileWidth,
                           int TileHeight,
                           int MapCols,
                           int moveDirection) {
    int mapRow = (this.Y) / TileHeight;
    int mapCol = (this.X) / TileWidth;
    int mapIndexOfLeftTop = mapRow * MapCols + mapCol;
    mapRow = (this.Y) / TileHeight;
    mapCol = (this.X + this.width) / TileWidth;
    int mapIndexOfRightTop = mapRow * MapCols + mapCol;
    mapRow = (this.Y + this.height) / TileHeight;
    mapCol = (this.X) / TileWidth;
    int mapIndexOfLeftBottom = mapRow * MapCols + mapCol;
    mapRow = (this.Y + this.height) / TileHeight;
    mapCol = (this.X + this.width) / TileWidth;
    int mapIndexOfRightBottom = mapRow * MapCols + mapCol;
    //======================================================================
    boolean collided = false;
    switch (moveDirection) {
      case 0:
        if ( (MapArray.wall[mapIndexOfLeftTop] > 0) ||
            ( (MapArray.wall[mapIndexOfLeftBottom] > 0))) {
         if(MapArray.wall[mapIndexOfLeftTop] > 0){
           collisionX = (mapIndexOfLeftTop%MapCols)*TileWidth+TileWidth+1;
         }else{
           collisionX = (mapIndexOfLeftBottom%MapCols)*TileWidth+TileWidth+1;
         }
          collided = true;
        }
        break;
      case 1:
        if ( (MapArray.wall[mapIndexOfRightTop] > 0) ||
            ( (MapArray.wall[mapIndexOfRightBottom] > 0))) {
         if(MapArray.wall[mapIndexOfRightTop] > 0){
           collisionX = (mapIndexOfRightTop%MapCols)*TileWidth-this.getWidth()-1;
         }else{
           collisionX = (mapIndexOfRightBottom%MapCols)*TileWidth-this.getWidth()-1;
         }
          collided = true;
        }
        break;
      case 2:
        if ( (MapArray.wall[mapIndexOfLeftTop] > 0) ||
            ( (MapArray.wall[mapIndexOfRightTop] > 0))) {
         if(MapArray.wall[mapIndexOfLeftTop] > 0){
           collisionY = (mapIndexOfLeftTop/MapCols+1)*TileHeight+1;
         }else{
           collisionY = (mapIndexOfRightTop/MapCols+1)*TileHeight+1;
         }
          collided = true;
        }
        break;
      case 3:
        if ( (MapArray.wall[mapIndexOfLeftBottom] > 0) ||
            ( (MapArray.wall[mapIndexOfRightBottom] > 0))) {
         if(MapArray.wall[mapIndexOfLeftBottom] > 0){
           collisionY = (mapIndexOfLeftBottom/MapCols)*TileHeight-this.getHeight()-1;
         }else{
           collisionY = (mapIndexOfRightBottom/MapCols)*TileHeight-this.getHeight()-1;
         }
          collided = true;
        }
    }
    return collided;
  }

    //====================================================================
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合色啪| 日韩一级欧美一级| 自拍偷拍亚洲欧美日韩| 99热国产精品| 亚洲美女区一区| 欧美性猛片aaaaaaa做受| 午夜精品一区二区三区三上悠亚| 在线观看网站黄不卡| 亚洲在线免费播放| 欧美一区永久视频免费观看| 看电视剧不卡顿的网站| 久久精品一区二区| 日本久久电影网| 五月天激情综合| 久久九九久久九九| av亚洲精华国产精华精华| 亚洲尤物视频在线| 精品欧美乱码久久久久久1区2区| 国产黄色成人av| 一区二区欧美视频| 精品久久久久香蕉网| 91理论电影在线观看| 日韩精品免费专区| 中文字幕精品三区| 欧美久久一二三四区| 国产91精品一区二区麻豆亚洲| 伊人婷婷欧美激情| 久久综合国产精品| 欧美性猛片xxxx免费看久爱| 国精品**一区二区三区在线蜜桃| 亚洲视频一区在线观看| 欧美一区二区视频在线观看2020| 成人免费精品视频| 琪琪久久久久日韩精品| 国产精品乱码妇女bbbb| 日韩一级视频免费观看在线| 成人高清伦理免费影院在线观看| 日韩高清不卡一区二区三区| 中文字幕乱码亚洲精品一区| 777色狠狠一区二区三区| 成人免费视频网站在线观看| 视频一区中文字幕国产| 国产精品美女www爽爽爽| 欧美精品丝袜中出| 91丨porny丨中文| 国产精一区二区三区| 亚洲在线观看免费视频| 国产精品欧美综合在线| 日韩一级视频免费观看在线| www.亚洲在线| 国产精品亚洲一区二区三区在线| 亚洲va欧美va人人爽| 国产精品久久久久久久久免费樱桃 | 欧美日韩一区在线观看| 国产成a人亚洲精| 麻豆精品一区二区av白丝在线 | 亚洲福利一区二区三区| 国产欧美视频在线观看| 精品国产伦理网| 欧美精品99久久久**| 在线国产亚洲欧美| av一二三不卡影片| 波多野结衣精品在线| 国产精品一线二线三线精华| 看片网站欧美日韩| 免费观看91视频大全| 水野朝阳av一区二区三区| 亚洲精品ww久久久久久p站| 国产精品素人视频| 国产午夜精品在线观看| 精品久久久三级丝袜| 日韩午夜激情免费电影| 宅男噜噜噜66一区二区66| 666欧美在线视频| 欧美一卡二卡三卡| 精品乱码亚洲一区二区不卡| 欧美大片在线观看一区| 欧美videossexotv100| 欧美mv日韩mv亚洲| 久久久三级国产网站| 精品国产污污免费网站入口 | 在线免费亚洲电影| 91久久精品网| 69久久99精品久久久久婷婷| 欧美麻豆精品久久久久久| 91.com视频| 精品国内二区三区| 久久久国产综合精品女国产盗摄| 久久久久成人黄色影片| 国产女人aaa级久久久级 | 欧美在线免费观看亚洲| 欧美日韩在线免费视频| 制服丝袜亚洲精品中文字幕| 日韩免费在线观看| 欧美国产成人精品| 一区二区三区高清在线| 五月天久久比比资源色| 久久av资源站| 成年人国产精品| 在线观看日韩av先锋影音电影院| 欧美午夜理伦三级在线观看| 91精品国产综合久久久久久漫画 | 一本色道久久综合亚洲精品按摩| 在线观看免费亚洲| 欧美mv日韩mv国产| 国产精品亲子乱子伦xxxx裸| 一区二区日韩av| 另类中文字幕网| 成人网男人的天堂| 欧美日本一道本| 久久网站最新地址| 亚洲永久精品大片| 国产真实精品久久二三区| 色综合久久综合网97色综合 | 亚洲综合成人在线| 精品一区二区三区久久| 99精品国产99久久久久久白柏| 欧美天堂一区二区三区| 精品电影一区二区| 一区二区三区欧美视频| 国产精品一区二区三区网站| 在线亚洲欧美专区二区| 欧美精品一区男女天堂| 一区二区三区成人| 国产乱子伦一区二区三区国色天香| 91香蕉视频mp4| 2020国产精品| 日精品一区二区| 99久久免费国产| 2022国产精品视频| 婷婷开心激情综合| 91视频一区二区三区| 精品国产91洋老外米糕| 午夜电影一区二区三区| 成人精品高清在线| 日韩欧美一区中文| 亚洲一区在线观看网站| 成人免费看黄yyy456| 精品三级在线看| 日韩成人一级大片| 欧美性高清videossexo| 国产精品盗摄一区二区三区| 久久99久国产精品黄毛片色诱| 欧美综合一区二区三区| 中文字幕av一区二区三区高 | 亚洲色图视频免费播放| 国产曰批免费观看久久久| 欧美精品久久久久久久多人混战| 亚洲乱码精品一二三四区日韩在线| 国产一区二区在线影院| 91精品欧美综合在线观看最新| 亚洲精选视频在线| 91香蕉视频在线| 综合久久久久久| 99久久国产综合精品麻豆| 久久综合久久99| 精品亚洲免费视频| 日韩午夜在线影院| 日本不卡一区二区| 欧美日韩一级黄| 亚洲无线码一区二区三区| 色婷婷精品大在线视频| 一区二区三区中文字幕| 色婷婷亚洲婷婷| 一区av在线播放| 欧美午夜影院一区| 午夜欧美2019年伦理| 欧美日韩一区二区电影| 亚洲123区在线观看| 欧美精品在欧美一区二区少妇| 亚洲尤物视频在线| 7878成人国产在线观看| 日韩精品一级二级| 欧美zozo另类异族| 国产精品99久久久| 久久久久国产一区二区三区四区 | 欧美无人高清视频在线观看| 欧美不卡一区二区| 精品一区二区三区在线观看| 日韩午夜电影在线观看| 久久精品国产77777蜜臀| 久久中文字幕电影| jlzzjlzz欧美大全| 一区二区三区四区视频精品免费| 欧美性猛片aaaaaaa做受| 精品在线播放免费| 中文字幕第一区二区| 色哟哟一区二区三区| 午夜欧美在线一二页| 精品国产伦理网| 99精品视频一区二区| 亚洲午夜免费福利视频| 日韩视频免费直播| 国产69精品久久99不卡| 亚洲精品欧美激情| 欧美日韩国产精品自在自线| 久99久精品视频免费观看| 国产精品欧美久久久久一区二区| 91影院在线观看| 免费高清在线一区|