La connexion SSH n'est actuelle disponible que depuis une petite partie du reseau interne U-PSud. Utilisez de préférence les adresses de dépots en HTTPS pour le moment.

Commit 63c07a67 authored by Adeline Pierrot's avatar Adeline Pierrot

Relecture TD6

parent e5e78854
......@@ -23,8 +23,8 @@ Cette fiche de révision est l'occasion d'insister sur certains points encore ma
par exemple la notion de paramètre, qui correspond à ce que la fonction a besoin qu'on lui fournisse quand on l'appelle.
En particulier quand quelque chose est pris en paramètre,
par exemple un tableau, la fonction ne doit pas redéclarer ni re-allouer ni ré-initialiser le paramètre
(exemple: paramètre des de la fonction afficheDes ou de la fonction compteDes).
Par contre quand une fonction est censée renvoyer un tableau, c'est à elle de déclarer, allouer et initialiser le tableau
(exemple: paramètre \texttt{des} de la fonction afficheDes ou de la fonction compteDes).
Par contre quand une fonction est censée renvoyer un nouveau tableau, c'est à elle de déclarer, allouer et initialiser le tableau
(exemple: variable res de la fonction compteDes).
Autre notion fondamentale à rappeler: un return stoppe une fonction, on ne doit donc jamais écrire quelque chose du style
......@@ -44,10 +44,10 @@ Le jeu de Yam's (ou Yahtzee) est un jeu de dés dont le but est d'encha\^iner le
Nous ne nous intéressons ici qu'à une version simplifiée du Yams et chercherons à reconna\^itre les figures suivantes:
\begin{itemize}
\item \textbf{Brelan}: 3 dés identiques
\item \textbf{Brelan}: 3 dés identiques parmi les 5 dés
%\item \textbf{Full}: 3 dés identiques et 2 dés identiques
%\item \textbf{Carré}: 4 dés identiques
\item \textbf{Yams}: 5 dés identiques
\item \textbf{Yams}: les 5 dés identiques
\end{itemize}
Les figures permettent de marquer des points. À chacune de ces figures sont
......@@ -77,7 +77,7 @@ de yams basique.
\begin{correction}\
\lstinputlisting[firstline=32,lastline=42]{yams-correction.cpp}
\end{correction}
\item Spécifier et donner l'implantation d'une fonction \lstinline{chercheDansTab} qui cherche l'emplacement d'un entier dans un tableau.
\item Spécifier et donner l'implantation d'une fonction \lstinline{chercheDansTab} qui cherche l'emplacement d'un entier donné dans un tableau d'entiers.
Si l'entier est présent dans le tableau, \lstinline{chercheDansTab} renvoie \textbf{l'indice d'une case du tableau le contenant}.
Si l'entier n'est pas présent dans le tableau on renverra \texttt{\textbf{-1}}.
Ainsi l'appel \texttt{chercheDansTab(3, \{1,2,3\})} devra renvoyer \texttt{2}, l'appel \texttt{chercheDansTab(4, \{1,2,3\})} devra renvoyer \texttt{-1}, etc.
......@@ -110,7 +110,7 @@ de yams basique.
\begin{exercice}[Yams !]\newlineforenumerate
\begin{enumerate}
\item Le Yams (cinq chiffres identiques) est la figure la plus facile à reconna\^itre.
Donnez la spécification et l'implémentation d'une fonction \texttt{pointsFigureYams} qui, lorsque l'on lui donne en entrée un tableau contenant 5 entiers,
Donnez la spécification et l'implémentation d'une fonction \texttt{pointsFigureYams} qui, lorsqu'on lui donne en entrée un tableau contenant 5 entiers,
renvoie les points obtenus (\texttt{\textbf{somme des 5 dés + 60}}) s'il s'agit d'un Yams, \texttt{\textbf{0}} sinon.
\begin{correction}\
......
......@@ -115,7 +115,7 @@
\begin{exerciceavance}[Quelques extensions]
Le programme que vous obtenez à la fin de l'exercice 1 est encore loin de représenter le jeu de Yams réel.
Dans cet exercice nous vous proposons plusieurs extensions déjà évoquées dans le sujet de TD qui vous permettrons de vous en approcher.
Dans cet exercice nous vous proposons plusieurs extensions (dont certaines déjà évoquées dans le sujet de TD) qui vous permettront de vous en approcher.
Vous pouvez utiliser Jupyter pour prototyper vos fonctions, mais vous devez au final implémenter ces extensions dans votre programme compilé (fichier \texttt{yams.cpp}).
\smallskip
......
......@@ -60,13 +60,13 @@ int pointsFigureYams(vector<int> des) {
}
}
return (points + 60);
return points + 60 ;
}
/** Fonction compteDes qui compte le nombre d'occurrence de chaque valeur de dé
* @param des un tableau de 5 entiers
* @return un tableau de 6 cases correspondant aux 6 valeurs possibles de dé.
* Les valeurs de ce tableau indiquent le nombre de dés de chaque valeur
* Les éléments de ce tableau indiquent le nombre de dés de chaque valeur
* présent dans le tableau initial (voir tests pour exemples).
**/
vector<int> compteDes(vector<int> des) {
......@@ -109,7 +109,7 @@ int pointsFigureBrelan(vector<int> des) {
if(compte[i] >= 3) {
// Si oui, on renvoie la valeur du brelan correspondant.
// Rappel: l'indice d'une case du tableau compte correspond à la valeur - 1
return ((i + 1) * 3 + 10);
return (i + 1) * 3 + 10 ;
}
}
......@@ -130,7 +130,7 @@ int pointsFigureFull(vector<int> des) {
int valBrelan = chercheDansTab(3, compte) + 1;
if(valPaire > 0 and valBrelan > 0) {
return (valPaire * 2 + valBrelan * 3 + 20);
return valPaire * 2 + valBrelan * 3 + 20 ;
}
else {
// Si on ne trouve pas de brelan on renvoie 0 :
......@@ -150,7 +150,7 @@ int pointsFigureCarre(vector<int> des) {
int val = (chercheDansTab(4, compte) + 1) + (chercheDansTab(5, compte) + 1);
if(val > 0) {
return (val * 4 + 30);
return val * 4 + 30 ;
}
else {
// Si on ne trouve pas de brelan on renvoie 0 :
......
......@@ -10,7 +10,7 @@ while ( reponseJoueur != "brelan"
// L'instruction suivante permet d'attendre que le joueur
// entre une phrase dans le terminal et stocke sa réponse
// dans une chaine de caractères "reponseJoueur"
// dans la chaine de caractères "reponseJoueur"
cin >> reponseJoueur;
}
// INSERER VOTRE CODE ICI
......@@ -7,7 +7,7 @@ int pointsFigureYams(vector<int> des) {
if(indiceYams >=0) {
// l'indice d'une case du tableau correspond à la valeur - 1
return ((indiceYams + 1) * 5 + 60);
return (indiceYams + 1) * 5 + 60 ;
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment