ผลต่างระหว่างรุ่นของ "Oop lab/gdx/pacman rev"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
(หน้าที่ถูกสร้างด้วย ': หน้านี้เป็นส่วนหนึ่งของ oop lab == สร้างคลาสใหม่ == == ...')
 
แถว 1: แถว 1:
: หน้านี้เป็นส่วนหนึ่งของ [[oop lab]]
+
: ''หน้านี้เป็นส่วนหนึ่งของ [[oop lab]]''
  
 
== สร้างคลาสใหม่ ==
 
== สร้างคลาสใหม่ ==
 +
<syntaxhighlight lang="java">
 +
public class ReversePacman extends Pacman {
 +
    public ReversePacman(int x, int y, World world) {
 +
        super(x, y, world);
 +
    }
 +
}
 +
</syntaxhighlight>
  
 
== Override method ==
 
== Override method ==
 +
<syntaxhighlight lang="java">
 +
    @Override
 +
    public void setNextDirection(int dir) {
 +
    }
 +
</syntaxhighlight>
 +
 +
<syntaxhighlight lang="java">
 +
public class ReversePacman extends Pacman {
 +
    private int [] reverseDirMap;
 +
   
 +
    public ReversePacman(int x, int y, World world) {
 +
        super(x, y, world);
 +
       
 +
        reverseDirMap = new int[5];
 +
        reverseDirMap[Pacman.DIRECTION_STILL] = Pacman.DIRECTION_STILL;
 +
        reverseDirMap[Pacman.DIRECTION_LEFT] = Pacman.DIRECTION_RIGHT;
 +
        reverseDirMap[Pacman.DIRECTION_RIGHT] = Pacman.DIRECTION_LEFT;
 +
        reverseDirMap[Pacman.DIRECTION_UP] = Pacman.DIRECTION_DOWN;
 +
        reverseDirMap[Pacman.DIRECTION_DOWN] = Pacman.DIRECTION_UP;
 +
    }
 +
 +
    @Override
 +
    public void setNextDirection(int dir) {
 +
        int revDir = reverseDirMap[dir];
 +
        super.setNextDirection(revDir);
 +
    }
 +
}
 +
</syntaxhighlight>
 +
 
== สร้างใน World ==
 
== สร้างใน World ==
 
<syntaxhighlight lang="java">
 
<syntaxhighlight lang="java">

รุ่นแก้ไขเมื่อ 22:33, 17 พฤศจิกายน 2559

หน้านี้เป็นส่วนหนึ่งของ oop lab

สร้างคลาสใหม่

public class ReversePacman extends Pacman {
    public ReversePacman(int x, int y, World world) {
        super(x, y, world);
    }
}

Override method

    @Override
    public void setNextDirection(int dir) {
    }
public class ReversePacman extends Pacman {
    private int [] reverseDirMap;
    
    public ReversePacman(int x, int y, World world) {
        super(x, y, world);
        
        reverseDirMap = new int[5];
        reverseDirMap[Pacman.DIRECTION_STILL] = Pacman.DIRECTION_STILL;
        reverseDirMap[Pacman.DIRECTION_LEFT] = Pacman.DIRECTION_RIGHT;
        reverseDirMap[Pacman.DIRECTION_RIGHT] = Pacman.DIRECTION_LEFT;
        reverseDirMap[Pacman.DIRECTION_UP] = Pacman.DIRECTION_DOWN;
        reverseDirMap[Pacman.DIRECTION_DOWN] = Pacman.DIRECTION_UP;
    }

    @Override
    public void setNextDirection(int dir) {
        int revDir = reverseDirMap[dir]; 
        super.setNextDirection(revDir);
    }
}

สร้างใน World

public class World {
    // ...    
    World(PacmanGame pacmanGame) {
        // ...

        //pacman = new Pacman(60,60,this);
        pacman = new ReversePacman(60,60,this);

        // ...
    }
}