예제 #1
0
int main(int argc, char *argv[]){

    struct Coordenadas jugador = {1, 1}; //posicion inicial del jugador
    char tablero[FILAS][COL];
    int user_input;

    initscr();
    halfdelay(1);
    keypad(stdscr, TRUE);
    noecho();
    curs_set(0);
    mapa(tablero);
    inicializar(tablero);
    while ((user_input = getch()) != ESC){	
	mover(user_input, &jugador, tablero);
	pintar_mapa(tablero, jugador);
    }
    endwin();
    return EXIT_SUCCESS;

}
예제 #2
0
int main(){


	pillPosition = newPillPosition();
	fantasma A(41, 14, 2);
	fantasma B(43, 14, 3);
	fantasma C(40, 14, 4);
	fantasma D(39, 14, 5);
	pintar_mapa();

	while (vidas > 0 && puntos < 1950){
		marcador();
		borrar_pacman(x, y);
		anteriorpx = x; anteriorpy = y;


		teclear();

		if (dir == 0 && mapa[y - 1][x] != 'X' && mapa[y - 1][x] != 'A' && mapa[y - 1][x] != 'Y' &&
			mapa[y - 1][x] != 'B' && mapa[y - 1][x] != 'C' && mapa[y - 1][x] != 'D')                       y--;


		else if (dir == 1 && mapa[y + 1][x] != 'X' && mapa[y + 1][x] != 'A' && mapa[y + 1][x] != 'Y' &&
			mapa[y + 1][x] != 'B' && mapa[y + 1][x] != 'C' && mapa[y + 1][x] != 'D')                       y++;


		pacman(x, y);
		Sleep(55);
		borrar_pacman(x, y);

		B.choque_pacman();
		C.choque_pacman();
		D.choque_pacman();
		A.choque_pacman();

		//A.mover_fantasma();
		anteriorpx = x; anteriorpy = y;
		teclear();


		if (dir == 2 && 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++;


		else if (dir == 3 && 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--;

		A.mover_fantasma();
		B.mover_fantasma();
		C.mover_fantasma();
		D.mover_fantasma();
		pacman(x, y);
		choquePildora();
		if (pillTimer < 0){
			pill(pillPosition);
		}
		else{
				pillTimer--;
		}
		Sleep(55);

		//pacman(x,y);
		//rutina atajo
		if (x < 17) {
			borrar_pacman(x, y);
			x = 61;
		}
		else if (x > 62){
			borrar_pacman(x, y);
			x = 18;
		}



	}



	for (int i = 0; i <= vidas; i++){
		gotoxy(5, i + 27); printf(" ");

	}

	system("pause>NULL");
	return 0;

}