Tic-tac-toe couleur

Contenu du snippet

Ce petit programme est un Tic-Tac-Toe. Il est très simple d'utilisation.

Source / Exemple :


#include <iostream>
#include <cstdlib>
#include <string>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <Windows.h>
#include <Winbase.h>
#include <conio.h>
#include <dos.h>
#include <time.h>
	
CONSOLE_SCREEN_BUFFER_INFO csbiInfo;				// structure dans laquelle on va stocker les infos
                                                    // sur le cmd avant de les changes.

void Rouge()
{
    HANDLE  HCmd = GetStdHandle(STD_OUTPUT_HANDLE); //on se creer un
                                                    // handle de sortie sur le cmd.
    GetConsoleScreenBufferInfo(HCmd, &csbiInfo);    //on choppe les infos du cmd
												    // et on les stocks
												    // on change la couleur du text, pour le fond c'est le meme principe.
    SetConsoleTextAttribute(HCmd, FOREGROUND_RED|FOREGROUND_INTENSITY);
} 

void Bleu()
{
	HANDLE  HCmd = GetStdHandle(STD_OUTPUT_HANDLE); 												
    GetConsoleScreenBufferInfo(HCmd, &csbiInfo);	
	SetConsoleTextAttribute(HCmd, FOREGROUND_BLUE|FOREGROUND_INTENSITY);
}

void Vert()
{
	HANDLE  HCmd = GetStdHandle(STD_OUTPUT_HANDLE); 
    GetConsoleScreenBufferInfo(HCmd, &csbiInfo);	
	SetConsoleTextAttribute(HCmd, FOREGROUND_GREEN|FOREGROUND_INTENSITY);
}
   
void Chargement1()
{	
	using std::cin;
	using std::cout;
	Rouge();
	int Temps=5;
	cout<<"      Chargement [";
		while(Temps!=0)
		{
		Temps--;
		Sleep(300);
		cout<<"#";
		}
	cout<<"]";
}
                  
int main()
{
	using std::cin;
	using std::cout;
	using namespace std;

	char SiteWeb='o';
	
	Rouge(); 
	cout<<"Les * represente des cases vides, les X appartiennent au premier joueur et les Oau deuxieme joueur";
	
	cout<<"\n\nVoulez-vous visiter ma page web ? entrez \'o\'pour oui et \'n\' pour non : ";
	SiteWeb=getch();
	cout<<"\n";
	
	if(SiteWeb=='o'){ShellExecute(NULL, NULL, "http://www.chez.com/neon2001/TicTacToe.htm", NULL, NULL, SW_SHOWNORMAL);}
	
	else{Chargement1();}

	
	char case1   ='*';
	char case2   ='*';
	char case3   ='*';
	char case4   ='*';
	char case5   ='*';
	char case6   ='*';
	char case7   ='*';
	char case8   ='*';
	char case9   ='*';
	int  ChoixCase1=0;
	int  ChoixCase2=0;
	int  TicTacToe =0;
	int  Chargement=8;

	
	string Joueur1="Joueur1";
	string Joueur2="Joueur2";
	
	Bleu();
	cout<<"\nVeuillez entrer le nom du Joueur 1 : ";
	cin >>Joueur1;
	
	Vert();
	cout<<"Veuillez entrer le nom du Joueur 2 : ";
	cin >>Joueur2;
	
	Rouge();
	cout<<"\nChargement du jeu en cours ... [";
		while(Chargement!=0)
		{
		Chargement--;
		Sleep(500);
		cout<<"#";
		}
	cout<<"]";
    
		
		while(TicTacToe!=1)
		{

		Vert();
		cout<<"\n\n"<<Joueur1<<" - X :";

		cout<<"\n\n             |           |";
		cout<<"\n       "<<case1<<" 1   |     "<<case2<<" 2   |     "<<case3<<" 3";
		cout<<"\n             |           |";
		cout<<"\n----------------------------------------";
		cout<<"\n             |           |";
		cout<<"\n       "<<case4<<" 4   |     "<<case5<<" 5   |     "<<case6<<" 6";
		cout<<"\n             |           |";
		cout<<"\n----------------------------------------";
		cout<<"\n             |           |";
		cout<<"\n       "<<case7<<" 7   |     "<<case8<<" 8   |     "<<case9<<" 9";
		cout<<"\n             |           |";
		cout<<"\n\nQuelle case voulez-vous cocher - X? ";
		ChoixCase1=getche();
		ChoixCase1=ChoixCase1-48;
		
		Chargement1();
	 
			switch(ChoixCase1)
			{
			case 1: {if(case1!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case1='X';}} break;
			case 2: {if(case2!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case2='X';}} break;
			case 3: {if(case3!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case3='X';}} break;
			case 4: {if(case4!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case4='X';}} break;
			case 5: {if(case5!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case5='X';}} break;
			case 6: {if(case6!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case6='X';}} break;
			case 7: {if(case7!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case7='X';}} break;
			case 8: {if(case8!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case8='X';}} break;
			case 9: {if(case9!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case9='X';}} break;
				default:
				{
				cout<<"\nVous n'avez pas entr\x82 un numero de case valide";
				cout<<"\nEn raison de cela, le programme se termine automatiquement pour eviter un bug";
				cout<<"\nMerci de votre comprehension\n\n";
				cout<<"\nCopyright Simon Lavoie - 2003";
				getch();
				return 0;
				}
			}
			
		Vert();
		cout<<"\n\nJeux actuel :";

		cout<<"\n\n       "<<case1<<"    |     "<<case2<<"    |     "<<case3;
		cout<<"\n-------------------------------------";
		cout<<"\n       "<<case4<<"    |     "<<case5<<"    |     "<<case6;
		cout<<"\n-------------------------------------";
		cout<<"\n       "<<case7<<"    |     "<<case8<<"    |     "<<case9;
	   
			if(case1!='*' && case2!='*' && case3!='*' && case4!='*' && case5!='*' && case6!='*' && case7!='*' && case8!='*' && case9!='*')
			{
			Rouge();
			cout<<"\n\nLa partie s'est fini nulle, pour rejouer : recommencez le programme\n\n";
			cout<<"Vous etes vraiment looser vous autres \x1 \x2 ???\n";
			cout<<"\nCopyright Simon Lavoie - 2003";
			getch();
			return 0;
			}
			if((case1=='X' && case4=='X' && case7=='X')||(case2=='X' && case5=='X' && case8=='X')||(case3=='X' && case6=='X' && case9=='X')||(case1=='X' && case2=='X' && case3=='X')||(case4=='X' && case5=='X' && case6=='X')||(case7=='X' && case8=='X' && case9=='X')||(case1=='X' && case5=='X' && case9=='X')||(case3=='X' && case5=='X' && case7=='X'))
			{
			cout<<"\n\n!!! "<<Joueur1<<" a gagne - X!!!\n\n";
			cout<<"Ah! Ah! Ah! "<<Joueur2<<" tu es vraiment looser \x1 \x2 !!!\n";			
			cout<<"\nCopyright Simon Lavoie - 2003";
			getch();
			return 0;
			}
			if((case1=='O' && case4=='O' && case7=='O')||(case2=='O' && case5=='O' && case8=='O')||(case3=='O' && case6=='O' && case9=='O')||(case1=='O' && case2=='O' && case3=='O')||(case4=='O' && case5=='O' && case6=='O')||(case7=='O' && case8=='O' && case9=='O')||(case1=='O' && case5=='O' && case9=='O')||(case3=='O' && case5=='O' && case7=='O'))
			{
			cout<<"\n\n!!! "<<Joueur2<<" a gagne - O!!!\n\n";
			cout<<"Ah! Ah! Ah! "<<Joueur1<<" tu es vraiment looser \x1 \x2 !!!\n";
			cout<<"\nCopyright Simon Lavoie - 2003";
	        getch();
			return 0;
			}
		
		Vert();
		cout<<"\n\n"<<Joueur2<<" - O:";

		cout<<"\n\n             |           |";
		cout<<"\n       "<<case1<<" 1   |     "<<case2<<" 2   |     "<<case3<<" 3";
		cout<<"\n             |           |";
		cout<<"\n----------------------------------------";
		cout<<"\n             |           |";
		cout<<"\n       "<<case4<<" 4   |     "<<case5<<" 5   |     "<<case6<<" 6";
		cout<<"\n             |           |";
		cout<<"\n----------------------------------------";
		cout<<"\n             |           |";
		cout<<"\n       "<<case7<<" 7   |     "<<case8<<" 8   |     "<<case9<<" 9";
		cout<<"\n             |           |";
		cout<<"\n\nQuelle case voulez-vous cocher - O? ";
		ChoixCase2=getche();
		ChoixCase2=ChoixCase2-48;
		
		Chargement1();
	 
			switch(ChoixCase2)
			{
			case 1: {if(case1!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case1='O';}} break;
			case 2: {if(case2!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case2='O';}} break;
			case 3: {if(case3!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case3='O';}} break;
			case 4: {if(case4!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case4='O';}} break;
			case 5: {if(case5!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case5='O';}} break;
			case 6: {if(case6!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case6='O';}} break;
			case 7: {if(case7!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case7='O';}} break;
			case 8: {if(case8!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case8='O';}} break;
			case 9: {if(case9!='*'){cout<<"\nN'essayez pas de tricher\n";getch();return 0;}else{case9='O';}} break;
				default:
				{
				cout<<"\nVous n'avez pas entr\x82 un numero de case valide";
				cout<<"\nEn raison de cela, le programme se termine automatiquement pour eviter un bug";
				cout<<"\nMerci de votre comprehension\n\n";
				cout<<"\nCopyright Simon Lavoie - 2003";
				getch();
				return 0;
				}
			}
		Vert();
		cout<<"\n\nJeux actuel :";

		cout<<"\n\n       "<<case1<<"    |     "<<case2<<"    |     "<<case3;
		cout<<"\n-------------------------------------";
		cout<<"\n       "<<case4<<"    |     "<<case5<<"    |     "<<case6;
		cout<<"\n-------------------------------------";
		cout<<"\n       "<<case7<<"    |     "<<case8<<"    |     "<<case9;
	  
			if(case1!='*' && case2!='*' && case3!='*' && case4!='*' && case5!='*' && case6!='*' && case7!='*' && case8!='*' && case9!='*')
			{
			Rouge();
			cout<<"\n\nLa partie s'est fini nulle, pour rejouer, recommencer le programme\n\n";
			cout<<"Vous etes vraiment looser vous autres \x1 \x2 ???\n";
			cout<<"\nCopyright Simon Lavoie - 2003";
			getch();
			return 0;
			}
			if((case1=='X' && case4=='X' && case7=='X')||(case2=='X' && case5=='X' && case8=='X')||(case3=='X' && case6=='X' && case9=='X')||(case1=='X' && case2=='X' && case3=='X')||(case4=='X' && case5=='X' && case6=='X')||(case7=='X' && case8=='X' && case9=='X')||(case1=='X' && case5=='X' && case9=='X')||(case3=='X' && case5=='X' && case7=='X'))
			{
			cout<<"\n\n!!! "<<Joueur1<<" a gagne - X !!!\n\n";
			cout<<"Ah! Ah! Ah! "<<Joueur2<<" tu es vraiment looser \x1 \x2 !!!\n";
			cout<<"\nCopyright Simon Lavoie - 2003";
			getch();
			return 0;
			}
			if((case1=='O' && case4=='O' && case7=='O')||(case2=='O' && case5=='O' && case8=='O')||(case3=='O' && case6=='O' && case9=='O')||(case1=='O' && case2=='O' && case3=='O')||(case4=='O' && case5=='O' && case6=='O')||(case7=='O' && case8=='O' && case9=='O')||(case1=='O' && case5=='O' && case9=='O')||(case3=='O' && case5=='O' && case7=='O'))
			{
			cout<<"\n\n!!! "<<Joueur2<<" a gagne - O !!!\n\n";
			cout<<"Ah! Ah! Ah! "<<Joueur1<<" tu es vraiment looser \x1 \x2 !!!\n";
			cout<<"\nCopyright Simon Lavoie - 2003";
			getch();
			return 0;
			}

		}

	  return 0;
}

Conclusion :


Pour m'envoyer un commentaire ou une suggestion, allez sur le : http://www.chez.com/neon2001/TicTacToe.htm

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (neon2001)