• STATISTIQUES
  • Il y a eu un total de 0 membres et 45208 visiteurs sur le site dans les dernières 24h pour un total de 45 208 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] Bright Shadows
    JavaScript: 13, Exploit: 27, Crypto: 69, CrackIt: 52, Stegano: 67, Flash: 3, Programming: 16, Java-Applet: 10, Logic: 20...
    Challenges
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [FR] dcode
    dcode.fr est le site indispensable pour décoder des messages, tricher aux jeux de lettres, résoudre des énigmes...
    Outils / Add-on
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 5 (1 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Morpion en bash
05-12-2013, 20h02
Message : #7
Hypnoze57 Hors ligne
Web Hacker
*



Messages : 98
Sujets : 13
Points: 28
Inscription : Feb 2012
RE: Morpion en bash
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;
}
Make your own destiny now and forever !
+1 (4) -1 (0) Répondre


Messages dans ce sujet
Morpion en bash - par notfound - 05-12-2012, 22h06
RE: Morpion en bash - par InstinctHack - 06-12-2012, 11h36
RE: Morpion en bash - par notfound - 06-12-2012, 15h57
RE: Morpion en bash - par InstinctHack - 06-12-2012, 21h16
RE: Morpion en bash - par xtiz0 - 05-12-2013, 16h10
RE: Morpion en bash - par Loup - 05-12-2013, 16h34
RE: Morpion en bash - par Hypnoze57 - 05-12-2013, 20h02
RE: Morpion en bash - par gruik - 05-12-2013, 20h12
RE: Morpion en bash - par notfound - 05-12-2013, 21h00

Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Utiliser inotify avec bash supersnail 1 166 18-09-2014, 11h37
Dernier message: Junky
  [BASH] Mouchard au démarrage thxer 3 317 20-11-2013, 13h28
Dernier message: EpicOut
  [BASH] Listing Alias utiles thxer 3 209 25-05-2013, 22h27
Dernier message: thxer

Atteindre :


Utilisateur(s) parcourant ce sujet : 3 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut