Problème socket -programme jeu

Fermé
momotus Messages postés 3 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 20 mai 2011 - 17 mai 2011 à 19:56
Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 - 18 mai 2011 à 11:53
Bonjour,

Je veux mettre un programme en réseaux grace au socket.

J'ai mon socket avec " il y a un client" (client) et " vous etes connecté" (serveur)

J'ai aussi mon programme (joint ci-dessous).

Par contre je ne sais comment m y prendre pour mettre en relation les deux, c'est comme si j'avais les ingredients pour une recette mais que j'arrivais pas à faire ma recette (pour imager la chose^^).

Si vous avez des conseils pour comment s'y prendre, je suis preneur.

cordialement,

une apprentie en C

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<windows.h>
void main()
{
char mot1[26];
char mot2[26];
int i, j, nb_ltr1, nb_ltr2, coup, k;
int ltrplac, ltrmalplac, essai, choix;
/* Joueur 1 */
printf("\n MOTUS\n" );
printf(" -----\n\n" );
printf("Entrez le mot a faire decouvrir\n" );
fflush(stdin); /* libère le buffer (tampon) entrée standard */
scanf("%s", &mot1);
nb_ltr1 = strlen(mot1);
for(i=0; i<nb_ltr1; i++)
{
if(mot1[i] < 'a' || mot1[i] > 'z')
{
printf("Vous avez entrer un caractere erronne : %c\n", mot1[i]);
}
}
printf("Le mot contient %d caracteres\n", nb_ltr1);
Sleep(2000);
system("cls" );
/* Joueur 2 */
/* Niveau de jeu */
printf("\nChoissisez le niveau de difficulte\n\n" );
printf("FACILE (15 essai), tapez 1\n" );
printf("MOYEN (10 essais), tapez 2\n" );
printf("DIFFICILE (5 essais), tapez 3\n" );
fflush(stdin);
printf("Choix : " );
scanf("%d", &choix);
if(choix == 1)
{
essai = 15;
}
else
{
if(choix == 2)
{
essai = 10;
}
else
{
essai = 2;
}
}
system("cls" );

k=0;
coup = essai;
while(k < essai || ltrplac < nb_ltr1)
{
do
{
printf("Vous avez %d chances\n", coup);
printf("Entrez un mot\n" );
fflush(stdin);
scanf("%s", &mot2);
nb_ltr2 = strlen(mot2);

if(nb_ltr2 != nb_ltr1 && k < essai)
{
printf("Vous devez entrer un mot de %d caractere\n", nb_ltr1);
}
}while(nb_ltr2 != nb_ltr1);

ltrplac = 0;
for(i=0; i<nb_ltr1; i++)
{
if(mot1[i] == mot2[i])
{
ltrplac = ltrplac + 1;
}
}
printf("Nombre de lettre bien place : %d\n", ltrplac);
printf("---------------------------\n" );

ltrmalplac = 0;
for(j=0; j<nb_ltr1; j++)
{
for(i=0; i<nb_ltr1; i++)
{
if(mot1[j] == mot2[i] && mot2[j] != mot1[j])
{
ltrmalplac = ltrmalplac + 1;
}
}
}
printf("Nombre de lettre mal place : %d\n", ltrmalplac);
printf("--------------------------\n\n\n" );
k++;
coup--;

}
system("cls" );

if(ltrplac >= nb_ltr1)
{
printf("\n PERDU\n" );
printf("Vous avez depasse le nombre d essai maximum\n" );
printf("Le mot etait : %s\n", mot1);
}
else
{
printf("\n GAGNE\n" );
}
}
A voir également:

1 réponse

Hxyp Messages postés 401 Date d'inscription vendredi 28 janvier 2011 Statut Membre Dernière intervention 27 avril 2014 54
18 mai 2011 à 11:53
Bonjour,
Vous pouvez envoyer des codes entre le client et le serveur, exemple :
Le serveur envoie :
- le nombre d'essais restants, code 02 suivi (02 15, 02 10, ...)
- gagné, code 77
- perdu, code 99
- longueur du mot incorrect, code 25
Le client envoie :
- la difficulté désirée, code 01 suivi de la section (01 1, 01 2, ...)
- un mot, code 10 suivi du mot (10 hello, 10 test, ...)
0