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
LephenixnoirEn ligneAdministrateurPoints: 15231 Défis: 136 Message

Citer : Posté le 19/02/2019 18:49 | #


Il suffit de prendre la première ligne de la fonction suivie d'un point-virgule. Par exemple pour :

int sum(int x, int y)
{
    return x + y;
}

Un prototype possible est :

int sum(int x, int y);

Tu n'es pas obligé de mettre les noms des arguments mais c'est très conseillé. Tu n'es pas obligé de leur donner le même nom que dans le code, mais c'est plus pratique...

En plus de ça on documente en général les prototypes, par exemple comme ceci (le style des commentaires est à ta préférence) :

/* sum(): Add two integers (like +)
   x: Left operand
   y: Right operand
   Returns x + y. */
int sum(int x, int y);

Tout ça doit être en haut de ton fichier, et en fait ultimement il faut les mettre dans les headers. Mais tu pourras voir plus tard pour les headers.
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 19/02/2019 19:18 | #


Merci beaucoup !!
Bon, alors toutes mes fonctions sont prototypées et les void sont mis
Demain, j'essayerai de rajouter des fonctions... Mais je ne sais pas quoi mettre dedans... (je te l'accorde je suis pas très doué en C... ) Je fais quoi comme fonction du coup, et qu'est-ce que je met dedans ?

(\_/) -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 19/02/2019 19:20 | #


Tu prends le code qui existe déjà dans les très grosses fonctions et tu coupes en morceaux. Par exemple le code qui dessine ton écran de jeu... mets-le dans une fonction à part.
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 19/02/2019 19:23 | #


Ah oky je ferais cela demain alors
(\_/) -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%
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 20/02/2019 14:55 | # | Fichier joint


J'ai rajouté des fonctions et je voudrait savoir si c'est comme cela que tu envisageait la chose (les nouvelles sources sont en PJ )

Ajouté le 20/02/2019 à 16:11 :
Pour Plague, j'aimerai utiliser une police d'écriture que je dessinerai... J'ai cru comprendre que c'est possible grâce à Better Front, mais j'aimerai savoir comment... 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 20/02/2019 16:12 | #


Voilà c'est bien ! N'oublie pas de mettre une description de ce que la fonction fait en commentaire au-dessus, comme je l'ai indiqué

Lorsque tu t'attaqueras aux variables globales tu utiliseras beaucoup plus les paramètres des fonctions donc ce sera important d'avoir une idée claire de ce à quoi ils servent.
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 20/02/2019 16:18 | #


Oky

Alors ? ces structures ? Comment ça marche ?
(\_/) -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%
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 20/02/2019 18:31 | # | Fichier joint


J'ai réussi à diminuer le nombre de variable globale et j'ai augmenter le nombre de fonctions mais il reste encore du travail...
Les dernières sources en PJ
(\_/) -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 20/02/2019 19:06 | #


C'est bien ! Essaie de te débarrasser de toutes les variables globals sur la position des avions et la répartition de ta population.

Si tu as des constantes dans le paquet, marque-les bien avec const.
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 20/02/2019 19:08 | #


Je n'ai aucune constantes le problème est que je n'ai pas compris comment déclarer mes variables en local pour qu'elles ne soient déclarées qu'une seule fois...
(\_/) -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 20/02/2019 23:14 | #


Il suffit de les déclarer dans une fonction qui n'est appelée qu'une seul fois, comme AddIn_main().

De façon générale, voilà comment faire.

1. Demande-toi combien de temps la variable vit.
2. Déclare la variable dans la fonction qui a la bonne durée de vie.
3. Si une sous-fonction a besoin de la variable, passe-la en paramètre.
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 21/02/2019 08:17 | #


Ah okay !! Donc je déclare tous mes tableaux de coordonnées dans mon main Puis je les envoies en paramètres. J'ai compris... Le problème que j'ai ce je ne sais pas faire passer le tableau et non une copie de lui-même Ensuite pour le modifier il faudra utilisé des pointeurs c'est cela ?
Je ne suis pas très familier des pointeurs...

Je crois me souvenir qu'un pointeur sur une variable c'est *variable mais du coup j'ai un doute : si j'ai déclaré variable dans mon main et que j'envoie variable comme paramètre pour modifier variable dans ma_fonction j'ai besoin d'un pointeur jusque là c'est bon...

Ensuite dans ma_fonction je met le code suivant pour modifier la valeur de variablede façon à ce que la valeur soit changée dans le mainaussi : (j'en arrive au code) *variable = 2; et là même dans mon main, variable est égale à deux ?
(\_/) -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 21/02/2019 08:46 | #


Si j'appelle un tableau tab, alors tab est un pointeur (constant)vers la première case du tableau.

Pour le passer à une fonction tu écris donc juste tab, puis pour modifier tu écris tab[i] = 2, avec i la case que tu veux modifier

Ajouté le 21/02/2019 à 08:56 :
Puis tu confonds encore la déclaration et le reste…

Pour declarer un pointeur, j'écris int *variable, et dans ce cas, variable sera un pointeur de type int, pour accéder au contenu tu devra donc écrire *variable.

En revanche si tu déclare int var, alors var est une variable de type int, et dans ce cas pour obtenir un pointeur vers var on écrit &var.

Sinon tu devrais vraiment lire un cours sur le C en entier avant de continuer, ça ira plus vite pour tout le monde ♥
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 21/02/2019 13:05 | #


Okay merci ! Je confond pas déclaration de pointeurs et variables, je voulais juste être sûr qu'il me fallait des pointeurs. En fait, (j'avais oublié) les tableaus sont des pointeurs vers la case entre crochets donc du coup ça résout tous mes problèmes ! Merci !!

J'ai lu un cours sur OpenClasseroom mais je ne comprends pas...
(\_/) -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%
LightmareHors ligneMembre de CreativeCalcPoints: 500 Défis: 0 Message

Citer : Posté le 24/02/2019 19:20 | #


Salut Shadow ! Il semblerait que tu ait besoin de savoir en quoi consiste la sévérité, non ?
Alors la sévérité est une stat qui influence notamment la vitesse de recherche ( plus sa valeur est élevée, plus la recherche va vite). La sévérité augmente au fur et à mesure que le joueur achète des symptômes. Tous les symptômes n'augmentent pas la sévérité, tout comme d'autres l'augmentent beaucoup.
42
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 24/02/2019 19:47 | #


Coucou ! Merci beaucoup !
Donc il faut que je prenne en compte la Sévérité pour le calcul de la priorité de recherche qui fait augmenter la recherche elle-même... Plus cette sévérité est haute, plus haute est la priorité donc la recherche va plus vite... C'est bon ?
Et concernant les points ADN ? y-t-il un lien entre les deux ou pas ?
(\_/) -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%
LightmareHors ligneMembre de CreativeCalcPoints: 500 Défis: 0 Message

Citer : Posté le 24/02/2019 20:22 | #


Non, il n'y a pas de lien entre les points d'ADN et la sévérité. Sinon tu as bon !
42
Shadow15510Hors ligneAdministrateurPoints: 3649 Défis: 15 Message

Citer : Posté le 27/07/2019 20:27 | #


Cet été, j'ai voulu reprendre mon projet 'Plage inc'… J'ai donc repris mon vieux dossier du SDK Casio, je l'ouvre je fouille parmi la multitude de fichiers aussi nombreux qu'inutiles et je tombe sur… plague.c mon petit projet (le plus vieux : je me traine ce truc depuis 2 ans… ) je l'ouvre et là je manque de défaillir…
Mais qu'est-ce que c'est que cette merde !?

J'ai osé appelé ça un code ? Naan, pas moi ? Sii ? Mon dieu ! Bon je prend mon chiffon et je met le dossier entier à la corbeille… Après ce bref instant de terreur pure, je reprend mes esprit, vais chercher les images qui ont survécut au temps et lance Gitea. Je bataille quelques instant avec ma console… Au bout de quelques minutes, nouveaux dossier propre, projet sur gitea, dépôt cloné et brouillons sur les genoux, j'ouvre le nouveau fichier plague.c décider à arrêter le bullshit une bonne fois pour toute !

Le code compile et marche plutôt bien ! Tous les détails de la doc très prochainement dans un readme avec le nouveau dépôt ici : https://gitea.planet-casio.com/Shadow/Plague

Les images sont déjà rassemblées en tileset et prête à être intégré au projet ! Je reprend tout de A à Z (sauf les brouillons qui sont au point)… Les images sont les mêmes donc rien de nouveau de ce 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 27/07/2019 20:35 | #


Ha ha, j'ai fait ça souvent aussi... il y a du code (genre mon vieux g1a-wrapper) que j'ai honte de regarder tellement c'est mal écrit

Content de voir que tu prends des bons réflexes (Gitea FTW) et merci d'utiliser le fxSDK !
Breizh_craftHors ligneModérateurPoints: 954 Défis: 7 Message

Citer : Posté le 27/07/2019 20:50 | #


https://lesjoiesducode.fr/quand-jouvre-un-de-mes-anciens-devs-2

C'était le message utile de la journée.
Informagicien professionnel, prestidigitateur système. Tout est possible.
Ne0tuxHors ligneMembre d'honneurPoints: 3259 Défis: 261 Message

Citer : Posté le 28/07/2019 11:16 | #


https://lesjoiesducode.fr/quand-je-tombe-sur-un-de-mes-tous-premiers-devs

C'est de ta faute Breizh, je savais pas que c'était possible de perdre en productivité à cause d'un site drôle... un Dimanche matin !

A ceux qui trouvent que nos deux messages sont HS, je leur réponds que c'est une épidémie de gifs drôles, donc tout à fait dans le topic
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
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 30 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