Hola, estoy estudiando bases de programacion por lo que aun no se mucho, como proyecto estoy haciendo un juego a correr enh ms-dos, el juego consta de un creador de personajes basado en una serie de reglas que tengo en papel y ecuaciones de pelea que igual tengo en papel, pero al empezar a programar llegue a donde entra en el ciclo de pelea y se detiene el programa, este es mi codigo, alguien que me ayude?
#include<stdio.h> #include<conio.h> #include<time.h> #include<stdlib.h> main() { int cl, va, ve, f, i, r, at, am, de, dm, pv, pvt, pm, pmt, pve, dn, vel, aux, co, exp, cont, st, gt, au; char mag; printf("\n Valor Inteligencia Resistencia Velocidad Fuerza\n\n Las cualidades del heroe\n \n \n "); printf("Bienvenido a Crawler, la forma y nombre que tomaras es lo primero que toda persona debe saber para poder ser"); printf("\nEscoge la forma que tomaras\nCaballero = 1\nMago = 2 \nLadron = 3 \nCazador = 4\nMonje = 5\n"); scanf("%d", & cl); if(cl==69) { printf("Loquillo\n"); } printf("Tienes 20 puntos a distribuir entre 5 atributos, piensa y escoge sabiamente\n"); for (pve=pve;pve!=20;) { printf("\nValor "); scanf("%d", & va); printf("\nFuerza "); scanf("%d", & f); printf("\nInteligencia "); scanf("%d", & i); printf("\nResistencia "); scanf("%d", & r); printf("\nVelocidad "); scanf("%d", & ve); pve=va+f+i+r+ve; if(pve<=19) { printf("\n Te faltaron hijo, cuentale bien\n"); }else if(pve>=21) { printf("\n No seas tramposo hijo, no es bueno para el alma\n"); } } srand(time(NULL)); aux=1+rand()%(7-1); dn=1+rand()%(7-1); at=(f+aux+dn+va)*2; aux=1+rand()%(7-1); de=(r+aux)*4; aux=1+rand()%(7-1); am=(i+aux)*6; aux=1+rand()%(7-1); dn=1+rand()%(7-1); dm=(i+r+aux+dn)*2; aux=1+rand()%(7-1); dn=1+rand()%(7-1); pv=(f+aux+dn+r+va)*3.5; pm=(am*am)/(pv/2); aux=1+rand()%(7-1); vel=(ve+aux)*4; if (cl==1) { at=at*1.3; pv=pv*1.3; vel=vel*0.9; }else if (cl==2) { i=i*1.2; pm=pm*1.2; vel=vel*1.3; de=de*0.85; }else if (cl==3) { at=at*1.25; vel=vel*1.35; de=de*0.85; }else if (cl==4) { at=at*1.2; de=de*1.25; }else if (cl==69) { at=69; de=69; }else if (cl==16) { at=at*1.5; pv=pv*1.6; }else if (cl==5) { at=at*1.45; vel=vel*1.45; de=de*0.85; am=0; } pvt=pv; pmt=pm; printf("\nEres el duenio de tu propio destino\nEstas son tus caracteristicas"); printf("\n Salud %d\n Mana %d\n Ataque %d\n Defensa %d\n Magia %d\n Espiritu %d\n Velocidad%d", pvt, pmt, at, de, am, dm, vel); printf("\n\nEntras y encuentras 3 puertas con numeros del 1 al 3, cual decides crusar?\n"); scanf("%d", co); printf("Tienes 20 de estamina y recuperaras 2 cada turno, usala cuidadosamente.\n"); st=20; if(co==1) { pve=50; do { printf("\nUn goblin con %d de salud.\nTienes %d de estamina\nCuanta usaras? ", pve, st); scanf("%d", gt); for(gt=gt; gt>=st+1;) { printf("\nNo tienes tanta estamina\nTienes %d de estamina\nCuanta usaras? ", st); scanf("%d", gt); } if(gt=0) { aux=1+rand()%(7-1); dn=((3+aux)*30)/de; pv=pv-dn; printf("\nDescanzas este turno, pero Goblin te hace %d de danio, tienes %d de salud", dn, pv); st=st+3; if(pv==0) { printf("\n\nPerdiste, bais"); break; } }else if (gt>=1) { if(vel>=26) { printf("\nAtacas velozmente"); aux=1+rand()%(7-1); dn=((gt+aux)*at)/20; pve=pve-dn; st=st-gt; printf("\nGoblin sufre %d de danio y tiene %d de salud", dn, pve); aux=1+rand()%(7-1); dn=((3+aux)*30)/de; pv=pv-dn; printf("\nGoblin devuelve con %d de danio, tu salud es de %d", dn, pv); printf("\nEstamina actual: %d", st); if(pv==0) { printf("\nPerdiste, bais"); break; } }else if (vel<=24) { printf("\nGoblin fue mas veloz"); aux=1+rand()%(7-1); dn=((3+aux)*30)/de; pv=pv-dn; printf("Goblin te ataca rapidamente haciendo %d de danio, tienes %d de salud", dn, pv); aux=1+rand()%(7-1); dn=((gt+aux)*at)/20; pve=pve-dn; st=st-gt; printf("Te defendiste ejerciendo %d de danio su salud es de %d", dn, pve); printf("\nEstamina actual: %d", st); if(pv==0) { printf("\nPerdiste, bais"); break; } } } st=st+2; printf("\nEstamina actual: %d", st); }while (pve>0); printf("Derrotaste a Goblin, crusas a la siguente sala"); } }
en el agregare el if (co==2) o lo que sea cuando el primero funcione y basado en el replicare, si alguien gusta ayudar lo agradesco infinitamente
Hola, estoy estudiando bases de programacion por lo que aun no se mucho, como proyecto estoy haciendo un juego a correr enh ms-dos, el juego consta de un creador de personajes basado en una serie de reglas que tengo en papel y ecuaciones de pelea que igual tengo en papel, pero al empezar a programar llegue a donde entra en el ciclo de pelea y se detiene el programa, este es mi codigo, alguien que me ayude?
#include<stdio.h>
#include<conio.h>
#include<time.h>
#include<stdlib.h>
main()
{
int cl, va, ve, f, i, r, at, am, de, dm, pv, pvt, pm, pmt, pve, dn, vel, aux, co, exp, cont, st, gt, au;
char mag;
printf("\n Valor Inteligencia Resistencia Velocidad Fuerza\n\n Las cualidades del heroe\n \n \n ");
printf("Bienvenido a Crawler, la forma y nombre que tomaras es lo primero que toda persona debe saber para poder ser");
printf("\nEscoge la forma que tomaras\nCaballero = 1\nMago = 2 \nLadron = 3 \nCazador = 4\nMonje = 5\n");
scanf("%d", & cl);
if(cl==69)
{
printf("Loquillo\n");
}
printf("Tienes 20 puntos a distribuir entre 5 atributos, piensa y escoge sabiamente\n");
for (pve=pve;pve!=20;)
{
printf("\nValor ");
scanf("%d", & va);
printf("\nFuerza ");
scanf("%d", & f);
printf("\nInteligencia ");
scanf("%d", & i);
printf("\nResistencia ");
scanf("%d", & r);
printf("\nVelocidad ");
scanf("%d", & ve);
pve=va+f+i+r+ve;
if(pve<=19)
{
printf("\n Te faltaron hijo, cuentale bien\n");
}else if(pve>=21)
{
printf("\n No seas tramposo hijo, no es bueno para el alma\n");
}
}
srand(time(NULL));
aux=1+rand()%(7-1);
dn=1+rand()%(7-1);
at=(f+aux+dn+va)*2;
aux=1+rand()%(7-1);
de=(r+aux)*4;
aux=1+rand()%(7-1);
am=(i+aux)*6;
aux=1+rand()%(7-1);
dn=1+rand()%(7-1);
dm=(i+r+aux+dn)*2;
aux=1+rand()%(7-1);
dn=1+rand()%(7-1);
pv=(f+aux+dn+r+va)*3.5;
pm=(am*am)/(pv/2);
aux=1+rand()%(7-1);
vel=(ve+aux)*4;
if (cl==1)
{
at=at*1.3;
pv=pv*1.3;
vel=vel*0.9;
}else if (cl==2)
{
i=i*1.2;
pm=pm*1.2;
vel=vel*1.3;
de=de*0.85;
}else if (cl==3)
{
at=at*1.25;
vel=vel*1.35;
de=de*0.85;
}else if (cl==4)
{
at=at*1.2;
de=de*1.25;
}else if (cl==69)
{
at=69;
de=69;
}else if (cl==16)
{
at=at*1.5;
pv=pv*1.6;
}else if (cl==5)
{
at=at*1.45;
vel=vel*1.45;
de=de*0.85;
am=0;
}
pvt=pv;
pmt=pm;
printf("\nEres el duenio de tu propio destino\nEstas son tus caracteristicas");
printf("\n Salud %d\n Mana %d\n Ataque %d\n Defensa %d\n Magia %d\n Espiritu %d\n Velocidad%d", pvt, pmt, at, de, am, dm, vel);
printf("\n\nEntras y encuentras 3 puertas con numeros del 1 al 3, cual decides crusar?\n");
scanf("%d", co);
printf("Tienes 20 de estamina y recuperaras 2 cada turno, usala cuidadosamente.\n");
st=20;
if(co==1)
{
pve=50;
do
{
printf("\nUn goblin con %d de salud.\nTienes %d de estamina\nCuanta usaras? ", pve, st);
scanf("%d", gt);
for(gt=gt; gt>=st+1;)
{
printf("\nNo tienes tanta estamina\nTienes %d de estamina\nCuanta usaras? ", st);
scanf("%d", gt);
}
if(gt=0)
{
aux=1+rand()%(7-1);
dn=((3+aux)*30)/de;
pv=pv-dn;
printf("\nDescanzas este turno, pero Goblin te hace %d de danio, tienes %d de salud", dn, pv);
st=st+3;
if(pv==0)
{
printf("\n\nPerdiste, bais");
break;
}
}else if (gt>=1)
{
if(vel>=26)
{
printf("\nAtacas velozmente");
aux=1+rand()%(7-1);
dn=((gt+aux)*at)/20;
pve=pve-dn;
st=st-gt;
printf("\nGoblin sufre %d de danio y tiene %d de salud", dn, pve);
aux=1+rand()%(7-1);
dn=((3+aux)*30)/de;
pv=pv-dn;
printf("\nGoblin devuelve con %d de danio, tu salud es de %d", dn, pv);
printf("\nEstamina actual: %d", st);
if(pv==0)
{
printf("\nPerdiste, bais");
break;
}
}else if (vel<=24)
{
printf("\nGoblin fue mas veloz");
aux=1+rand()%(7-1);
dn=((3+aux)*30)/de;
pv=pv-dn;
printf("Goblin te ataca rapidamente haciendo %d de danio, tienes %d de salud", dn, pv);
aux=1+rand()%(7-1);
dn=((gt+aux)*at)/20;
pve=pve-dn;
st=st-gt;
printf("Te defendiste ejerciendo %d de danio su salud es de %d", dn, pve);
printf("\nEstamina actual: %d", st);
if(pv==0)
{
printf("\nPerdiste, bais");
break;
}
}
}
st=st+2;
printf("\nEstamina actual: %d", st);
}while (pve>0);
printf("Derrotaste a Goblin, crusas a la siguente sala");
}
}
en el agregare el if (co==2) o lo que sea cuando el primero funcione y basado en el replicare, si alguien gusta ayudar lo agradesco infinitamente