allum1 .pdf


À propos / Télécharger Aperçu
Nom original: allum1.pdf

Ce document au format PDF 1.5 a été généré par LaTeX with hyperref package / pdfTeX-1.40.16, et a été envoyé sur fichier-pdf.fr le 25/05/2016 à 22:38, depuis l'adresse IP 86.242.x.x. La présente page de téléchargement du fichier a été vue 579 fois.
Taille du document: 177 Ko (8 pages).
Confidentialité: fichier public


Aperçu du document


Programmation élémentaire
Allum1

Responsable du module
younes2.serraj@epitech.eu
Dernière modification
20/02/2016_00h41

Table des matières
Détails administratifs

2

Sujet

3

Fonctions autorisées

7

1

Programmation élémentaire

Allum1

Détails administratifs
• Rendu :
Nom du répertoire de rendu : CPE_année_Allum1
• Votre binaire devra compiler avec un Makefile.
• Votre binaire se nommera allum1
• Si vous souhaitez implémenter des bonus, ils devront se trouver dans un sousdossier “bonus”. Attention, lorsque nous compilerons votre programme dans sa
version basique (cad celle qui répond scrupuleusement au sujet ci-dessous et sans
bonus), nous supprimerons le sous-dossier “bonus”. Assurez vous que votre programme compile et s’exécute correctement dans cette configuration.

2

Programmation élémentaire

Allum1

Sujet






1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61

Allum1 est un jeu basé sur des allumettes.
Il y a un certain nombre de lignes d’allumettes.
Les joueurs jouent chacun leur tour.
Chaque joueur peut, sur une même ligne, prendre une ou plusieurs allumettes.
Le joueur qui perd est celui qui prend la dernière allumette.
Exemples de parties :
$ ./allum1
*********
*
|
*
* ||| *
* ||||| *
*|||||||*
*********
Your turn:
Line: 4
Matches: 2
Player removed 2 match(es) from line 4
*********
*
|
*
* ||| *
* ||||| *
*||||| *
*********
AI’s turn...
AI removed 2 match(es) from line 3
*********
*
|
*
* ||| *
* |||
*
*||||| *
*********
Your turn:
Line: 1
Matches: 1
Player removed 1 match(es) from line 1
*********
*
*
* ||| *
* |||
*
*||||| *
*********
AI’s turn...
AI removed 1 match(es) from line 2
*********
*
*
* ||
*
* |||
*
*||||| *
*********
Your turn:
Line: 2
Matches: 2
Player removed 2 match(es) from line 2
*********
*
*
*
*
* |||
*
*||||| *
*********
AI’s turn...
AI removed 2 match(es) from line 4

3

Programmation élémentaire

62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

Allum1

*********
*
*
*
*
* |||
*
*|||
*
*********
Your turn:
Line: 3
Matches: 1
Player removed 1 match(es) from line 3
*********
*
*
*
*
* ||
*
*|||
*
*********
AI’s turn...
AI removed 2 match(es) from line 3
*********
*
*
*
*
*
*
*|||
*
*********
Your turn:
Line: 4
Matches: 2
Player removed 2 match(es) from line 4
*********
*
*
*
*
*
*
*|
*
*********
AI’s turn...
AI removed 1 match(es) from line 4
*********
*
*
*
*
*
*
*
*
*********
I lost.. snif.. but I’ll get you next time!!

$ ./allum1
*********
*
|
*
* ||| *
* ||||| *
*|||||||*
*********
Your turn:
Line: 9999
Error: this line is out of range
Line: 0
Error: this line is out of range
Line: -53
Error: invalid input (positive number expected)
Line: lol
Error: invalid input (positive number expected)
Line: 3
Matches: 0
Error: you have to remove at least one match
Line: 3
Matches: -21
Error: invalid input (positive number expected)
Line: 2

4

Programmation élémentaire

25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97

Allum1

Matches: 6789
Error: not enough matches on this line
Line: 3
Matches: chocolat
Error: invalid input (positive number expected)
Line: 3
Matches:
Error: invalid input (positive number expected)
Line: 3
Matches: 2
Player removed 2 match(es) from line 3
*********
*
|
*
* ||| *
* |||
*
*|||||||*
*********
AI’s turn...
AI removed 1 match(es) from line 4
*********
*
|
*
* ||| *
* |||
*
*|||||| *
*********
Your turn:
Line: 1
Matches: 1
Player removed 1 match(es) from line 1
*********
*
*
* ||| *
* |||
*
*|||||| *
*********
AI’s turn...
AI removed 6 match(es) from line 4
*********
*
*
* ||| *
* |||
*
*
*
*********
Your turn:
Line: 1
Error: this line is empty
Line: 2
Matches: 2
Player removed 2 match(es) from line 2
*********
*
*
* |
*
* |||
*
*
*
*********
AI’s turn...
AI removed 1 match(es) from line 2
*********
*
*
*
*
* |||
*
*
*
*********
Your turn:
Line: 3
Matches: 1
Player removed 1 match(es) from line 3

5

Programmation élémentaire

98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125

Allum1

*********
*
*
*
*
* ||
*
*
*
*********
AI’s turn...
AI removed 1 match(es) from line 3
*********
*
*
*
*
* |
*
*
*
*********
Your turn:
Line: 3
Matches: 1
Player removed 1 match(es) from line 3
*********
*
*
*
*
*
*
*
*
*********
You lost, too bad..

• Le but du projet est de faire un programme contre lequel on peut jouer.
• La version de base doit générer un plateau de 4 lignes d’allumettes
• L’output de votre programme (messages d’erreurs compris) doit correspondre aux
exemples présentés ci-dessus et être écrit sur la sortie standard.
• Après le dernier message (qui indique le vainqueur), il n’y a qu’un seul retour à la
ligne
• En cas de mauvais input pour indiquer le nombre d’allumettes à retirer, il faut
ré-afficher Line: et c’est au joueur de renseigner à nouveau la ligne sur laquelle
il veut jouer.
• Le copier/coller depuis le pdf peut provoquer le remplacement de certains caractères simples par d’autres (exemple : l’apostrophe, il faut utiliser celle de base
dont le code ascii est 0x27). Je vous conseille de recopier les messages plutôt que
de faire du copier/coller.
• Votre my_getnbr() devra se comporter de façon stricte (le moindre caractère qui
ne va pas doit entrainer un message d’erreur).
• Les bonus seront notés uniquement si le jeu en mode texte fonctionne parfaitement.
• Voici une liste des bonus que vous pouvez implémenter :
◦ Changer le nombre de lignes.
◦ Faire une interface graphique (liblapin ?).
◦ Avoir le choix entre plusieurs niveaux de difficulté (my_select ?).
◦ Pouvoir jouer sans toucher le laptop, parce que c’est plutôt stylé (leap motion ?).

6

Programmation élémentaire

Allum1

Fonctions autorisées









read
write
malloc
free
time
getpid
rand
srand

Pour les bonus :
• open / close / stat
• usleep
• termcaps / ncurse
• liblapin
• SDL
• fmod
• arduino
• socket / bind / listen / accept / connect
• SDK LeapMotion, Kinect, etc : renseignez vous auprès du Hub pour savoir quel
composants ils peuvent vous prêter.

7


Aperçu du document allum1.pdf - page 1/8

 
allum1.pdf - page 2/8
allum1.pdf - page 3/8
allum1.pdf - page 4/8
allum1.pdf - page 5/8
allum1.pdf - page 6/8
 




Télécharger le fichier (PDF)


allum1.pdf (PDF, 177 Ko)



Sur le même sujet..





Ce fichier a été mis en ligne par un utilisateur du site. Identifiant unique du document: 00427749.
⚠️  Signaler un contenu illicite
Pour plus d'informations sur notre politique de lutte contre la diffusion illicite de contenus protégés par droit d'auteur, consultez notre page dédiée.