Red de conocimiento informático - Conocimiento del nombre de dominio - ¿Cómo escribir un juego de adivinanzas en C?

¿Cómo escribir un juego de adivinanzas en C?

/* Para la base: este sistema de juego puede admitir juegos multiusuario. Solo un usuario puede iniciar sesión a la vez. La ejecución de este programa generará un archivo para almacenar la información del usuario. Para hacer el juego más interesante, este programa está especialmente diseñado para diferentes niveles de puntuación de los jugadores. Cuando se inicializa el programa, se generará un archivo que contiene solo 5 jugadores del sistema. Cuando se inicializa el programa, se generará un archivo que contiene solo 5 reproductores del sistema. Durante el juego, este archivo se actualizará continuamente. Si el jugador desea eliminar todos los registros del juego anterior, solo necesita eliminar el archivo de almacenamiento. El nombre del archivo del registro de almacenamiento es "sunyi".

*/

#include lt;stdio.hgt;

#include lt;stdlib.hgt;

#include lt; tiempo.hgt;

//#define NULL 0

/** ************************* ** ************************************************* *** ************************************************* /

estructura de la computadora //definir la estructura del reproductor del sistema

{

char player[30];

int score;

int tiempos;

int tiempo;

}cpt[1000]={"jugador1", 100, 1, 1, "jugador2", 100, 1, 1 , "jugador3", 100, 1, 1, "jugador4", 100, 1, 1, "jugador5", 100, 1, 1, };

FILE *in; el archivo que registra la información del jugador

int número,rool; //rool: la esquina de la posición del jugador en la matriz. número: el número de elementos de la matriz.

/****************************************** ************************************************** * **************************** **/

int h() //genera un número aleatorio ( 1, 2 o 3);

{

int k, n

n=rand()3

retorno n; 1;

}

/************************ ******* * ************************************************** *******************************************/

int str_to_num(char a[]) // Presentamos la función str_to_num: ¡Convierte cadena (cadena) a formato entero (int)!

{

int i=strlen(a)-1, num=0, tiempo=1

for(;igt;=0;i- -)

{

num=num (a[i]-'0')*tiempo;

tiempo=tiempo*10;

}

return(núm);

}

/****************** ************************************************** * ********************** **************************** * *******/

void b(int n)

{

cambiar((int)(n/20))

{

case(0): printf("Rango: escoria de la jungla");

case(1):

case; ( 2): printf("Rango: Principiante"); break

caso(3):

caso(4):

caso(5) : printf("Rango: Hijo pródigo del lago"); break;<

caso(6):

caso(7):

caso( 8 ):

case(9): printf("Rango: Oficial");

case(10):

case(11):

caso(12):

caso(13):

caso(14):

caso(15):

caso(16):

caso(17):

caso(18):

caso(19): printf("Rango :

cambiar((int)(n/1000))

{

caso(

0): printf("Rango: Maestro de una escuela de artes marciales");

default:

{

switch((int)(n). /1000))

{

case(0): printf("Rango: Maestro de una escuela de artes marciales");

case(1); ):

caso(2):

caso(3):

caso(4): printf("Rango: Jianghu Qiwen");

caso(5):

caso(6):

caso(7):

caso(8): p>

case(9): printf("Nivel: Buscador solitario");

Predeterminado: printf("Nivel:

}

}

}

/************************ ******** ***** ********************************************** ****** *******************************************/

int readfile(void) //leer archivo

{

int i, número=5;

if((in= fopen("sunyi.txt ", "rb"))!=NULL)

{

fread(amp; número, tamaño de(int), 1, in

for (i=0; ilt; number; i )

{

fread(amp; cpt[i], sizeof( struct computer), 1, en

}

fclose(en);

}

retorno(número);

/************************************ ****** ****** ********************************************** ******* *******************************/

void writefile() / /escribir archivo

{

int i

in=fopen("sunyi.txt", "wb"); fwrite(amp; número, tamaño de(int ), 1, in

for(i=0; ilt; número; i )

{

fwrite(amp; cpt[i], tamaño de(estructura computadora), 1, en

}

fclose(en

}

/******* ******************************************* ******* *********

************************************************** * ************/

void rule() //función de regla

{

printf(" Juego de adivinanzas \n" );

printf("Regla:\n");

printf(" Ingrese "N" o "n" para ver los puntos. Por primera vez jugando , los jugadores pueden obtener 100 monedas de oro gratis en cada juego");

printf("Le solicita que ingrese el depósito, ¡el depósito debe ser mayor que 1 moneda de oro! (Incluyendo 1), solicita ingresar 1~3 cuando comienza el juego");

printf("1 representa piedra, 2 representa tijeras y 3 representa papel. Al mismo tiempo, el sistema también se registrará para determinar el ganador de acuerdo con reglas comunes");

printf("Recibirá un depósito; de lo contrario, se deducirá. Cuando los puntos sean inferiores a 5 puntos, tendrá cinco oportunidades de obtener 30 puntos sin cargo del system");

printf("Cuando las monedas de oro del jugador sean cero (y después de usarlas cinco veces, obtendrás 30 puntos gratis); 30 monedas de oro), el sistema le indicará al jugador que el juego ha terminado y se elimina ");

printf("Excepto usuario.\n");

printf(" # Este sistema generará automáticamente 5 jugadores del sistema para que se turnen para jugar contigo Antes de que comience el juego, los jugadores deben iniciar sesión y activar su propio ");

printf(" Registro del juego, si es la primera vez que juegas, ingresa "registrarse" y. luego ingrese el nuevo nombre de usuario para registrarse, si es el anterior");

printf("Si ya jugó, ingrese "entrada" y luego ingrese "nombre de usuario" para iniciar sesión.\ Nota: Este sistema permite el almacenamiento de información para múltiples usuarios de este registro \n\n");

}

/******** ********************************************** ****** ******************************************* * **** *******************/

int Registere() //Inicia sesión y regístrate antes de comenzar el juego.

{

char ch[30];

int i;

bucle4:

printf(" \n ¿Es la primera vez que juegas? Ingresa "registrarse" para registrarte. \n"Ingresa "entrada" para iniciar sesión \n");

loop3:

scanf( "s", ch);

if(strcmp("register", ch)==0)

{

loop2:

printf("Ingrese un nuevo nombre de usuario: (menos de 30 caracteres)");

scanf("s", ch

for(i=5; ilt; número; i )

{

if(strcmp(cpt[i].player, ch)==0)

{

printf("¡Este usuario ha sido registrado! ¡Error en el registro! ¡Regístrese nuevamente!\n"

Saltar a loop2; }

}

strcpy(cpt[número].jugador, ch

cpt[número].score=100; > cpt[número].time= cpt[número].times=1;

número =1;

writefile()

printf(" Registro ¡Exitoso! ¡Inicie sesión y juegue con su usuario!: ");

goto loop4;

}

else if(strcmp("entry", ch )==0)

{

printf("Ingrese el nombre de usuario para iniciar sesión: "); /p>

for(i=5;ilt;number;i)

{

if(strcmp(cpt[i].player, ch)==0 )

{

printf("¡Inicie sesión correctamente! (Inicie sesión correctamente)");

printf("Jugará con su usuario.}

}

if(i==número)

{

printf("Error de ingreso o no se registró o este usuario ha sido eliminado por el sistema por perder todo el oro! \¡Vuelva a ingresar su nombre de usuario para iniciar sesión! ")

ir a loop4;

}

}

más

{

printf("No ingresaste ni "registro" ni "ent

ry"."El sistema no puede ejecutar su comando, vuelva a ingresar:\n");

goto loop3;

}

return(i)

}

/********************************* * ************************************************* * ********************************************/

void game() // La función principal del juego y la consulta

{

int o, p

char a[10] , wether[ 1];

if(cpt[rool].time==1)printf("El sistema de juego en este juego te dará 100 monedas gratis.\n");

if(cpt[rool].scorelt;5amp;amp;cpt[rool].timeslt;=5)

{

if(cpt[rool] .timeslt; 5)

{

printf("Tus puntos han sido menos de 5 puntos, el sistema te regaló por última vez 30 monedas de oro\n", cpt[rool]. veces) ;

}

}

else

{

printf("Tus puntos han sido menos de 5 puntos, el sistema te regala por última vez 30 monedas de oro \n");

}

cpt[rool].score =30;

cpt[ rool ].times =1;

juego();

}

if(cpt[rool].score==0)

{

int q;

printf("¡No puedes jugar sin puntos! Tu usuario será eliminado, si aún quieres continuar jugando, vuelve a solicitar un usuario\nJUEGO ENCIMA ! \n");

for(q=rool; qlt; número-1; q )

{

strcpy(cpt[q].player, cpt[q 1].jugador);

cpt[q].time=cpt[q 1].time;

cpt[q].times=cpt[q 1] .times;

cpt[q].score=cpt[q 1].score;

}

número-=1;

escribir archivo();

regresar

}

más

{

printf("Afilar

ella para continuar el juego, ingresa 'y' o 'Y ' para continuar el juego\n");

scanf("s",wether);

if(strcmp( "y", ya sea)! =0 amp; strcmp("y", ya sea)! ;

}

else

{

loop1:

printf(" Ingrese su depósito para esto juego o escribe 'N' o 'n' para comprobar la clasificación de los puntos\n");

loop5:

scanf("s",a);

/****************************************** ****** ******************************************** ****** ******************************************** ***** */

if(a[0]=='n'||a[0]=='N') //busca el ranking

{

int i[5]={-1,-1,-1,-1,-1,-1}, j, k, d=0, e=0, línea=-1;

for(k=1;klt;=5;k)

{

for(d=0;dlt;5;d)

p>

{

if(d!=i[0]amp;amp;d!=i[1]amp;amp;d!=i[2]amp;amp;d! =i[ 3]amp;amp;d!=i[4])romper;

}

for(j=0;jlt.number;j)

{

if(cpt[j].scoregt;=cpt[d].scoreamp;amp;j!=i[0]amp;amp;j!=i[1]amp; amp;j !=i[2]amp;amp;j!=i[3]amp;amp;j!=i[4])d=j;

}

i[ k-1]=d;

if(d==rool)

{

línea=k;

}

printf("\nJugador: 10s, número de monedas: 4d,", cpt[d].jugador, cpt[d].score

b(cpt[ d]. puntuación);

}

if(line!=-1)

{

printf("/n\ nSu puntuación actual : d,\nRango: d,\n", cpt[rol].score, línea);

b(cpt[rol].score);

printf ("\ n\n");

}

else

{

printf("/n\nTu cu

La puntuación actual es: d,\nNo está entre los 5 primeros\n", cpt[rool].score);

b(cpt[rool].score);

printf( "\n\n");

}

juego();

}

/******* ************************************************** ** ************************************************* *** *******************************************/

else //juega el juego

{

int g=0, le=strlen(a);

for(; glt;le ;g )

{

if(!(a[g]gt;='0' amp;amp;a[g]lt;='9') )

{

printf("Has ingresado un carácter que no es reconocido por el sistema de juego, vuelve a escribir: "

break

; p>

}

}

if(glt.le)

{

ir a bucle5

<; p> }

int dinero=str_too_num(a);

if(dinero==0)

{

printf(" El depósito no puede ser '0 ', vuelva a ingresar: ");

goto loop5;

}

if(moneylt; 0)

{

printf("El depósito no puede ser negativo, vuelva a ingresar: "

goto loop5

}

printf ("Jugar esta ronda contigo es el jugador del sistema playerd.\n", (cpt[rool].time-1)5 1);

if(cpt[(cpt[rool]. tiempo-1 )5].puntuaciónlt; 5)

{

cpt[(cpt[rool].tiempo-1)5].puntuación =50;

printf( "Tu oponente tiene menos de 5 monedas de oro, el sistema le regala 50 monedas de oro\n");

}

printf("El depósito que estableciste es d\n" , dinero) ;

if(moneygt;cpt[rool].score)

{

printf("¡Lo siento, no tienes suficiente oro! ¡Por favor vuelva a ingresar!\n");<

/p>

ir a loop1;

}

if(moneygt;cpt[(cpt[rool].time-1)5].score)

{

printf("¡Lo siento, tu oponente tiene poco oro! ¡Vuelve a ingresar! \n");

goto loop1

}

if(1gt; 0)

{

printf("¡El juego está comenzando, por favor golpea! (1 representa piedra, 2 representa tijeras, 3 representa papel) ");

scanf("d",amp;o);

p=h();

cambiar(o)

{

caso 1:

{

printf("Los jugadores lanzan golpes: roca\n"

break;

}

caso 2:

{

printf("El jugador lanza puñetazo: tijeras\n");

descanso

}

caso 3:

{

printf("Jugador Punch out: Boo\n") ;

romper;

}

}

cambiar(p)

{

caso 1:

{

printf("Perforación del sistema: Piedra\n");

ruptura

}

caso 2:

{

printf("Sistema de punzonado: cortapelos\n");

descanso

}

caso 3:

{

printf("Sistema de perforación: tela\n");

romper;

}

interruptor(o-p)

{

caso 0:

{

printf("¡Empate! El sistema no cambiará la cantidad de monedas de oro que tienes. Tu saldo es: d\n", cpt[rool].score);

break;

}

caso 1:

caso -2:

{

printf("Perdiste, el sistema te descontará d monedas, tu saldo es : d \n",dinero,cpt[rol].score-money);

cpt[rol].score-=dinero;

cpt[(cpt[rol]. tiempo- 1)5].score=cpt[(cpt[rool].time-1 )5].score dinero

descanso

}

caso -1:

caso 2:

{

printf("Ganaste, el sistema te dará d monedas, tu saldo es: d\n", dinero, cpt[rool].score money);

cpt [rool].score =dinero;

cpt[(cpt[rool].time-1)5].score=cpt[(cpt[rool].time-1)5].score-money ;

pausa;

}

}

cpt[rool].time =1;

escribirarchivo ();

}

juego();

}

}

}

}

}

main() //función principal

{

srand( (sin firmar)tiempo(0)

número=readfile();

regla();

rool=registe();

}