excelente , solo que el primer ejemplo cuando lo pongo me tira un error
"undefined reference to `_imp__pthread_create'" en C::B, O:,
Saludos!
"undefined reference to `_imp__pthread_create'" en C::B, O:,
Saludos!
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menú#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
struct cuerpo
{
char sprite;
int x, y;
};
struct plano
{
char sprite;
int x, y;
};
struct proy
{
char sprite;
int x, y;
int rango;
};
int main()
{
int m, n, i, j, k, l, e=30, b=3;
char c;
struct cuerpo nave, player;
struct proy bala;
struct plano a[20][20];
nave.sprite=1;
player.sprite=2;
bala.sprite='`';
bala.rango=5;
void start()
{
for(i=0; i<20; i++)
{
for(j=0; j<20; j++)
{
a[i][j].sprite=' ';
a[i][j].x=i;
a[i][j].y=j;
}
}
}
void pspawn()
{
player.x=19;
player.y=10;
}
void bspawn()
{
bala.x=player.x-1;
bala.y=player.y;
}
void ppos()
{
a[player.x][player.y].sprite=player.sprite;
}
void bpos()
{
a[bala.x][bala.y].sprite=bala.sprite;
}
void epos()
{
for(l=0; l<20; l++)
{
a[0][l].sprite=nave.sprite;
}
}
void chkp()
{
if(player.x==0)
{
m=player.y;
pspawn();
b--;
a[0][m].sprite='X';
}
}
void chke()
{
if(bala.x==0)
{
m=bala.y;
bspawn();
a[0][m].sprite='X';
}
}
void disp()
{
system("cls");
for(i=0; i<20; i++)
{
for(j=0; j<20; j++)
{
if(i==player.x && j==player.y)
{
ppos();
}
else if (i==bala.x && j==bala.y)
{
bpos();
}
else if (a[i][j].sprite!=nave.sprite && a[i][j].sprite!='X')
{
a[i][j].sprite=' ';
}
printf("%c ", a[i][j].sprite);
}
printf("\n");
}
printf("\nVidas: %i Ammo: %i\n", b, e);
}
void mov()
{
c='1';
k=0;
c=getch();
switch(c)
{
case 'w':
if(player.x>0)
player.x=(player.x)-1;
break;
case 'd':
if(player.y<19)
player.y=(player.y)+1;
break;
case 's':
if(player.x<19)
player.x=(player.x)+1;
break;
case 'a':
if(player.y>0)
player.y=(player.y)-1;
break;
case ' ':
bala.x=player.x-1;
bala.y=player.y;
a[bala.x][bala.y].sprite='*';
while(k<bala.rango)
{
bala.x=bala.x-1;
chke();
disp();
k++;
}
e--;
break;
default:
break;
}
}
start();
epos();
pspawn();
disp();
while(b!=0 && e!=0)
{
disp();
mov();
chkp();
bspawn();
}
if(b==0 || e==0)
{
system("cls");
printf("\t\t\tGAME OVER!\n\n");
}
system("pause");
return 0;
}
Cita de: do-while en 27 Octubre 2010, 02:56 AM
¡Buenas!
¡¡¡¡Olvida el goto!!!!, haz el programa utilizando programacion estructurada (estructuras de control) y luego lo vuelves a colgar.
¡Saludos!
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <conio.h>
struct nave{
char sprite;
int x, y;
};
int main(){
int i, j, b=3;
char a[20][20];
char c;
start:
struct nave nave1;
nave1.sprite=1;
nave1.x=9;
nave1.y=9;
struct nave nave2;
nave2.sprite=2;
nave2.x=3;
nave2.y=3;
while(b!=0){
for(i=0; i<20;i++){
for(j=0; j<20; j++){
if(i==nave1.y && j==nave1.x && i==nave2.y && j==nave2.x){
b--;
system("cls");
goto start;
}
else if(i==nave1.y && j==nave1.x){
a[i][j]=nave1.sprite;
}
else if(i==nave2.y && j==nave2.x){
a[i][j]=nave2.sprite;
}
else{
a[i][j]=' ';
}
printf("%c ", a[i][j]);
}
printf("\n");
}
printf("\nVidas: %i\n", b);
system("pause"); //probe con getch() pero agrava el bug
if(GetKeyState(38)) //37-40 son las flechitas
if(nave1.y>0)
nave1.y=nave1.y-1;
if(GetKeyState(40))
if(nave1.y<19)
nave1.y=nave1.y+1;
if(GetKeyState(37))
if(nave1.x>0)
nave1.x=nave1.x-1;
if(GetKeyState(39))
if(nave1.x<19)
nave1.x=nave1.x+1;
system("cls");
}
printf("\t\t\tGAME OVER!\n\n");
system("pause");
return 0;
}