1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
| clear all;
close all;
clc;
%CONSTANTES
JOUEUR_1 = 0 ;
JOUEUR_PC = 1 ;
NB_POINTS= [1 10]; %Points associes a chaque joueur
Coord =[0,0];%coordonnes du clic de l'utilisateur
coordonnees_valides = 0; %Var.bool. pour verifier la validite de Coord
%joueur = -1; %Joueur en cours
%CREATION D UNE FENETRE GRAPHIQUE
f=figure (1);
hold on
%FONCTION DE CREATION DU PLATEAU DE JEUx1=0.5;
affiche_jeux();
quitterJeu = 0; %quitter le jeu
changeJoueur = false;% changer de joueur
while(quitterJeu == 0)
GAGNANT = -1; %Pour boucler
%CREATION DE LA MATRICE ASSOCIEE
A=zeros(3,3);
%DEROULEMENT DU JEU
if(changeJoueur == false)% changer de joueur a chaque tour
joueur=JOUEUR_1 ;
end
while(GAGNANT == -1)
if(joueur == JOUEUR_1)
%Recuperation du clic de l'utilisateur
coord = recup_click(); % on recupere les coordonnées du click
%Verifier si les coordonnées sont valides( bornes , (deja jouees) ?)
while((coord(1)<0.5 || coord(1)>3.5) || (coord(2)<0.5 || coord(2)>3.5)) % tant que l'on click en dehors du tableau de jeu
coord = recup_click(); % on peut toujours clicker partout
end
if(A(coord(1),coord(2)) == 0) %si la case de la matrice ou l'on click est vide, on peu mettre une croix/rond
plot(coord(1), coord(2),'kX','LineWidth',90,'Tag','supprObjtGraphe')
A(coord(1),coord(2))=NB_POINTS(1);% on remplace la case cochée par 1
joueur = JOUEUR_PC;
end
else
IA_jouer(A);
joueur = JOUEUR_1;
end
GAGNANT = regles_jeux2(A);
end
%AFFICHAGE DU GAGNANT
x=3.5;
y=2;
switch(GAGNANT)
case JOUEUR_1
msgbox('Le joueur 1 a gagné','Gagnant')
Text1 = ('J1 WIN');
case JOUEUR_PC
msgbox('Le PC a gagné','Gagnant')
Text1 = ('PC WIN');
otherwise
msgbox('Match nul','Gagnant')
Text1 = ('TIE');
end
text(x,y,['\leftarrow ' Text1 ],'FontSize',20,'Tag','supprObjtGraphe');
%choix de quitter ou recommencer la partie
choix = questdlg('Que voulez-vous faire','Jeu Terminé','New Game','Close','Close');
switch(choix)
case {'Close'}
close(f)
quitterJeu = 1;
case {'New Game'}
delete(findobj(f,'Tag','supprObjtGraphe')); % supprime tout les objets graphiques ou j'ai mis 'tag'
end
changeJoueur = true;
end |
Partager