public void allMove() {
        // 물고기들을 이동시키고 충돌확인하고 이벤트를 처리하는 메소드

        // 컴퓨터 물고기와 플레이어 물고기를 모두 논리이동시킨다
        for (int i = 0; i < curFishNumber; i++) {
            fishList.elementAt(i).move();
        }
        this.playerFish1.move();
        if (this.gameMode == FishEater.GAME_RUN_2P) {
            this.playerFish2.move();
        }

        // 컴퓨터 물고기가 화면 밖으로 나갔을 경우 remove한다.
        for (int i = 0; i < curFishNumber; i++) {
            if (fishList.elementAt(i).isOutOfbound()) {
                fishList.removeElementAt(i);
                curFishNumber--;
            }
        }

        // 플레이어 물고기와  컴퓨터 물고기가 충돌했는지 확인하고 충돌 할 경우
        // 먹을 수 있다면, 먹고, 먹을 수 없다면 먹지 않고, 먹혀야 한다면 먹힌다.
        allCollisionTest(playerFish1);
        if (gameMode == FishEater.GAME_RUN_2P) {
            allCollisionTest(playerFish2);
        }

        // 플레이어 물고기 끼리 충돌했는지 검사한뒤 적당한 이벤트를 발생한다
        // curLevel를 설정하여 리스폰 되는 컴퓨터 물고기의 레벨을 조정한다
        // 게임 진행 모드의 플레이어의 수에 따라 정해진다
        if (gameMode == FishEater.GAME_RUN_2P) {
            if (playerFish1.isCollition(playerFish2.getFish())) {
                if (playerFish1.isEatable(playerFish2)) {
                    playerFish1.eat(playerFish2.getFish());
                    playerFish2.eaten();
                } else if (playerFish2.isEatable(playerFish1)) {
                    playerFish2.eat(playerFish1.getFish());
                    playerFish1.eaten();
                }
            }
            curLevel = (playerFish1.getLevel() + playerFish2.getLevel()) / 2;
        } else {
            curLevel = playerFish1.getLevel();
        }
    }