Buenas, para practicar me he hecho un juego en DOS, nada de gráfico y tal, digamos que sería la mecánica pura de un juego cualquiera.
La cosa es que, como sabeis y sé, el rand genera números aleatorios, pero como tiene una semilla predefinida, no sé como poder cambiar la aleitoriedad de estos números, he estado mirando cosilas, pero nada.
Bueno os dejo la parte aquí donde uso rand(), y si podeí ayudarme mejor
//Jugador dos habilidades
printf("****Ataques jugador dos**** \t[%s]\t[%d] puntos de impacto\n", jugadordos, vidados);
printf("1.Patada\n");
printf("2.Cabezazo\n");
printf("3.Puñetazo\n");
// Ataques jugadordos
printf("Que ataque quieres realizar\n");
scanf("%d", &opciondos);
//Eleccion ataque
switch(opciondos) {
case 1:
ataquedos = rand() % 250;
break;
case 2:
ataquedos = rand() % 150;
break;
case 3:
ataquedos = rand() % 501;
break;
}
Y por si lo queréis os dejo el código para lo que mireis.
#include <stdio.h>
int main(){
//Define var
char jugadoruno[10];
char jugadordos[10];
int opcionuno, opciondos;
int vidauno = 3000;
int vidados = 3000;
int ataqueuno, ataquedos;
//Nombre de los jugadores
printf("****** NOMBRE DE LOS JUGADORES ********\n");
printf("Nombre del jugador uno: \n");
scanf("%s", &jugadoruno);
printf("Nombre del jugador dos: \n");
scanf("%s", &jugadordos);
while( vidauno >= 0 && vidados >= 0){
// Game Loop,seleccion ataques,habilidades, resulución de la lucha
//Jugador uno habilidades
printf("****Ataques jugador uno**** \t[%s]\t[%d] puntos de impacto\n", jugadoruno, vidauno);
printf("1.Patada\n");
printf("2.Cabezazo\n");
printf("3.Puñetazo\n");
//Ataques jugadordos
printf("Que ataque quieres realizar\n");
scanf("%d", &opcionuno);
//Eleccion ataque
switch(opcionuno) {
case 1:
ataqueuno = rand() % 250;
break;
case 2:
ataqueuno = rand() % 150;
break;
case 3:
ataqueuno = rand() % 501;
break;
}
//Jugador dos habilidades
printf("****Ataques jugador dos**** \t[%s]\t[%d] puntos de impacto\n", jugadordos, vidados);
printf("1.Patada\n");
printf("2.Cabezazo\n");
printf("3.Puñetazo\n");
// Ataques jugadordos
printf("Que ataque quieres realizar\n");
scanf("%d", &opciondos);
//Eleccion ataque
switch(opciondos) {
case 1:
ataquedos = rand() % 250;
break;
case 2:
ataquedos = rand() % 150;
break;
case 3:
ataquedos = rand() % 501;
break;
}
printf("%s\t", jugadoruno);
printf("Asesta un golpe de\t");
printf("%d\t", ataqueuno);
printf("puntos de impacto\n\n\n");
vidados = vidados - ataqueuno;
printf("%s\t", jugadordos);
printf("Asesta un golpe de\t");
printf("%d\t", ataquedos);
printf("puntos de impacto\n\n\n");
vidauno = vidauno - ataquedos;
}
//Ganador de la pelea
if (vidauno >= 0){
printf("Ha ganado el jugador: %s", jugadoruno);
}else{
printf("Ha ganado el jugador: %s", jugadordos);
}
getche();
return 0;
}