<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cdain</id>
		<title>Wiki d'activités IMA - Contributions de l’utilisateur [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-ima.plil.fr/mediawiki//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cdain"/>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php/Sp%C3%A9cial:Contributions/Cdain"/>
		<updated>2026-04-24T12:49:25Z</updated>
		<subtitle>Contributions de l’utilisateur</subtitle>
		<generator>MediaWiki 1.29.2</generator>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42382</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42382"/>
				<updated>2017-05-17T13:41:05Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont cette fonction de test:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les adresses des couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data){&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
//Initialisation du plateau de jeux du Morpion&lt;br /&gt;
&lt;br /&gt;
void Morpion_panel()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
    for(i=0;i&amp;lt;=7;i++)&lt;br /&gt;
    {&lt;br /&gt;
        color_buffer[2+8*i]=BLUE;&lt;br /&gt;
        color_buffer[5+8*i]=BLUE;&lt;br /&gt;
        color_buffer[16+i]=BLUE;&lt;br /&gt;
        color_buffer[40+i]=BLUE;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42381</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42381"/>
				<updated>2017-05-17T13:38:08Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont cette fonction de test:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les adresses des couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
//Initialisation du plateau de jeux du Morpion&lt;br /&gt;
&lt;br /&gt;
void Morpion_panel()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
    for(i=0;i&amp;lt;=7;i++)&lt;br /&gt;
    {&lt;br /&gt;
        color_buffer[2+8*i]=BLUE;&lt;br /&gt;
        color_buffer[5+8*i]=BLUE;&lt;br /&gt;
        color_buffer[16+i]=BLUE;&lt;br /&gt;
        color_buffer[40+i]=BLUE;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42380</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42380"/>
				<updated>2017-05-17T13:37:11Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Séance 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont cette fonction de test:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les adresses des couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
//Initialisation du plateau de jeux du Morpion&lt;br /&gt;
&lt;br /&gt;
void Morpion_panel()&lt;br /&gt;
{&lt;br /&gt;
  int i;&lt;br /&gt;
    for(i=0;i&amp;lt;=7;i++)&lt;br /&gt;
    {&lt;br /&gt;
        color_buffer[2+8*i]=BLUE;&lt;br /&gt;
        color_buffer[5+8*i]=BLUE;&lt;br /&gt;
        color_buffer[16+i]=BLUE;&lt;br /&gt;
        color_buffer[40+i]=BLUE;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Fonction du placement des pions du joueur 2&lt;br /&gt;
&lt;br /&gt;
void Pion_J2(int placement)&lt;br /&gt;
{&lt;br /&gt;
	int i;&lt;br /&gt;
	int pion=0;&lt;br /&gt;
	if (placement&amp;gt;=6)&lt;br /&gt;
	{pion=6}&lt;br /&gt;
	else&lt;br /&gt;
	{&lt;br /&gt;
		if (3&amp;lt;=placement&amp;lt;=6)&lt;br /&gt;
		{pion=3}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	for(i=0;i&amp;lt;=1;i++)&lt;br /&gt;
	{&lt;br /&gt;
		color_buffer[pion+placement*24+i*8]= RED;&lt;br /&gt;
		color_buffer[pion+placement*24+1+i*8]= RED;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	matrix_write();&lt;br /&gt;
	delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42379</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42379"/>
				<updated>2017-05-17T13:33:38Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont cette fonction de test:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les adresses des couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42378</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42378"/>
				<updated>2017-05-17T13:32:42Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont cette fonction de test:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42377</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42377"/>
				<updated>2017-05-17T13:32:19Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
dont:&lt;br /&gt;
&lt;br /&gt;
void color_test()&lt;br /&gt;
{&lt;br /&gt;
 &lt;br /&gt;
  color_buffer[0]=BLACK;&lt;br /&gt;
  color_buffer[1]=RED;&lt;br /&gt;
  color_buffer[2]=GREEN;&lt;br /&gt;
  color_buffer[5]=BLUE;&lt;br /&gt;
  color_buffer[4]=YELLOW;&lt;br /&gt;
  color_buffer[5]=MAGENTA;&lt;br /&gt;
  color_buffer[6]=TEAL;&lt;br /&gt;
  color_buffer[7]=WHITE;&lt;br /&gt;
 &lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(100) ;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Qui m'a ainsi affiché:&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42376</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=42376"/>
				<updated>2017-05-17T13:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
//définies les couleurs&lt;br /&gt;
&lt;br /&gt;
#define BLACK   0x00&lt;br /&gt;
#define RED     0xE0&lt;br /&gt;
#define GREEN   0x1C&lt;br /&gt;
#define BLUE    0x03&lt;br /&gt;
#define YELLOW  RED|GREEN&lt;br /&gt;
#define ORANGE  0xFC&lt;br /&gt;
#define MAGENTA RED|BLUE&lt;br /&gt;
#define TEAL    BLUE|GREEN&lt;br /&gt;
#define WHITE   (RED|GREEN|BLUE)-0xA0&lt;br /&gt;
&lt;br /&gt;
//définis les ports&lt;br /&gt;
&lt;br /&gt;
#define SLAVESELECT 10&lt;br /&gt;
#define DATAOUT     11&lt;br /&gt;
#define DATAIN      12&lt;br /&gt;
#define SPICLOCK    13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
const int num_matrix = 1;&lt;br /&gt;
char color_buffer[64*num_matrix];&lt;br /&gt;
char spi_transfer(volatile char data)&lt;br /&gt;
{&lt;br /&gt;
  SPDR = data;                    &lt;br /&gt;
  while (!(SPSR &amp;amp; (1&amp;lt;&amp;lt;SPIF)))&lt;br /&gt;
  {     &lt;br /&gt;
  };&lt;br /&gt;
  return SPDR;           &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Pour éteindre toutes les leds&lt;br /&gt;
&lt;br /&gt;
char blank[]={&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK,&lt;br /&gt;
  BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK, BLACK&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
void set_matrix()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW);&lt;br /&gt;
  spi_transfer(0x25);&lt;br /&gt;
  spi_transfer(0x02);&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int p = 0;&lt;br /&gt;
int xMAX = 8;&lt;br /&gt;
int yMAX = 8;&lt;br /&gt;
&lt;br /&gt;
//Fonction qui réinitialise le plateau de jeux&lt;br /&gt;
&lt;br /&gt;
void clear_buffer()&lt;br /&gt;
{&lt;br /&gt;
  for(int y=0; y&amp;lt;yMAX; y++)&lt;br /&gt;
  {&lt;br /&gt;
    for(int i=num_matrix; i&amp;gt;0; i--)&lt;br /&gt;
    {&lt;br /&gt;
      for(int x=0; x&amp;lt;xMAX; x++)&lt;br /&gt;
      {&lt;br /&gt;
        p = (yMAX*y) + (x + (i-1)*(xMAX*yMAX));&lt;br /&gt;
        color_buffer[p] = blank[x];&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  matrix_write();&lt;br /&gt;
  delay(10);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//Fonction d'activation d'écriture ou lecture de la matrice&lt;br /&gt;
&lt;br /&gt;
void matrix_write()&lt;br /&gt;
{&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  spi_transfer(0x26); //command char to reset frame index&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Desactive la matrice RGB&lt;br /&gt;
  digitalWrite(SLAVESELECT, LOW); //Active la matrice RGB&lt;br /&gt;
  delayMicroseconds(500);&lt;br /&gt;
  //Envois la couleur à la matrice&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  for(int LED=0; LED&amp;lt;(64*num_matrix); LED++){&lt;br /&gt;
    spi_transfer(color_buffer[LED]);//Envois le buffer à la matrice&lt;br /&gt;
  }&lt;br /&gt;
  delayMicroseconds(500); //laisse un temps&lt;br /&gt;
  digitalWrite(SLAVESELECT, HIGH); //Désactive la Matrix RGB&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41437</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41437"/>
				<updated>2017-04-26T11:30:31Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Le matériel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice 8*8 connecter à un Arduino. Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau pourra être fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41436</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41436"/>
				<updated>2017-04-26T11:28:42Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Séance 3 supplémentaire  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance 3 supplémentaire ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Arduino:&lt;br /&gt;
 &lt;br /&gt;
-Programmation du placement des pions en fonction du joueur et des coordonnées du pion à placer à partir du programme en c (à tester)&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41435</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41435"/>
				<updated>2017-04-26T11:24:54Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Arduino: &lt;br /&gt;
&lt;br /&gt;
-Programmation de la matrice et pour l'instant l'initialisation éteint toutes les leds.&lt;br /&gt;
&lt;br /&gt;
-Programmation de l'affichage du plateau de jeux ainsi que les pions. Ayant 2 leds différentes pour les afficher j'ai préféré allumer les deux d'une couleur différente pour une meilleure visibilité&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41434</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41434"/>
				<updated>2017-04-26T11:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie électronique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
Arduino: Dans cette séance le câblage de l'Arduino avec la matrice a été effectué.&lt;br /&gt;
Ainsi j'ai pu testé toutes les possibilités de cette matrice en y affichant diverse couleurs et formes grâce à la partie informatique.&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41042</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=41042"/>
				<updated>2017-03-31T11:49:41Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
Tout le programme en C fonctionne, le jeux se joue à 2.&lt;br /&gt;
Pour la partie électronique les placements se font par coordonnées des cases avec (0;0) pour la première en haut à gauche.&lt;br /&gt;
Le programme prend en compte toutes les conditions gagnantes et si un joueur veut replacer son pion sur une case déjà joué il lui renvoit un message d'erreur et lui demande de jouer ailleurs.&lt;br /&gt;
Il y a aussi la possibilité de relancer une partie.&lt;br /&gt;
&lt;br /&gt;
Voici une partie de l'affichage d'une fin de partie !&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                == TOUR 2 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
00&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |                Ici les cases ont pour coordonnées (0;0)  | (0;1)  |  (0;2)&lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                Au joueur 2! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               |              &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
                 == TOUR 3 == &lt;br /&gt;
                Au joueur 1! &lt;br /&gt;
22&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
         Veuillez jouer sur une case libre!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        O       |       O       |       O       | &lt;br /&gt;
&lt;br /&gt;
                |               |               | &lt;br /&gt;
&lt;br /&gt;
        X       |               |       X       | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
         La partie est finie!&lt;br /&gt;
&lt;br /&gt;
         Pour refaire une nouvelle partie taper 1!&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40838</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40838"/>
				<updated>2017-03-28T06:18:14Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Début d'écriture du programme du jeux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
En début de séance 2 on a:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le joueur choisis un nombres pour pseudo et la partie commence:&lt;br /&gt;
&lt;br /&gt;
__Bienvenue sur Morpion.led!__                                        &lt;br /&gt;
                                                                      &lt;br /&gt;
choisissez votre numéro de joueur (1 ou 2):                          &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero: 1                                                      &lt;br /&gt;
                                                                      &lt;br /&gt;
Joueur numero : 2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L'affichage qui se fait parfaitement sur le terminal avec pour chaque case sa coordonnée.&lt;br /&gt;
&lt;br /&gt;
                |               |       X       | &lt;br /&gt;
&lt;br /&gt;
        O       |       O       |               | &lt;br /&gt;
&lt;br /&gt;
                |       X       |               | &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Manque: La condition gagnante et ne pas pouvoir rejouer sur la même case.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40614</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40614"/>
				<updated>2017-03-21T13:10:53Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Le matériel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons deux matrices de led 3*3 (ou une 6*6 avec 2couleurs différentes, si cela n'est pas possible je ferais moi même les différentes couleurs) Les leds seront groupés par 2 pour une case (pour 2 les signes différents),avec le câblage requis ainsi qu'une Raspberry pi pour faire le lien machine matrice.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les cases soient bien distinctes.&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40613</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40613"/>
				<updated>2017-03-21T13:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Description du système */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds (2 matrice 3x3 de couleur différentes). Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice de led 3*3 avec le câblage requis ainsi qu'une raspberry pi pour faire le lien machine jeux.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les leds éclaires les signes par en dessous&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40608</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40608"/>
				<updated>2017-03-21T08:11:47Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds. Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice de led 3*3 avec le câblage requis ainsi qu'une raspberry pi pour faire le lien machine jeux.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les leds éclaires les signes par en dessous&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Début d'écriture du programme du jeux ==&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40607</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40607"/>
				<updated>2017-03-21T08:10:13Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Cahier des charges */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
= Projet IMA3-SC 2016/2017 : Jeux du Morpion =&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds. Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice de led 3*3 avec le câblage requis ainsi qu'une raspberry pi pour faire le lien machine jeux.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les leds éclaires les signes par en dessous&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40606</id>
		<title>Projet IMA3 P6, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P6,_2016/2017,_TD1&amp;diff=40606"/>
				<updated>2017-03-21T08:06:20Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Projet IMA3-SC 2016/2017 :  */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2016/2017 : &amp;lt;TITRE&amp;gt; = Jeux de Morpions&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
=== Description du système ===&lt;br /&gt;
&lt;br /&gt;
Pour mon projet, j'ai décidé de réaliser un jeu de morpion commandé par ordinateur, et affiché par un système de leds. Les joueurs pourront lancer une partie et en profiter jusqu’à ce que l’un d’eux gagne ou abandonne. Lorsqu’une partie se termine les statistiques de celles-ci seront affichés.&lt;br /&gt;
&lt;br /&gt;
=== Ordinateur et interface de commande ===&lt;br /&gt;
&lt;br /&gt;
L’ordinateur jouera le rôle d’interface, permettant aux utilisateurs de lancer une partie, de jouer et d’arrêter la partie quand ils le souhaitent.&lt;br /&gt;
Plusieurs boutons seront disponibles sur l’interface : un bouton pour lancer une nouvelle partie, un pour déclarer forfait (affiché uniquement pendant la partie).&lt;br /&gt;
Si un joueur réussi à aligne 3 signes un message de félicitation sera visible sur l’écran.&lt;br /&gt;
Lorsqu’une partie se termine un tableau donnant les statistiques des deux joueurs s’affichera.&lt;br /&gt;
&lt;br /&gt;
=== Règle du jeux ===&lt;br /&gt;
&lt;br /&gt;
Les règles du morpions sont simples :&lt;br /&gt;
-Le jeux contient 9 cases&lt;br /&gt;
-Il y a 2 équipes (par exemple l'un choisis la croix, l'autre le rond)&lt;br /&gt;
-Pour gagner aligner 3 même signe de votre équipe&lt;br /&gt;
-Fin de la partie si un des joueurs cliquent sur &amp;quot;abandonner&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Le matériel ===&lt;br /&gt;
&lt;br /&gt;
Ici nous utiliserons une matrice de led 3*3 avec le câblage requis.  Chaque joueur sera associé à un signe.&lt;br /&gt;
Le plateau sera fait au Fab'Lab de tel manière à ce que les leds éclaires les signes par en dessous&lt;br /&gt;
Un plateau de jeu de morpions contient 9 cases.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance supplémentaire 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_troisi%C3%A8me_ann%C3%A9e,_2016/2017,_TD1&amp;diff=40605</id>
		<title>Projets troisième année, 2016/2017, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_troisi%C3%A8me_ann%C3%A9e,_2016/2017,_TD1&amp;diff=40605"/>
				<updated>2017-03-21T07:59:39Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
Ecrivez vos noms sous le format exact &amp;quot;Prénom Nom&amp;quot;, séparez vos noms par des virgules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves&lt;br /&gt;
|- &lt;br /&gt;
| [[Projet IMA3 P1, 2016/2017, TD1]] || Antoine Duquenoy, Clément Froissart, Antoine Gosse, Amine El messaoudi&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P2, 2016/2017, TD1]] || Abass Ayoub, Hugo Delbroucq, Thomas Cunin, Thibault Cattelain&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P3, 2016/2017, TD1]] || Delobelle Matthieu, Durot Anthony, Dufresne Erwan, Feutrier Simon&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P4, 2016/2017, TD1]] || Taky Djeraba, Henri Carlier, Thomas Hubert, Boëns Quentin&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P5, 2016/2017, TD1]] || Simon Blas, Baptiste Cartier, Maeva Delaporte, Arthur Reviron&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P6, 2016/2017, TD1]] || Dain Cyril&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P7, 2016/2017, TD1]] || Canu Benjamin, Carval Amaury, Etcheguibel Ganix, Preud'homme Geoffrey&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P2,_2015/2016,_TD1&amp;diff=27092</id>
		<title>Projet IMA3 P2, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projet_IMA3_P2,_2015/2016,_TD1&amp;diff=27092"/>
				<updated>2016-02-12T16:56:58Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Partie informatique */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Projet IMA3-SC 2015/2016 : Commande d'un servomoteur via une plateforme Internet =&lt;br /&gt;
&lt;br /&gt;
== Cahier des charges ==&lt;br /&gt;
&lt;br /&gt;
L'objectif à atteindre est de piloter un servomoteur à distance via une liaison série. Pour cela, nous utiliserons une application Web codée en HTML5 et CSS. Pour la partie dynamique du projet, à savoir la commande, nous préférerons le Javascript et le PHP. &lt;br /&gt;
&lt;br /&gt;
Afin de réaliser ce projet, nous aurons besoin de : &lt;br /&gt;
&lt;br /&gt;
* un servomoteur connecté à une carte (liaison série) :&lt;br /&gt;
* une carte Nanoboard qui assurera la génération des signaux PWM pour la commande du moteur ;&lt;br /&gt;
* un PC portable connecté à un réseau Wi-Fi qui permettra de transmettre les commandes au moteur ; &lt;br /&gt;
* une Raspberry Pi qui assurera le transfert de la commande à la Nanoboard via son serveur Web intégré.&lt;br /&gt;
&lt;br /&gt;
Nous souhaitons pouvoir régler l'angle (commande à partir de l'application Web) de rotation du servomoteur ainsi que sa vitesse.&lt;br /&gt;
&lt;br /&gt;
== Séance 1 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
Pendant cette séance, nous avons implémenté l'interface web en y insérant des boutons capables d'envoyer un signal au moteur afin qu'il puisse tourner dans le sens désiré. &lt;br /&gt;
On s'est servis de l'association HTML5 et JavaScript pour réaliser ceci. Pour cela on a dû apprendre à utiliser les bases de JavaScript pour connecter nos boutons aux LED correspondantes.&lt;br /&gt;
&lt;br /&gt;
== Séance 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Séance 3 ==&lt;br /&gt;
&lt;br /&gt;
=== Partie électronique ===&lt;br /&gt;
&lt;br /&gt;
=== Partie informatique ===&lt;br /&gt;
&lt;br /&gt;
== Démonstration ==&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	<entry>
		<id>https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_troisi%C3%A8me_ann%C3%A9e,_2015/2016,_TD1&amp;diff=27085</id>
		<title>Projets troisième année, 2015/2016, TD1</title>
		<link rel="alternate" type="text/html" href="https://wiki-ima.plil.fr/mediawiki//index.php?title=Projets_troisi%C3%A8me_ann%C3%A9e,_2015/2016,_TD1&amp;diff=27085"/>
				<updated>2016-02-12T13:33:02Z</updated>
		
		<summary type="html">&lt;p&gt;Cdain : /* Répartition des binômes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Répartition des binômes ==&lt;br /&gt;
&lt;br /&gt;
Ecrivez vos noms sous le format exact &amp;quot;Prénom Nom&amp;quot;, séparez vos noms par des virgules.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Projet !! Elèves&lt;br /&gt;
|- &lt;br /&gt;
| [[Projet IMA3 P1, 2014/2015, TD1]] || Alice COFFIN, Mame Arame DIOP, Amina FAHEM&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P2, 2014/2015, TD1]] || Edmur LOPES, Robin CAVALIERI, Tristan HART, Cyril DAIN&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P3, 2014/2015, TD1]] || Olivier MAHIEUX, Baptiste GRILLERE, Antoine ARNAUDET&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P4, 2014/2015, TD1]] || Martin ROHMER, Alexis MACHEREZ, Thomas GOSSE&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P5, 2014/2015, TD1]] || Marianne BUTAYE, Lutécia DAMIENS, François DUPORT&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P6, 2014/2015, TD1]] || Valentin DUPONT, Henri CARLIER, Aurélien CAFFIAUX&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P7, 2014/2015, TD1]] || Kévin GODESENCE, François-Xavier COCKENPOT, Samy BELHOUACHI&lt;br /&gt;
|-&lt;br /&gt;
| [[Projet IMA3 P8, 2014/2015, TD1]] || Bacem HAGUI, Hugo DELATTE, Alexis DORIAN&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Cdain</name></author>	</entry>

	</feed>