IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

PhilippeGibault

Comment vendre le projet au professeur de SMB116

Noter ce billet
par , 10/07/2022 à 11h33 (126 Affichages)
Déjà, il faut vendre le projet (ce qui est d'ailleurs noté).

Voici ce que j'ai écrit pour le vendre:

Introduction
Le projet a été réfléchit, et n'ayant pas eu le temps de finir le brouillon, ni de réfléchir à un autre projet, je vais donc m'arrêter sur le calculateur de morts à Warhammer 40K.
Prenons une situation typique de ce jeux, à savoir 10 Spaces Marines tirant au bolter sur 10 guerriers nécrons.

Le space marine doir d'abord toucher. Il a une CT de 3+. De fait, il a une probabilité de réussir de 2/3.
Ensuite, il doit blesser. Son Bolter a une force de 4, contre une endurance de 4, ce qui fait que le guerrier nécron est blessé sur 4+, soit une probabilité de 1/2.
Mais le nécron a une armure de 4+. Le bolter du Space Marine a un modificateur de -1. La sauvegarde du guerrier nécron a donc 1/3 de chance d'être sauvegardé (et 2/3 de mourir).
Mais le guerrier nécron peut se relever sur 5+, relançant les 1.


Au final, on a des probabilités conditionnelles, ou de manière plus simple un arbre de probabilité.
Deux chemins ont intéressants:

Le cas où le guerier Nécron ne se relève pas, et n'a pas pu retenter sa chance (2/3 * 1/2 * 2/3 *1/2 = 4/36 = 1/9)
Le cas où le guerier Nécron ne se relève pas, mais a retenté sa chance (2/3 * 1/2 * 1/6 * 2/3 = 4/108 = 1/27)


Au final, pour un Sapce Marine, la probabilité de tuer un guerrier nécron est de 1/9 + 1/27 = (3 + 1)/27 = 4/27.
Au final, 10 Spaces Marines tuent (4 * 20)/27 = 2.96... nécrons (un bolter tirant 2 fois soit 20 tir).
Donc, au pire, 10 Spaces Marines tuent 2 guerriers nécrons. Au mieux, il en tuent 3.
L'objectif de mon application est de faire ce genre de calcul, à la phase de tir, de corps à corps et si j'ai le courage à la phase de morale.
J'ai un concurrent
Ce type d'application existe (Math 40K). Néanmoins, j'ai l'intention de ne surtout pas prendre la même approche.
L'application Math 40K demande de saisir différent paramètres.
J'ai l'intention de faire sélectionner, via Menu de sélection/Case à cocher les paramètres du calcul
Car effectivement, les jets dépends de beaucoup de paramètres, comme le chapitre (les Dark Angel ajoute +1 au jet de touche si ils n'ont pas bouger), de personnages aux alentours
(le général permet de relancer les 1 pour toucher, le lieutenant permet de relancer les 1 pour blesser...), des décors (+1 sauvegarde pour les couverts...).
Je vais donc présenter ma version, mais selon le temps..., c'est succeptible d'évoluer.
Projet Base
Un JAR de base pour contractualisé les DAO, les services, des exceptions.. Utilisation de Maven.
Projet calcul
C'est l'arbre de probabilité en question. Projet Maven (réuilisable), et utilisation de Apache Math pour avoir les probabilités sous formes fractionnaires. TU avec JUnit et Mockito pour Mocker les interfaces.
Projet DTO
Je vais partir des DTO. C'est un travail de modélisation conséquent ici, notament celui de modéliser l'ensemble des unités de Warhammer 40K. Utilisation de Maven.
Projet XML
XML étant vu comme une entité, la couche DAO. Il faut bien remplir une BDD, et remplir des XML me paraît plus simple. Utilisation de JAXB et Maven.
Projet SQLLite
L'idée est de fabriquer le fichier pour l'application Androïd. Utilisation de JPA, Spring et Maven. Idée de passer du XML -> DTO -> Entité JPA pour SQLLite et gérer un fichier de BDD.
Ou un projet serveur
BDD PostgreSQL (+ Docker) contenant l'information, mise à disposition par un serveur (Spring, Spring Boot, JPA°. Utilisation de Maven.
Et le projet Androïd
Dépend du projet de base, de calcul et de DTO. BDD locale (en l'occurence SQL Lite) directement rempli par fichier ou mise à jour serveur.
Utilisatn de Dagger pour l'injection de dépendance.

Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Viadeo Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Twitter Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Google Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Facebook Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Digg Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Delicious Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog MySpace Envoyer le billet « Comment vendre le projet au professeur de SMB116 » dans le blog Yahoo

Mis à jour 10/07/2022 à 14h13 par PhilippeGibault

Catégories
Java

Commentaires