Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix typos #3

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@

*Polytech Nice Sophia - 3ème année Ingénieur Sciences Informatiques - second semestre (cours optionnel)*
- De Janvier à Mai 2022
- Responsables: [Mathias Cousté](mailto:[email protected]), [Philippe Collet](mailto:[email protected])
- Responsables : [Mathias Cousté](mailto:[email protected]), [Philippe Collet](mailto:[email protected])

## Objectifs
Ce cours a pour objectif de renforcer les bases en qualité et génie logiciel obtenues dans le cours PS5
Les notions abordées concernent des points comme:
Les notions abordées concernent des points comme :

- La mesure de la qualité de code, avec une illustration par l'outil SONAR
- Les branching strategies dans la gestion du code source
- Les *branching strategies* dans la gestion du code source
- Les principes SOLID dans l'organisation du code
- Une introduction à l'automatisation des processus de génie logiciel
- Un approfondissement des connaissances en qualité logicielle
Expand All @@ -21,22 +21,22 @@ Grâce à un projet fil rouge, les étudiants (regroupés en équipes) pourront
## Projet fil rouge
Ce cours s'articule autour d'un projet fil rouge qui permettra aux étudiants d'appliquer les concepts vus en cours.
- [Présentation du sujet](./project/README.md)
- [Spécification technique](./project/TECHNICAL_SPECS.md)
- [Consigne de livraison](./project/DELIVERY_PROCESS.md)
- [Spécifications techniques](./project/TECHNICAL_SPECS.md)
- [Consignes de livraison](./project/DELIVERY_PROCESS.md)
- [Comprendre l'arbitre](./project/UNDERSTAND_THE_REFEREE.md)

## Organisation

### Contacts
Nous utilisons uniquement Slack (pas d'email):
Nous utilisons uniquement Slack (pas d'email) :
- Canal ``#si3-qgl-21-22`` pour les discussions publiques relatives au cours et au projet
- Messages directs pour les questions spécifiques à votre groupe

### Modalités de contrôle des connaissances
- Livraisons hebdomadaires *- 50 points (5 par semaine)*
- Soutenance *(entretien technique)- 40 points*
- Rapport du projet *- 20 points*
- Livraison finale: mise en application de tous les concepts étudiés *- 40 points*
- Livraison finale : mise en application de tous les concepts étudiés *- 40 points*
- Evaluation(s) sur table *- 50 points*
- Classement compétition inter-équipes *- 20 points bonus*

Expand Down
4 changes: 2 additions & 2 deletions interview/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ Pendant les 13 premières minutes, vous devrez répondre aux questions suivantes

1. Expliquez votre solution gagnante : comment gagner les courses ?
2. Présentez et défendez l'architecture de votre projet.
3. Pourquoi votre projet à la meilleure qualité possible?
3. Pourquoi votre projet a la meilleure qualité possible ?

### Questions :

Pendant les 5 dernières minutes de l'entretien, chaque membre de l'équipe se verra poser une question, tirée au hasard, auquel il aura 40 secondes pour répondre.

## Déroulé de l'entretien

A l'heure prévue, l'ensemble des membres de l'équipe doivent être connecté dans un appel dans le canal de votre équipe et être prêt à commencer l'entretien (n'attendez pas le dernier moment pour tester les outils).
A l'heure prévue, l'ensemble des membres de l'équipe doivent être connectés dans un appel dans le canal de votre équipe et être prêts à commencer l'entretien (n'attendez pas le dernier moment pour tester les outils).

L'entretien dure 18 minutes : 13 minutes de présentation et 5 minutes de questions.

Expand Down
2 changes: 1 addition & 1 deletion project/DELIVERY_PROCESS.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Créez un tag `FINAL` contenant votre rapport avant le *21 Mai 2022*. (Ce rendu

## Étapes de chaque livraison hebdomadaire
### Annonce de la livraison
Au moins une semaine avant la date de livraison, seront données les informations suivantes:
Au moins une semaine avant la date de livraison, seront données les informations suivantes :

- Nom du tag de livraison.
- Indication du mode de jeu de la prochaine partie.
Expand Down
18 changes: 9 additions & 9 deletions project/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Nous sommes en plein âge d'or de la piraterie.

De nombreux équipages se font la guerre pour savoir qui sont les plus grands pirates de nos mers et océans.
Après moultes disputes, les plus grands équipages pirates de ce monde ont décidé de s'affronter lors d'un grand tournoi de piraterie. A l'ordre du jour, régates et batailles navales.
Après moult disputes, les plus grands équipages pirates de ce monde ont décidé de s'affronter lors d'un grand tournoi de piraterie. À l'ordre du jour, régates et batailles navales.

Vous et votre équipe incarnez un des équipages engagés dans le tournoi.
Vous êtes à la tête d’un navire qui doit être piloté avec précision afin d’être le premier à atteindre l’objectif de chaque partie.
Expand Down Expand Up @@ -36,7 +36,7 @@ Chaque élément à une forme définie tel qu'un rectangle (défini par sa haute

![sea_map](./assets/sea_map.png)
```
Dans cet exemple, un bateau rectangulaire est positionné en [51,5; 75,8] et son orientation est de PI/4. Il fait face à un recif circulaire positionné en [120,2; 80,5].
Dans cet exemple, un bateau rectangulaire est positionné en [51,5; 75,8] et son orientation est de PI/4. Il fait face à un récif circulaire positionné en [120,2; 80,5].
```
### Le vent
Le vent est un élément non positionné, il souffle de manière constante sur l'ensemble de la mer.
Expand All @@ -58,9 +58,9 @@ Deux bateaux qui se percutent vont s'endommager l’un l’autre de manière ég

### La vision
A chaque tour de jeu, vous recevez une liste d'éléments visibles présents dans la mer.
Seuls les éléments présent dans votre champ de vision vous serons donné.
Par defaut, la vision est de 1000.
Si un marin exécute l'action surveiller sur la vigie, votre vision passe à 5000 pour le tour suivant.
Seuls les éléments présent dans votre champ de vision vous seront donnés.
Par défaut, le rayon du champ de vision est de 1000.
Si un marin exécute l'action **surveiller** sur la vigie, votre rayon de vision passe à 5000 pour le tour suivant.

## Votre navire
Le navire désigne l’embarcation pilotée par une équipe.
Expand Down Expand Up @@ -88,7 +88,7 @@ Un mât et sa voile permettent d'agir sur la vitesse du bateau.
Une voile peux être hissée ou bien affalée.
Les parties commencent avec les voiles baissées.

Le voile levée permet d’agir sur la vitesse du bateau en fonction de l’angle relatif du vent dans la voile: le navire est accéléré s'il est dos au vent. Il est ralenti s'il fait face au vent.
La voile levée permet d’agir sur la vitesse du bateau en fonction de l’angle relatif du vent dans la voile : le navire est accéléré s'il est dos au vent. Il est ralenti s'il fait face au vent.

#### La vigie
La vigie n’a pas d’effet sur les mouvements du bateau.
Expand Down Expand Up @@ -146,7 +146,7 @@ Une épreuve aura lieu chaque semaine.
Le mode de jeu de l'épreuve sera communiqué à l'avance afin que chaque équipe puisse s'y préparer.
Chaque épreuve correspond à un livrable hebdomadaire, tel que décrit dans [ce document](./DELIVERY_PROCESS.md).

A chaque épreuve, entre 0 et 10 points seront donnés à chaque équipe en fonction de leur classement lors de la partie.
À chaque épreuve, entre 0 et 10 points seront donnés à chaque équipe en fonction de leur classement lors de la partie.
Le nombre total de points obtenus pendant le tournoi déterminera le classement final du tournoi.

## Déroulement d'une partie
Expand All @@ -168,8 +168,8 @@ Enfin, l’arbitre vérifie et exécute les actions données par chaque équipag
### Fin de la partie
La partie se finit lorsqu'une des conditions suivantes est atteinte :
- Le nombre de tours maximal de la partie est atteint
- Pour une frégate: tous les navires ont atteint le point d'arrivée
- Pour une bataille navale: il ne reste qu'un ou aucun navire
- Pour une frégate : tous les navires ont atteint le point d'arrivée
- Pour une bataille navale : il ne reste qu'un ou aucun navire

## Votre objectif
Vous allez devoir développer un programme respectant [ces spécifications](./TECHNICAL_SPECS.md) afin de contrôler les marins de votre équipage.
Expand Down
22 changes: 11 additions & 11 deletions project/TECHNICAL_SPECS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,31 +12,31 @@ Votre projet doit conserver la structure telle que donnée dans le [template](ht
Lorsque la commande `mvn clean package` est exécutée, un fichier jar nommé `<teamId>-0.1-SNAPSHOT.jar` doit être présent dans le répertoire `player/target`.

## Librairie externes
L'utilisation de libraries externes de manière non-maîtrisée peut entraîner des erreurs lors de l'exécution.
Si une erreur arrive suite à l'utilisation d'une librarie non incluse de base dans le template, votre livraison échoue.
Il vous est donc fortement recommandé de ne pas ajouter de librairie dans votre projet.
L'utilisation de librairies externes de manière non-maîtrisée peut entraîner des erreurs lors de l'exécution.
Si une erreur arrive suite à l'utilisation d'une librairie non incluse de base dans le template, votre livraison échoue.
Il vous est donc fortement recommandé de ne pas ajouter de librairies dans votre projet.

## Cockpit.java
Votre projet doit obligatoirement contenir une classe nommée `Cockpit` tel que donnée dans le [template](https://github.com/mathiascouste/qgl-template/blob/master/player/src/main/java/fr/unice/polytech/si3/qgl/teamid/Cockpit.java).
Votre projet doit obligatoirement contenir une classe nommée `Cockpit` telle que donnée dans le [template](https://github.com/mathiascouste/qgl-template/blob/master/player/src/main/java/fr/unice/polytech/si3/qgl/teamid/Cockpit.java).
Cette classe doit être positionnée dans le package `fr.unice.polytech.si3.qgl.<teamid>`.

La classe Cockpit doit contenir les méthodes suivantes:
La classe Cockpit doit contenir les méthodes suivantes :
### InitGame

public void initGame(String game);

Cette méthode sera invoquée avec en paramètre une instance de String contenant un JSON au format initGame (voir définition plus bas ou [exemple](./examples/initGame.json)).
Cette méthode sera invoquée avec en paramètre une instance de String contenant un JSON au format `initGame` (voir définition plus bas ou [exemple](./examples/initGame.json)).

### NextRound

public String nextRound(String round);


Cette méthode sera invoquée avec en paramètre une instance de String contenant un JSON au format nextRound (voir définition plus bas ou [exemple](./examples/nextRound.json)).
Cette méthode sera invoquée avec en paramètre une instance de String contenant un JSON au format `nextRound` (voir définition plus bas ou [exemple](./examples/nextRound.json)).

Cette méthode doit retourner une instance de String contenant un JSON au format actions (voir définition plus bas ou [exemple](./examples/actions.json)).
Cette méthode doit retourner une instance de String contenant un JSON au format `actions` (voir définition plus bas ou [exemple](./examples/actions.json)).

Les actions retournées sont vérifiées puis éxécutée. Si l'action n'est pas valide (voir [règles du jeu](./README.md) ou description JSON plus bas) alors elle sera ignorée.
Les actions retournées sont vérifiées puis exécutées. Si l'action n'est pas valide (voir [règles du jeu](./README.md) ou description JSON plus bas) alors elle sera ignorée.

### GetLogs

Expand All @@ -47,7 +47,7 @@ Cette méthode est invoquée à la fin de la partie.
Elle vous permets de générer vos propres logs.
Vous pouvez retourner des chaînes de caractères dans le format de votre choix.

**Seule limite:** vous ne pouvez retourner qu'un maximum de 100 Strings, et aucune ne doit dépasser les 200 caractères.
**Seule limite :** vous ne pouvez retourner qu'un maximum de 100 Strings, et aucune ne doit dépasser les 200 caractères.

Ces logs vous seront donnés dans le rapport d'exécution de la partie.

Expand Down Expand Up @@ -114,7 +114,7 @@ Ces logs vous seront donnés dans le rapport d'exécution de la partie.
| vertices | Point[] |

Les sommets du polygone sont positionnés par rapport à son centre.
Par exemple, un carré de coté 2 représenté tel un polygone aura pour sommets: [1;1], [-1;1], [-1;-1], [1;-1]
Par exemple, un carré de coté 2 représenté tel un polygone aura pour sommets : [1;1], [-1;1], [-1;-1], [1;-1]

### Point

Expand Down
Loading