Morpion en bash - notfound - 05-12-2012
Bonsoir,
Cet après midi je me faisais drôlement chié en cours, mais par chance j'avais mon PC. Donc pour m'occuper, je me suis dis que j'allais faire un morpion en bash ( ok, j'aurais pu trouvé mieux mais voila ... bref)
Pour l'instant le code n'est pas fini mais voici un avant-goût :
Clique donc la jeune voyou
Cordialement,
Notfound!
RE: Morpion en bash - InstinctHack - 06-12-2012
c'est sympa comme truc
mais pour faire un mode IA, en bash, j'ai peur pour toi :p
RE: Morpion en bash - notfound - 06-12-2012
Merci khaled ! Mais comme tu dis :
Citation :mais pour faire un mode IA, en bash, j'ai peur pour toi
Moi aussi :p
RE: Morpion en bash - InstinctHack - 06-12-2012
Je te conseille d'apprendre le python, c'est génial pour faire ce genre de chose, bash est... universel (à GNU/Linux et Mac j'entend..) et c'est sûrement son seul avantage :')
RE: Morpion en bash - xtiz0 - 05-12-2013
Pas mal
RE: Morpion en bash - Loup - 05-12-2013
Premier message,GG mec.
prochain record à battre les gars:
1 an jour pour jour (enfin presque)
RE: Morpion en bash - Hypnoze57 - 05-12-2013
Je m'ennuyais alors je l'ai fais en C x')
Code : #include <stdio.h>
#include <stdlib.h>
/*
/!\ Tableau /!\
| |
0 | 1 | 2
----+---+----
3 | 4 | 5
----+---+----
6 | 7 | 8
| |
*/
int verifWin(char tab[]){
// Ligne haut 0 1 2
if((tab[0] == 'X' && tab[1] == 'X' && tab[2] == 'X') || (tab[0] == 'O' && tab[1] == 'O' && tab[2] == 'O')){
return 1;
}
// Diagonal gauche droite 0 4 8
else if((tab[0] == 'X' && tab[4] == 'X' && tab[8] == 'X') || (tab[0] == 'O' && tab[4] == 'O' && tab[8] == 'O')){
return 1;
}
// Diagonal droite gauche 2 4 6
else if((tab[2] == 'X' && tab[4] == 'X' && tab[6] == 'X') || (tab[2] == 'O' && tab[4] == 'O' && tab[6] == 'O')){
return 1;
}
// Ligne milieu 3 4 5
else if((tab[3] == 'X' && tab[4] == 'X' && tab[5] == 'X') || (tab[3] == 'O' && tab[4] == 'O' && tab[5] == 'O')){
return 1;
}
// Ligne bas 6 7 8
else if((tab[6] == 'X' && tab[7] == 'X' && tab[8] == 'X') || (tab[6] == 'O' && tab[7] == 'O' && tab[8] == 'O')){
return 1;
}
// Colonne gauche 0 3 6
else if((tab[0] == 'X' && tab[3] == 'X' && tab[6] == 'X') || (tab[0] == 'O' && tab[3] == 'O' && tab[6] == 'O')){
return 1;
}
// Colonne milieu 1 4 7
else if((tab[1] == 'X' && tab[4] == 'X' && tab[7] == 'X') || (tab[1] == 'O' && tab[4] == 'O' && tab[7] == 'O')){
return 1;
}
// Colonne gauche 2 5 8
else if((tab[2] == 'X' && tab[5] == 'X' && tab[8] == 'X') || (tab[2] == 'O' && tab[5] == 'O' && tab[8] == 'O')){
return 1;
} else if(tab[0] != '1' && tab[1] != '2' && tab[2] != '3' && tab[3] != '4' && tab[4] != '5' && tab[5] != '6' && tab[6] != '7' && tab[7] != '8' && tab[8] != '9'){
return 2;
} else {
return 0;
}
}
int verifErase(char tab[], int pos){
if(tab[pos-1] == 'X' || tab[pos-1] == 'O'){
// Retourne faux.
return 0;
} else {
// Retourne vrai.
return 1;
}
}
void demander(char tab[], int joueur){
int pos, erreur, win;
win = verifWin(tab);
if(win == 1){
if(joueur == 1){
joueur = 2;
} else {
joueur = 1;
}
printf("Le joueur %d a gagner !", joueur);
system("pause>nul");
exit(0);
} else if(win == 2){
printf("Match nul !\n");
system("pause>nul");
exit(0);
}
printf("Vous etes le joueur %d\n", joueur);
printf("Position de votre coup :\n>");
scanf("%d", &pos);
scanf("*[^\n]");
fflush(stdin);
erreur = verifErase(tab, pos);
if(erreur == 0) {
system("cls");
printf("Case deja utilise. \n");
croix(tab, joueur);
}
if(joueur == 1) {
tab[pos-1] = 'X';
joueur = 2;
} else if(joueur == 2){
tab[pos-1] = 'O';
joueur = 1;
}
system("cls");
croix(tab, joueur);
}
void croix(char tab[], int joueur){
printf(" | |\n");
printf(" %c | %c | %c\n", tab[0], tab[1], tab[2]);
printf("----+---+----\n");
printf(" %c | %c | %c\n", tab[3], tab[4], tab[5]);
printf("----+---+----\n");
printf(" %c | %c | %c\n", tab[6], tab[7], tab[8]);
printf(" | |\n");
demander(tab, joueur);
}
int main(int argc, char *argv[])
{
char tab[9] = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};
int joueur = 1;
croix(tab, joueur);
return 0;
}
RE: Morpion en bash - gruik - 05-12-2013
merci à toi ça fera au moins un post utile/technique sur ce déterrage de topic
RE: Morpion en bash - notfound - 05-12-2013
J'avoue j'aurai pu partager le code, mais je le retrouve plus
(encore un post inutile à la liste)
|