Vous êtes sur la page 1sur 6

BTS SIO SLAM2 C# Année 2016

WIN MOTUS
Objectifs de ce TP
L’objectif de ce tp est de reprendre le jeu Motus étudié en PPE pour le présenter avec une interface
graphique.
Vous utiliserez un objet de présentation intéressant : le dataGridView

Cet objet sera réutilisé dans de nombreux contextes pour présenter des données.

Présentation de l’application
L’utilisateur entre un mot de 8 lettres puis il le cache en cliquant sur le bouton Cacher le mot secret. Il
propose ensuite des mots de 8 lettres dans le tableau (dataGridView) et le programme lui indique les
bonnes lettres

Voici une situation de jeu

Présentation de l’interface

LMD - page 1 - CV
BTS SIO SLAM2 C# Année 2016

Conception de l’application
Vous devez démarrer un nouveau projet nommé de type Application WinForm nommé WinMotus.
Vous commencez par renommer votre feuille en Fmotus.
Ajoutez les objets suivants :

LMD - page 2 - CV
BTS SIO SLAM2 C# Année 2016

dataGridView name : dgv_motus

Comportement du bouton Mot Secret


Au lancement de l’application, le bouton affiche Cacher Mot Secret. Vous pouvez saisir le mot secret
puis le cacher. Le bouton affiche alors Mot Secret qui vous permet de saisir un nouveau mot.
Voici le code :

LMD - page 3 - CV
BTS SIO SLAM2 C# Année 2016

DataGridView
Au lancement de l’application, il faut initialiser cet objet pour paramètrer :
- Le nombre de colonnes
- Le nombre de lignes

Voici le code

Bouton jouer

LMD - page 4 - CV
BTS SIO SLAM2 C# Année 2016

Il appelle une procédure qui contrôle le mot saisi dans le tableau graphique et affiche des étoiles si les
lettres ne correspondent pas.

Cette procédure n’est pas terminée, elle contrôle chaque lettre du mot saisi avec le mot secret. Notez
bien l’accès à une case du DataGridView. On utilise le « cast » pour récupérer la donnée en String.
La varaible coup est déclarée dans la classe, elle indique la ligne du jeu.

Travail à faire
A partir de ces éléments que vous pouvez éventuellement modifier, terminez et personnalisez le jeu du
Motus. Vous le présenterez à votre professeur pour une évaluation. N’oubliez pas de commenter votre
code.

Annexe : Tirage d’un mot dans un dictionnaire


On déclare

LMD - page 5 - CV
BTS SIO SLAM2 C# Année 2016

// déclaration et instanciation d’une collection pour le dictionnaire


private List<String> dictionnaire = new List<String>();
String mot_secret;

On charge un dictionnaire depuis un fichier texte et on tire un mot secret

private void selectionnerFichier()


{
OpenFileDialog ofd = new OpenFileDialog();
// on initalise la boîte de dialogue
ofd.Filter = "txt files (*.txt)|*.txt";
ofd.FileName = "";
if (ofd.ShowDialog() == DialogResult.OK)
{ // on ouvre le fichier
FileStream fs = new FileStream(ofd.FileName, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
String ligne;
while ((ligne = sr.ReadLine()) != null)
// Insertion de chaque ligne dans le dictionnaire
dictionnaire.Add(ligne);
// Renseignement de la propriété Mot_secret d'un mot tiré au hasard dans le
dictionnaire

fs.Close();
sr.Close();
mot_secret = dictionnaire[new Random().Next(dictionnaire.Count)];

}
}

LMD - page 6 - CV