---
# System prepended metadata

title: Cahier des charges

---

# Cahier des charges

Aymeric Schmid, Adam Picone, Ulysse Geinoz, Alex Mozerski

## 1. Contexte

Dans le cadre du cours de développement mobile de troisième année DLM à la HE-Arc, il nous est demandé de créer une application mobile. Ce dernier doit contenir des mesures de performances, un stockage de donnée sur le téléphone et l’utilisation d’au moins deux capteurs, c’est pourquoi nous nous sommes tournés vers un jeu vidéo. Ce projet est supervisé par Mme Aïcha Rizzotti-Kaddouri.

Ce jeu consiste à se mettre dans la peau d’un agriculteur possédant un élevage de bovin et qui trait du lait.
Au fur et à mesure que la traite du lait avance sur les vaches, l’utilisateur peut acheter avec ce lait, qui sert de monnaie pour le jeu, des améliorations lui permettant d’obtenir plus de lait et ainsi de suite. Des bonus événementiels et géographiques seront ajouté afin de rendre le gameplay encore plus intéressant.

### 1.1 Jeu Clicker

L'application est une adaptation d'un jeu de type incrémental, ou [clicker game](https://fr.wikipedia.org/wiki/Jeu_incr%C3%A9mental). Un jeu clicker consiste en une intéraction simple avec l'utilisateur produisant une resource, par exemple un clic. À l'aide de cette resource, le joueur peut acheter des améliorations qui lui fournissent plus de cette ressource. D'où le côté incrémental ou exponentiel du jeu, les resources devenant de plus en plus disponibles. Un exemple populaire du genre est [Cookie clicker](https://orteil.dashnet.org/cookieclicker/).

## 2. Objectifs

L'objectif principal de ce projet est de réaliser une application Android. Cette application est un jeu de type "clicker". Le thème du jeu est la traite des vaches. 

Le joueur peut en effet traire une vache avec l'accéléromètre du téléphone. Le joueur doit alors faire le mouvement de traite avec son téléphone en main, tout en appuyant sur l'écran. Cela produit du lait. À l'aide de ce lait, l'utilisateur achète des améliorations qui augmentent de la production de lait ou le prix.

### 2.1 Principaux

En résumé, nous aurons comme objectifs principaux:

- Utilisation de l'acceleromètre pour détecter le mouvement de traite
- Utilisation du GPS
- Gérer la traite du lait
- Gestion du système d'achat
- Afficher l'interface de base
- Créer des menus
- Navigation entre les menus

### 2.2 Secondaires

Les objectifs secondaires sont:
- Affichages différents selon l'emplacement géographique de l'utilisateur
- Achat de bonus (multiplicateur) selon la quantité de lait acquise
- Animations

#### 2.2.1 Liste des différents bonus possibles
##### Bonus automatiques
Les bonus automatiques apportent à l'utilisateur un moyen de générer des ressources sans interaction de sa part.
- Fermier
- Trayeuse

##### Multiplicateurs
Ces bonus favorisent la production de lait de vache en leur proposant un meilleur environnement, ce qui augmente la génération de ressources
- Terrain
- Emplacement géographique
- Amélioration de l'ADN de la vache
- Augmenter la qualité de la nourriture de la vache
- Dopage de la vache avec des médicaments

Certains multiplicateurs sont temporaires, mais offrent un meilleur bonus
- Réduire le prix des bonus en transformant son lait (lait chocolaté ou doré)


### 2.3 Optionnels

## 3. Besoins et contraintes

Le projet se déroule sur un total de 20 périodes en classes et 40 périodes de travail personnel en dehors.
Le code source doit être réalisé avec le logiciel Android Studio dans le langage de programmation Kotlin.
Une liste des bugs doit être tenu et mise à jour durant la réalisation du projet.
À la fin du projet, il est demandé de rendre une application fonctionnelle, un planning, une liste des bugs connus, un rapport et un diagramme de classe avec les packages du projet.
Une présentation de 30min sera effectuée afin de présenter le résultat final.

## 4. Calendrier

* Dimanche 10 Octobre 2021 : Cahier des charges et planning
* Dimanche 21 Novembre 2021 : Rendu intermediaire
* Dimanche 23 janvier 2022 : Rendu final (code source, exécutable, documentation)

## 5. Points chauds

* Android studio
* Utilisation des capteurs d'un smartphone

