Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Plague.inc ?
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Plague.inc ?

Posté le 24/05/2018 18:17

Bon, suite à de nombreux faut départs, j'ai décider de tout reprendre de 0, les brouillons sont toujours au points et les simulations aussi… L'ancien projet en C n'existe plus que sous la forme des images que j'ai gardées. Côté graphisme je suis donc pas mal avec tous les dessins de terminés !


Tous les fonds d'écran du jeu


Qui dit projet en C dit Gint ! Et bien, sûr Gitea ! Avec un dépôt propre… Le code tout juste commencé n'a pas encore grand intérêt, mais dès qu'une modification est faites j'essaye de commit une version compilée ce qui vous permet de pouvoir tester le jeu pour l'instant rien d'extraordinaire…

TODO List
Continuer le code (ça c'est pas en option )
Assainir (ou pas )
Virer les erreurs (en cours)

Images du jeu


Écran titre du jeu


Mutations de la maladie


La police 'qui a du caractère' pour citer Lephe




Projet BASIC
Actuellement abandonné, le programme est libre
Avancement du projet :
menu principal
   100%

statistiques
   100%

mutations
   50%

Specificités
   100%

zoom
   100%

fin du jour intégration d'un temps artificiel accéleré par le joueur
   100%

Statistiques sur les pays (sous-menu appelé avec [OPTN] )
   80%

Vaccin
   80%

Points ADN
   80%

et voila


Fichier joint


Pages : Précédente1, 2, 3, 4, 5, 6, 7, 8Suivante
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 06/11/2018 19:15 | #


je pense que oui ! de plus je vais d'abord commencer la version monochrome : j'ai pas de Graph 90+
Lephe j’essaierai de ne pas oublier

Je fait que des bêtises j’ai trouvé un spirite d’avion qui rend super bien je crois que l’on peut le mettre à l’ecran en négatif du fond ML_bmp_xor non ?

Ajouté le 15/11/2018 à 21:20 :
J'ai une question sur le SDK : j'ai besoin de savoir si par défaut l'unité d'angle est en degré ou en radiant et si elle est en radiant comment modifier ce réglages ?
Merci d'avance
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 17/11/2018 08:32 | #


Oups, j'ai raté des messages sur ce topic moi.

Shadow15510 a écrit :
Je fait que des bêtises j’ai trouvé un spirite d’avion qui rend super bien je crois que l’on peut le mettre à l’ecran en négatif du fond ML_bmp_xor non ?

Oui c'est ça, à l'endroit où les pixels de l'avion sont noirs les pixels du fond changeront de couleur, ce qui fait un effet négatif.

Shadow15510 a écrit :
J'ai une question sur le SDK : j'ai besoin de savoir si par défaut l'unité d'angle est en degré ou en radiant et si elle est en radiant comment modifier ce réglages ?

Ce n'est pas un réglage, les fonctions mathématiques du langage C sont en radians uniquement, et si tu veux passer en degrés tu ne peux que le faire toi-même :

double sin_deg(double deg)
{
    return sin(deg * M_PI / 180);
}
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 17/11/2018 12:35 | #


Ok merci beaucoup !
J'explique pourquoi, dans Plague inc il y a des cercle représentatif du pourcentage de morts et d'infectés que j'aimerais re-faire, j'ai trouver la formule (avec le cercle trigonométrique) mais il fonctionne pour les angles en degrés...
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LepianoteurHors ligneMembrePoints: 214 Défis: 0 Message

Citer : Posté le 17/11/2018 13:08 | #


Shadow15510 tu fais une version C du jeu ? j'ai pas vraiment compris ( enfin je connais très bien le jeu même un grand joueur )
*pat pat pat pat pat pat tap tap pat* je pianote
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 17/11/2018 18:38 | #


En fait j'ai fais une version BASIC toute nulle du coup je le re-fait en C Si tu connais bien le jeu tu pourra sans doute m'aider à ressembler au jeu (je ne l'ai pas...)

Ajouté le 15/12/2018 à 15:46 :
Non ! Ce projet n'est pas mort !! ( pas encore )
Bon alors j'ai un problème : Je ne sais pas gérer les infections et les morts du jeu de manières correcte...

Au début je suis partit sur un modèle simpliste : J'ai x points d'infection, donc j'ai x % d'infecté en plus chaque jour >_<' modèle qui s'est très rapidement révélé complètement à côté de la plaque vous vous en doutez...

J'ai eu alors l'idée d'insérer un nombre qui ralentirait le nombre d'infectés et de morts mais ça ne ressemble toujours pas au jeu...
Du coup j'aimerais l'avis d'un grand joueur (au moins quelqu'un qui connait bien le jeu ) : Comment évoluent les morts et les infectées dans le jeu par rapport aux points d'infections et de létalité ?

Merci d'avance
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
HackcellEn ligneMembrePoints: 1101 Défis: 6 Message

Citer : Posté le 15/12/2018 16:02 | #


Je suis pas une joueuse de plague.inc, mais si tu t'intéresses à créer un système réaliste pour simuler une maladie, je ne peux que te conseiller de jeter un coup d'œil à la partie deux du sujet de concours suivant

https://www.prepamag.fr/concours/pdf/enonces.pdf/2016/MP_INFO_MINES_2_2016.enonce.pdf

Il est pas spécialement complexe si tu as les bonnes notions mathématiques, mais n'hésite pas à demander des informations
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 15/12/2018 16:03 | #


Ok merci beaucoup
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 15/12/2018 16:04 | #


Ooh, j'avais ça en tête (le modèle à quatre équa diffs) mais sans réussir à remettre la main dessus ! Bien joué !
HackcellEn ligneMembrePoints: 1101 Défis: 6 Message

Citer : Posté le 15/12/2018 16:25 | #


C'est vraiment parce que je l'ai fait pendant mes révisions et que dans mes souvenirs, il abordait le sujet de manière « assez » simple
Par contre, je n'ai plus la correction (enfin si, mais enterrée sous dans une pile de deux ans de cours de prépa >_< ) et l'écosystème qui entoure les corrections des énoncés de prépas est assez malsain, donc pas de correction au propre, desolée...
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 15/12/2018 16:32 | #


J'essaierais de comprendre alors... Je ne suis qu'en première S mais je verrais ça

Ajouté le 18/12/2018 à 17:23 :
Alors >_<' comment vous dire... j'ai très bien compris : « CONCOURS 2016 » mais alors après... J'ai carrément rien bité en fait on parle presque pas de code et quand on en parle c'est des mises en application de techniques a priori sensées être acquises... ^^' Bref... je n'ai rien compris, je cherche juste une formule pratique : Je donne les coefficients de propagation et de mortalité avec la population saine, infectées, et morte et la formule calcule les infectés et les morts...

Par exemple j'ai un coefficient d'infection qui varie entre 0 et 100, et une population initiale saine de 10 millions d'habitants. J'ai essayé de faire un pourcentage mais c'est trop simpliste et pas précis, se dire que le coefficient est le nombre de personnes infectés chaque jour rencontre le même problème,... Je n'arrive à aucune simulation concluante... De plus je ne veux pas que les personnes qui guérissent soient immunisées, enfin bref... Si vous trouvez un site où je peux trouver des modèles potables merci d'avance... Je cherche de mon côté !
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 18/12/2018 19:18 | # | Fichier joint


En gros, c'est ce système là qui t'intéresse...


Tu as quatre classes de gens, et les quatre égalités ici te disent à quel vitesse varie le taux de chacun en fonction de la valeur des autres. Si tu ne veux pas que tous les guéris soient immunisés, passent une partie des infectés dans la catégorie S au lieu de I, par exemple pour a = a1 + a2 tu mets :

dS(t)/dt = -rS(t)I(t) + a2(t)
dR(t)/dt = a1 I(t)

Tu vois que j'ai réparti les infectés en proportion a1 sur les immunisés et en proportion a2 sur les sains...
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 18/12/2018 19:42 | #


Oh... merci merci beaucoup !

C'est super ça Donc a1 et a2 représente mes taux d'infection et de mortalité alors ?

récapitulons :
S = Pop. saine
I = Pop. infectée
R = Pop. immunisée
D = Pop décédée
t = temps au jour J actuel
a1 = taux de contagion (varie entre 0 et 1)
a2 = taux de mortalité (varie entre 0 et 0,10)

Donc il me manque "d" "r" et "b" Du coup je comprends à peu près comment ça marche en théorie, mais je ne vois pas comment le coder...
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 18/12/2018 19:53 | #


En gros a1 représente le taux de guérison/immunisation parmis les infectés, et a2 représente le taux de guérisons sans immunisation. a1 + a2 ≤ 1 et dans l'ensemble tu veux que ce soit plus petit que 1 : en effet 1 - (a1 + a2) représente le taux de... rester infecté quand tu l'es déjà.

Le taux de contagion c'est r, car tu vois qu'une proportion rI(t) de S(t) part dans I(t). Il faut l'interpréter de cette façon : plus le taux de contagion est élevé, plus il y a de gens infectés, et plus le virus se propage vite : en effet, avec beaucoup de gens infectés le risque d'être au contact du virus augmente !

Enfin le taux de mortalité est b, tu le vois car une proportion b des infectés meurt régulièrement.

Ça va jusque-là ? Je peux t'expliquer comment le coder après !
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 18/12/2018 20:22 | #


Okay... donc r taux de contagion, b taux de mortalité : "létalité"
"a" en quelques sorte c'est la probabilité qu'une personne infecté guérisse donc je peut inputer ça aux remède ce qui m'embête toujours c'est "d" et "dt" je ne sais pas ce que ça signifie...

Merci beaucoup de ton aide pour le code je n'y suis pas encore tout à fait... je préfère avoir des brouillons bien fait

(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 18/12/2018 20:24 | #


Ah oui, je t'ai pas dit... c'est la dérivée ! Ça indique la vitesse à laquelle le nombre de gens dans chaque classe varie. Si la valeur est positive, ça grimpe... si elle est négative, ça descend.
HackcellEn ligneMembrePoints: 1101 Défis: 6 Message

Citer : Posté le 18/12/2018 20:24 | #


En gros, ce sont des notation mathématiques pour la dérivée
dS(t)/dt est donc l'évolution de la population saine sur un petit intervalles de temps (e.g. une journée)
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 18/12/2018 21:30 | #


Ah... ok la dérivée... du coup c'est juste une indication mathématique pour appeler l'expression du coup ça ne changeras pas les calculs c'est cela ? Merci encore
Juste un dernière question : le S(t) c'est la pop saine en fonction du temps mais c'est juste le nombre de personne saine ? c'est pas une fonction ?
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 18/12/2018 21:50 | #


Eh bien c'est une fonction... du temps. Mais dans ton programme, comme tu ne t'intéresses qu'à un instant à la fois, tu auras dans ta variable la valeur S(t).

Ensuite, comme tu connais la dérivée de S en fonction du temps, tu pourras la calculer au temps présent et en déduire une estimation de ce que vaudra S à un temps plus lointain : S(t + Δt). Et donc dans ta boucle principale tu mettras à jour ta variable, qui avait contenait S(t), et maintenant contient S(t + Δt).
HackcellEn ligneMembrePoints: 1101 Défis: 6 Message

Citer : Posté le 18/12/2018 21:59 | #


En faisant gaffe aux arrondis, sinon des gens vont spontanément apparaître ou disparaître (mais tu verras ça plus tard)
I usually spend meow time cosplaying as a diligent student...
So it can get pretty stressful.
That's exactly why PC is such a happy place for meow to be ⭐
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 09/02/2019 13:25 | #


Je me replonge avec difficulté dans mes brouillons... Avec un nouveau problème : j'ai les équations okay... j'ai essayer d'avoir une idée de mon code, une sorte de plan quoi…
Mais je bloque à cet endroit : mes équations pour les calculs des infectés, des morts,... etc, avez vous une idée de comment coder ça... Parce que moi là je suis un peu dépassé...
(\_/) -Bonne vacances. Pyon~ -
( '.' )/")
(")_(")

Fermé pour cause de vacances annuelles du vendredi 2 août au lundi 26 août !


Signature
Signature
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Moral
   98%
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 09/02/2019 17:22 | #


Ça touche à de l'analyse numérique. Voici l'idée.

Tu as les valeurs à l'instant t : A(t), B(t), etc. Tu calcules les dérivées A'(t), B'(t)... dont tu connais les formules.

Ensuite tu dis « je simule pour un pas de temps dt » et tu poses A(t + dt) = A(t) + dt * A'(t) en espérant que la dérivée ne change pas trop pendant cette durée. Si dt est assez petit, c'est précis.
Pages : Précédente1, 2, 3, 4, 5, 6, 7, 8Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 40 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd