[ Foro de C ]
Estoy haciendo este programa y cuando lo corro, no aparece nada en la pantalla
Quien pueda ayudar, agradezco su respuesta
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
#include <ctime>
int main()
{
int i = 1;
int alto = 23;
int ancho = 40;
int x, y, yi;
char mapaJuego[alto][ancho];
char jugador = 'A';
char jugadormisil = '^';
char enemigo = 'M';
char enemigoBlindado = 'O';
char enemigoMisil = 'U';
char explosion = 'X';
char direction = 'l';
int puntuacion = 0;
int victory = 1;
int misilPreparado = 1;
int enemigoPreparado = 0;
int accion;
int totalEnemigos = 0;
int enemigosActuales = totalEnemigos;
int drop = 0;
int enemigoVelocidad = 1 + 10 * enemigosActuales / totalEnemigos;
int bonus = totalEnemigos*20 - i;
/*menú inicial*/
printf("\n \n Bienvenido! \n \n \n");
Sleep(1000);
printf(" Deber%cs enfrentar a los s%cmbolos invasores que intentan acabar con tu PC. \n \n \n", 160, 161, 130);
Sleep(2500);
printf(" Tu sistema operativo depende de t%c. \n \n \n", 161);
Sleep(2500);
printf(" Buena suerte.");
Sleep(1000);
printf("\n \n \n Elija qu%c desea hacer (Escriba un n%cmero).", 130, 163);
Sleep(500);
printf("\n \n \n Space Invaders[1] \n Mejorar nave[2] \n Ver marcador[3] \n Retirarse[4] \n \n");
scanf( "%d", &accion);
switch(accion) {
case 1:
system("cls");
/*Juego*/
for (x = 0; x < ancho; x ++) {
for (y = 0; y < alto; y ++) {
if ((y+1) % 2 == 0 && y < 7 && x > 4
&& x < ancho - 5 && x % 2 ==0) {
mapaJuego[y][x] = enemigo;
totalEnemigos ++;
}
else if ((y+1) % 2 == 0 && y >= 7 && y < 9 && x > 4
&& x < ancho - 5 && x % 2 ==0){
mapaJuego[y][x] = enemigoBlindado;
totalEnemigos = totalEnemigos + 2;
}
else {
mapaJuego[y][x] = ' ';
}
}
}
mapaJuego[alto - 1][ancho / 2] = jugador;
char keyPress;
while(enemigosActuales > 0 && victory) {
misilPreparado ++;
/*Mostrar el mundo*/
system("cls");
printf(" puntuacion: %d", puntuacion);
printf("\n");
for (y = 0; y < alto; y ++) {
printf("|");
for (x = 0; x < ancho; x ++) {
printf("%c",mapaJuego[y][x]);
}
printf("|");
printf("\n");
}
/*Ataque enemigo*/
for (x = 0; x < ancho; x ++) {
for (y = alto-1; y >= 0; y --) {
if (i%2 == 0 && mapaJuego[y][x] == enemigoMisil
&& (mapaJuego[y+1][x] != enemigo & mapaJuego[y+1][x] != enemigoBlindado)){
mapaJuego[y+1][x] = enemigoMisil;
mapaJuego[y][x] = ' ';
}
else if (i%2 == 0 && mapaJuego[y][x] == enemigoMisil
&& (mapaJuego[y+1][x] == enemigo | mapaJuego[y+1][x] == enemigoBlindado)){
mapaJuego[y][x] = ' ';
}
}
}
for (x = 0; x < ancho; x ++) {
for (y = 0; y < alto; y ++) {
if ((i % 5) == 0 && (mapaJuego[y][x] == enemigoBlindado
| mapaJuego[y][x] == enemigo) && (rand() % 15) > 13
&& mapaJuego[y+1][x] != jugadormisil) {
for (yi = y+1; yi < alto; yi ++) {
if (mapaJuego[yi][x] == enemigo
| mapaJuego[yi][x] == enemigoBlindado) {
enemigoPreparado = 0;
break;
}
enemigoPreparado = 1;
}
if (enemigoPreparado) {
mapaJuego[y+1][x] = enemigoMisil;
}
}
if (mapaJuego[y][x] == jugadormisil && mapaJuego[y-1][x] == enemigo) {
mapaJuego[y][x] = ' ';
mapaJuego[y-1][x] = explosion;
enemigosActuales --;
puntuacion = puntuacion + 50;
}
else if (mapaJuego[y][x] == jugadormisil
&& mapaJuego[y-1][x] == enemigoBlindado) {
mapaJuego[y][x] = ' ';
mapaJuego[y-1][x] = enemigo;
enemigosActuales --;
puntuacion = puntuacion + 50;
}
else if (mapaJuego[y][x] == jugadormisil
&& mapaJuego[y-1][x] == enemigoMisil) {
mapaJuego[y][x] = ' ';
}
else if (mapaJuego[y][x] == explosion) {
mapaJuego[y][x] = ' ';
}
else if ((i+1) % 2 == 0 && mapaJuego[y][x] == enemigoMisil
&& mapaJuego[y+1][x] == jugador) {
mapaJuego[y+1][x] = explosion;
mapaJuego[y][x] = ' ';
victory = 0;
}
else if (mapaJuego[y][x] == jugadormisil
&& mapaJuego[y-1][x] != enemigoMisil) {
mapaJuego[y][x] = ' ';
mapaJuego[y-1][x] = jugadormisil;
}
}
}
/*Actualizar dirección enemiga*/
for (y = 0; y < alto; y ++) {
if (mapaJuego[y][0] == enemigo) {
direction = 'r';
drop = 1;
break;
}
if (mapaJuego[y][ancho-1] == enemigo){
direction = 'l';
drop = 1;
break;
}
}
/*Actualizar mapa*/
if (i % enemigoVelocidad == 0) {
if (direction == 'l') {
for (x = 0; x < ancho - 1; x ++) {
for (y = 0; y < alto; y ++) {
if (drop && (mapaJuego[y-1][x+1] == enemigo
|| mapaJuego[y-1][x+1] == enemigoBlindado)){
mapaJuego[y][x] = mapaJuego[y-1][x+1];
mapaJuego[y-1][x+1] = ' ';
}
else if (!drop && (mapaJuego[y][x+1] == enemigo
|| mapaJuego[y][x+1] == enemigoBlindado)) {
mapaJuego[y][x] = mapaJuego[y][x+1];
mapaJuego[y][x+1] = ' ';
}
}
}
}
else {
for (x = ancho; x > 0; x --) {
for (y = 0; y < alto; y ++) {
if (drop && (mapaJuego[y-1][x-1] == enemigo
|| mapaJuego[y-1][x-1] == enemigoBlindado)) {
mapaJuego[y][x] = mapaJuego[y-1][x-1];
mapaJuego[y-1][x-1] = ' ';
}
else if (!drop && (mapaJuego[y][x-1] == enemigo
|| mapaJuego[y][x-1] == enemigoBlindado)) {
mapaJuego[y][x] = mapaJuego[y][x-1];
mapaJuego[y][x-1] = ' ';
}
}
}
}
for (x = 0; x < ancho; x ++) {
if (mapaJuego[alto - 1][x] == enemigo) {
victory = 0;
}
}
}
/*Control del jugador*/
if(kbhit()){
keyPress = getch();
}
else {
keyPress = ' ';
}
if (keyPress == 'a') {
for (x = 0; x < ancho; x = x+1) {
if ( mapaJuego[alto-1][x+1] == jugador) {
mapaJuego[alto-1][x] = jugador;
mapaJuego[alto-1][x+1] = ' ';
}
}
}
if (keyPress == 'd') {
for (x = ancho - 1; x > 0; x = x-1) {
if ( mapaJuego[alto-1][x-1] == jugador) {
mapaJuego[alto-1][x] = jugador;
mapaJuego[alto-1][x-1] = ' ';
}
}
}
if (keyPress == 'm' && misilPreparado > 2) {
for (x = 0; x < ancho; x = x+1) {
if ( mapaJuego[alto-1][x] == jugador) {
mapaJuego[alto - 2][x] = jugadormisil;
misilPreparado = 0;
}
}
}
i ++;
Sleep(50);
}
system("cls");
printf(" puntuacion: %d", puntuacion);
printf("\n");
for (y = 0; y < alto; y ++) {
printf("|");
for (x = 0; x < ancho; x ++) {
printf("%c",mapaJuego[y][x]);
}
printf("|");
printf("\n");
}
Sleep(1000);
system("cls");
if (victory != 0) {
printf("\n \n \n \n \n \n FELICITACIONES! \n \n \n \n \n");
Sleep(1000);
printf("\n \n puntuacion: %d", puntuacion);
Sleep(1000);
printf("\n \n Bonus: %d", bonus);
Sleep(1000);
printf("\n \n Puntuación Total: %d", puntuacion + bonus);
printf("\n \n \n \n Bien hecho");
Sleep(1000);
printf(", eres un H%croe.", 130);
Sleep(1000);
getch();
}
else {
printf("\n \n \n \n \n \n Has fallado.");
Sleep(1000);
printf("\n \n \n \n \n \n Windows est%c perdido.", 160);
Sleep(1000);
printf("\n \n Puntuación Total: %d", puntuacion);
getch();
}
break;
case 2:
system("cls");
/*Mejoras*/
printf(" NO HAY NADA QUE VER (POR AHORA)");
break;
case 3:
system("cls");
/*Puntuaciones*/
printf(" NO HAY NADA QUE VER (POR AHORA)");
break;
case 4:
printf(" Bien, lo entendemos");
break;
default:
printf("Inv%clido", 160);
}
}
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)