Pacman C++
Enviado por Mikki • 4 de Febrero de 2018 • 2.795 Palabras (12 Páginas) • 300 Visitas
...
el borde de la pantalla de juego
{
for(int i = 0 ; i < 78 ; i++){
for(int j = 0 ; j < 30 ; j++){
gotoxy(i,j);
if(mapa[j][i] == ’X’) {setCColor(color[0]);printf("%c",205);}
if(mapa[j][i] == ’_’) {setCColor(color[1]); printf("%c",250);}
else if(mapa[j][i] == ’Y’) {setCColor(color[0]);printf("%c",186);}
else if(mapa[j][i] == ’A’) {setCColor(color[0]);printf("%c",201);}
else if(mapa[j][i] == ’B’) {setCColor(color[0]);printf("%c",187);}
else if(mapa[j][i] == ’C’) {setCColor(color[0]);printf("%c",188);}
else if(mapa[j][i] == ’D’) {setCColor(color[0]);printf("%c",200);}
}
}
}
void pacman(int x , int y){
setCColor(color[1]);
gotoxy(x,y); printf("%c",2);
}
void borrar_pacman(int x, int y){
gotoxy(x,y); printf(" ");
if(mapa[y][x] == ’_’){ mapa[y][x] = ’ ’; puntos += 5;}
}
void teclear(){
if(kbhit()){
tecla = getch();
switch(tecla){
case ARRIBA:
dir = 0;
break;
case ABAJO:
dir = 1;
break;
case DERECHA:
dir = 2;
break;
case IZQUIERDA:
dir = 3;
break;
}// FIN SWITCH
}// FIN DEL IF
}
class fantasma{
int fdir;
int _x, _y;
int col;
public:
fantasma(int x , int y , int color); // constructor
void dibujar_fantasma() const;
void borrar_fantasma() const;
void mover_fantasma();
void choque_pacman();
};
fantasma::fantasma(int x , int y, int color){
_x = x;
_y = y;
col = color;
fdir = rand()%4;
}
void fantasma::dibujar_fantasma() const{
setCColor(color[col]);
gotoxy(_x,_y); printf("%c",6);
}
void fantasma::borrar_fantasma() const{
gotoxy(_x,_y); printf(" ");
}
void fantasma::choque_pacman(){
if(y == _y && x == _x || (fdir == 0 && dir == 1 || fdir == 1 && dir == 0
||fdir == 2 && dir == 3 || fdir == 3 && dir == 2 )&&(_y == anteriorpy && _x == anteriorpx)){
x = 39;
y = 22;
dir = 4;
vidas--;
}
}
void fantasma::mover_fantasma(){
borrar_fantasma();
choque_pacman();
int bolx=_x,boly=_y;
if(mapa[_y][_x] == ’|’){
fdir = rand()%4;
}
if(mapa[_y][_x] == ’*’){
fdir = 0;
}
if(fdir == 2){
if(mapa[_y][_x+1] != ’X’ && mapa[_y][_x+1] != ’A’ && mapa[_y][_x+1] != ’Y’ &&
mapa[_y][_x+1] != ’B’ && mapa[_y][_x+1] != ’C’ && mapa[_y][_x+1] != ’D’) _x++;
...