Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 11903


Ignore:
Timestamp:
Apr 25, 2018, 1:06:00 PM (6 years ago)
Author:
dreherm
Message:

Other ghost movement

Location:
code/branches/3DPacman_FS18/src/modules
Files:
1 deleted
2 edited

Legend:

Unmodified
Added
Removed
  • code/branches/3DPacman_FS18/src/modules/pacman/PacmanGhost.cc

    r11900 r11903  
    118118         else{
    119119            if(findpos(actuelposition,possibleposition[0])){
     120                setnewTarget(1);
     121            }
     122            else if(findpos(actuelposition,possibleposition[1])){
     123                setnewTarget(0,2);
     124            }
     125            else if(findpos(actuelposition,possibleposition[2])){
     126                        setnewTarget(1,3);
     127            }
     128            else if(findpos(actuelposition,possibleposition[3])){
     129                            setnewTarget(2,4,5);
     130            }
     131            else if(findpos(actuelposition,possibleposition[4])){
     132                                setnewTarget(3,6);
     133            }
     134            else if(findpos(actuelposition,possibleposition[5])){
     135                setnewTarget(3,7);
     136            }
     137            else if(findpos(actuelposition,possibleposition[6])){
     138                setnewTarget(4);
     139            }
     140            else if(findpos(actuelposition,possibleposition[7])){
     141                setnewTarget(5);
     142            }
     143
     144
     145            else{
     146            } //End of Position table
     147            }
     148
     149    }
     150
     151    void PacmanGhost::setnewTarget(int firstdec){
     152          decision = rand()%1;
     153            switch(decision){
     154                case 0:
     155                    this->target_x = possibleposition[firstdec].x;
     156                    this->target_z = possibleposition[firstdec].z;
     157                    this->ismoving = true;
     158                    break;
     159                }
     160    }
     161
     162    void PacmanGhost::setnewTarget(int firstdec, int seconddec){
     163           decision = rand()%2;
     164            switch(decision){
     165                case 0:
     166                    this->target_x = possibleposition[firstdec].x;
     167                    this->target_z = possibleposition[firstdec].z;
     168                    this->ismoving = true;
     169                    break;
     170                case 1:
     171                    this->target_x = possibleposition[seconddec].x;
     172                    this->target_z = possibleposition[seconddec].z;
     173                    this->ismoving = true;
     174                    break; 
     175            }
     176    }
     177
     178    void PacmanGhost::setnewTarget(int firstdec, int seconddec, int thirddec){
     179           decision = rand()%3;
     180            switch(decision){
     181                case 0:
     182                    this->target_x = possibleposition[firstdec].x;
     183                    this->target_z = possibleposition[firstdec].z;
     184                    this->ismoving = true;
     185                    break;
     186                case 1:
     187                    this->target_x = possibleposition[seconddec].x;
     188                    this->target_z = possibleposition[seconddec].z;
     189                    this->ismoving = true;
     190                    break;
     191                case 2:
     192                    this->target_x = possibleposition[thirddec].x;
     193                    this->target_z = possibleposition[thirddec].z;
     194                    this->ismoving = true;
     195                    break;   
     196                }
     197        }
     198
     199    void PacmanGhost::setnewTarget(int firstdec, int seconddec, int thirddec, int fourthdec){
     200           decision = rand()%4;
     201            switch(decision){
     202                case 0:
     203                    this->target_x = possibleposition[firstdec].x;
     204                    this->target_z = possibleposition[firstdec].z;
     205                    this->ismoving = true;
     206                    break;
     207                case 1:
     208                    this->target_x = possibleposition[seconddec].x;
     209                    this->target_z = possibleposition[seconddec].z;
     210                    this->ismoving = true;
     211                    break;
     212                case 2:
     213                    this->target_x = possibleposition[thirddec].x;
     214                    this->target_z = possibleposition[thirddec].z;
     215                    this->ismoving = true;
     216                    break;
     217                case 3:
     218                        this->target_x = possibleposition[fourthdec].x;
     219                    this->target_z = possibleposition[fourthdec].z;
     220                    this->ismoving = true;
     221                    break;   
     222                }
     223        }
     224
     225
     226
     227    void PacmanGhost::move(float dt, Vector3 actuelposition, Vector3 velocity){
     228        this->setPosition(Vector3(actuelposition.x+20*velocity.x*dt,10,actuelposition.z+20*velocity.z*dt));
     229    }
     230
     231    bool PacmanGhost::findpos(Vector3 one, Vector3 other){
     232        if((abs(one.x - other.x)<0.1) && (abs(one.z - other.z)<0.1)) return true;
     233        return false;
     234    }
     235
     236    void PacmanGhost::resetGhost(){
     237        this->setPosition(resetposition);
     238    }
     239}
     240
     241/*
     242//Check on which position ghost has arrived and set new target
     243         else{
     244            if(findpos(actuelposition,possibleposition[0])){
    120245                decision = rand()%1;
    121246            switch(decision){
     
    239364            else{
    240365            } //End of Position table
    241             }
    242 
    243     }
    244 
    245 
    246     void PacmanGhost::move(float dt, Vector3 actuelposition, Vector3 velocity){
    247         this->setPosition(Vector3(actuelposition.x+20*velocity.x*dt,10,actuelposition.z+20*velocity.z*dt));
    248     }
    249 
    250     bool PacmanGhost::findpos(Vector3 one, Vector3 other){
    251         if((abs(one.x - other.x)<0.1) && (abs(one.z - other.z)<0.1)) return true;
    252         return false;
    253     }
    254 
    255     void PacmanGhost::resetGhost(){
    256         this->setPosition(resetposition);
    257     }
    258 }
  • code/branches/3DPacman_FS18/src/modules/pacman/PacmanGhost.h

    r11900 r11903  
    5151            void resetGhost();
    5252
     53            void setnewTarget(int firstdec);
     54            void setnewTarget(int firstdec, int seconddec);
     55            void setnewTarget(int firstdec, int seconddec, int thirddec);
     56            void setnewTarget(int firstdec, int seconddec, int thirddec, int fourthdec);
     57
     58
    5359            bool findpos(Vector3 one, Vector3 other);
    5460
Note: See TracChangeset for help on using the changeset viewer.