begin process at 2012 05 30 14:27:05
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

PROGRAMME C : TIC TAC TOE


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PROGRAMME C : TIC TAC TOE

vendredi 25 mars 2011 à 11:50:24 | PROGRAMME C : TIC TAC TOE

celialita

Bonjour ,
je suis débutante en programmation C et je voudrais programmer un tic tac toe mais je galere un peu .

donc il s'agit de declarer une variable plateau 3X3 dans le main et de l'initialiser en indiquant que less cases sont vides.

=>
int main()
{
int Plateau[3][3]=({},{},{});

puis, il me faut ecrire une fonction AFFICHE qui nous permet d'avoir un plateau du genre
| | | |
| | | |
| | | |

=>
void Affiche ( int Plateau[3][3]);
{
printf("| %d | %d | %d |\n"Plateau[0][0],Plateau[0][1],Plateau[0][2]);
printf("| %d | %d | %d |\n"Plateau[1][0],Plateau[1][1],Plateau[1][2]);
printf("| %d | %d | %d |\n"Plateau[2][0],Plateau[2][1],Plateau[2][2]);
}

il faut ensuite ecrire une fonction QUELCASE? qui demande au joueur de saisir les coordonnées ( ligne,colonne) de la case , et qui marque la case d'un ( 1 ou 2 suivant le joueur) si la case est vide ... sinon recommencer.

=>
void QuelCoup? ( int Plateau[3][3], int joueur);
{
int x;
int y;
printf ("joueur %d choisissez les coordonnées de votre case \n",joueur);
scandf ("%d,%d",&x,&y);
if ????? et la je sais pas comment exprimer le "si la case est prise alors recommencer sinon marquer...


ensuite il faut ecrire une fonction LIGNE , COLONNE ET DIAGONALE qui permettent de savoir si la ligne colonne ou diagonale sont entierement remplies par le meme joueur

puis la fonction " GAGNE!! et puis une fonction qui indique si toutes les cases sont remplies...

est ce que quelqu un peut m'aider???
vendredi 25 mars 2011 à 12:29:12 | Re : PROGRAMME C : TIC TAC TOE

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Je te propose de le faire par étape.
Tout d'abord poste ton code, que je vois où tu en es.
Ensuite, je te corrigerais l'existant, et on verra comment faire la suite.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
vendredi 25 mars 2011 à 16:04:38 | Re : PROGRAMME C : TIC TAC TOE

celialita

merci, mais deja est ce que le debut est juste ?
et je ne sais pas comment coder la case choisie...

if (x,y)!={} ( je sais pas comment ecrire cette ligne , mon erreur doit etre honteuse ... je veux dire par là que la case saisie n'est pas vide)
else
printf("la case %d,%d n'est pas valide, recommencez!",&x,&y);

???
vendredi 25 mars 2011 à 16:25:56 | Re : PROGRAMME C : TIC TAC TOE

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Important: N'essaie pas de coder tout d'un coup. La bonne manière de faire, quelque soit ton niveau, c'est de faire les choses petit à petit. D'abord tu fais:
1) Un programme qui ne fait rien, à part afficher à l'écran: Tic Tac Toe.
2) Tu modifies le programme pour qu'il demande à chacun des joueurs de jouer, et demande une valeur. Pour l'instant, on n'exploitera pas la valeur.
3) Lorsque ça fonctionne, on créer le tableau de Tic Tac Toe (3x3), et on initialise ses cases à 0.
4) Ensuite on passe aux choses sérieuses: On écrit la fonction Affiche.
5) Écriture de la fonction quelCoup()
6) Écriture de la fonction qui teste si on a un gagnant.

Envoi moi le code de chacun des points mentionnés en commençant par le premier. Tu verras que tout sera bien plus facile si tu procèdes comme cela. Je te corrigerais sur chacune des étapes.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
dimanche 27 mars 2011 à 23:55:49 | Re : PROGRAMME C : TIC TAC TOE

celialita

ok merci .

1)Affiche TIC TAC TOE.


#include <stdio.h>
#include <stdlib.h>

int main()
{
printf("Tic Tac Toe\n");
return 0;
}

2) Modification

#include <stdio.h>
#include <stdlib.h>

int main()
{
int joueur;
int x;
int y;
for(joueur=1;joueur<3;joueur++)
printf("joueur %d saissisez les coordonnées de la case\n",joueur);
scanf("%d,%d",&x,&y);
return 0;
}


Le deuxieme algorithme je vois pas comment faire pour quil demande au premier joueur les coordonnées et après au 2em...
lundi 28 mars 2011 à 10:29:08 | Re : PROGRAMME C : TIC TAC TOE

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
L'opérateur modulo (le '%'), sert à garder le résultat de la division de a par b.
Ex:
Si 12 / 7 => 1 et il reste 5. Donc 12 % 7 => 5
De même 12 / 2 => 6 et il reste 0. Donc 12 % 6 => 0

Enfin:
0 % 2 => 0
1 % 2 => 1
2 % 2 => 0
3 % 2 => 1
4 % 2 => 0
5 % 2 => 1
6 % 2 => 0
7 % 2 => 1

Donc
(0 % 2) + 1 => 1
(1 % 2) + 1 => 2
(2 % 2) + 1 => 1
(3 % 2) + 1 => 2
(4 % 2) + 1 => 1
(5 % 2) + 1 => 2
(6 % 2) + 1 => 1
(7 % 2) + 1 => 2

C'est l'astuce que j'utilise ici:
Code C/C++ :
#include <stdio.h>
#include <stdlib.h>

int main()
{
  int joueur = 0;
  int x;
  int y;
  int fin = 0;

  while (!fin)
  {
    printf("Joueur %d saissisez les coordonnées de la case: ", (joueur % 2) + 1);
    scanf("%d,%d", &x, &y);
    printf("Joueur %d a saisi: %d,%d\n\n", (joueur % 2) + 1, x, y);
    ++joueur;
    /* fin = 1, selon une condition qui ne nous intéresse pas encore à cette étape */
  }

  return 0;
}



________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
lundi 28 mars 2011 à 15:39:22 | Re : PROGRAMME C : TIC TAC TOE

celialita

d'accord je comprends un peu ... mais j'ai quelques questions...
la variable "fin" concrètement correspond à quoi ?
j'aurais penser au debut faire un truc du genre " tant que les 9cases ne sont pas remplies faire "printf etc ... ""

Je vais essayer de faire la suite

lundi 28 mars 2011 à 15:44:07 | Re : PROGRAMME C : TIC TAC TOE

CptPingu

Administrateur CodeS-SourceS
Réponse acceptée !
Pour l'instant "fin" ne sert à rien. Il sera utilisé plus tard, dans les autres étapes. On mettra "fin = 1" quand on voudra arrêter le programme. Par exemple, si l'on voit qu'un joueur a gagné la partie.

________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question
lundi 28 mars 2011 à 16:54:12 | Re : PROGRAMME C : TIC TAC TOE

celialita

Je déclare la variable plateau 3X3 et l&#8217;initialise en indiquant que toutes ses cases sont libres

#include <stdio.h>
#include <stdlib.h>

int main()
{
int Plateau[3][3];
int i;
int j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
Plateau[i][j]=0;
}
return 0;
}


fonction affiche

void Affiche ( int Plateau[3][3]);
{
printf("| %d | %d | %d |\n"Plateau[0][0],Plateau[0][1],Plateau[0][2]);
printf("| %d | %d | %d |\n"Plateau[1][0],Plateau[1][1],Plateau[1][2]);
printf("| %d | %d | %d |\n"Plateau[2][0],Plateau[2][1],Plateau[2][2]);
}
lundi 28 mars 2011 à 17:05:30 | Re : PROGRAMME C : TIC TAC TOE

CptPingu

Administrateur CodeS-SourceS
C'est bien, par d'erreur.
Toutefois, il serait plus judicieux de faire une fonction: "vider" qui permet de mettre toutes les cases du tableaux à 0.
En effet, si l'on veut refaire une partie, il n'y aura qu'a appeler cette fonction (juste appelée avant chaque début de partie).


________________________________________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
Merci d'utiliser Réponse acceptée si un post répond à votre question

1 2 3

Cette discussion est classée dans : fonction, int, case, joueur, plateau


Répondre à ce message

Sujets en rapport avec ce message

je ne comprends pas mon code n'affiche pas ma grille...de morpion [ par nicoworld ] Voilà ben le .exe m'affiche pas ma grille cje ne comprends pas!!!!si quelqu'un peut me dire pourquoi????voilà le code://MORPION 10*10 :#include int ve Pointeurs et Desallocation [ par gilimcce ] Bonjour à tous....je declare une fonctionloadJpegImage(char *, unsigned char*, int*, int*)1e parametre : le chemin de l'image chargee2e // declarer une variable globale [ par EricLeRouge ] J'aimerai savoir comment declarer une varible (par ex un int) en globale dans le cas d'un projet avec plusieurs fichiers. Si je cree un .h ou je decla prendre chaque chiffre d'un int [ par minet03 ] Bonjour tout le monde !Voilà ma fonction :int fonction(int binaire){ int variable = 0; for(int i=0;i { binaire[i] += ......; } return variable;}int m bitte hilfe!!!!!!!!! [ par sansan_2 ] Bonjour!!!!!!!! le programme c est un FIFO (ringpufffer) et j aimerais avoir une amelioration. Apres execution du programme, faire une tabulation, un fonction apply / template [ par pointejb ] Bonjour à tous,Je cherche un moyen d'implémenter une fonction de type 'apply' qui prendrait en parametres une fonction et ses arguments et qui aurait Manipulation de fenetres en C [ par bibi1782 ] Salut,je suis a la recherche de fonction C de manipulation de fenetres.En particulier :- une fonction pour déplacer une fenetre du style : void depl C++ switch [ par blastmanu ] Bonjour tt le monde!Et oui j'ai encore une question je voudrais savoir si il est possible de declarer une variable a l'interieur d'une boucle switchpa Mélanger OpenGL et Glut [ par tintin72 ] SalutJ'aimerai me servir des fonctions d'entrée clavier/souris proposées par Glut, mais j'ai vu que Glut s'initialise avec une fonction main façon C.i tableaux de chaines en argument de fonction [ par ashboody ] je dispose d'une fonction connect a laquelle je doit passer un tableau de chaine char **RegisteredChannels_Name. Pour cela je déclare mon tableau dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,242 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales