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

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Tamagotchi ou la gestion du temps en C
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Tamagotchi ou la gestion du temps en C

Posté le 17/08/2018 14:37

Bonjour à tous !!
Oui oui je sais je ferais mieux d'arrêter les conneries et de terminer mes anciens projets... Mais je le avance petit à petit dans l'ombre et le silence (mais si c'est vrai !)
Désireux de progresser en C j'ai eu l'idée de me familiariser avec le système de tics inclus dans la calto et qui permet de mesurer le temps (comme vous en savez plus que moi sur le sujet je demanderais sans doute un peu d'aide ) oui oui c'est bon : j'ai déjà vu, lu signé et approuvé le tuto qui en parle.
Passons au cœur du projet : vous connaissez tous les Tamagotchi : ces petites consoles vendu au Japon vers la moitié des années 90 (1996 au Japon et 97 en Europe pour être précis). Le but et de chouchouter, pouponner et nourrir un petit animal virtuel dans le but de le faire... vivre... oui oui c'est ça le but ultime par le tuer en un minimum de temps... je vois votre déception d'ici.
Bon pour mon premier jet je vais essayer de faire un truc le plus basique possible (mais je le fait en C) J'ai déjà mis sur pied mon systèmes de points et tout je fais mes sprites prochaines étape : le code.

J'ai hiérarchisé mes idées en plusieurs catégories :
les Actions
On fait des actions grâce au touche F1~F5
F1 : lui donner à manger
F2 : aller au Wc (j'invente rien c'est dans le jeu original...)
F3 : le laver
F4 : jouer
F5 : le faire dormir
Voila pour les Actions disponibles

les Points
Je les ai subdivisé en 5 catégories :
-Pts d'équilibre (eq) correspond à l'équilibre de son alimentation
-Pts d'énergie (en) rien d'extraordinaire vous savez à quoi ça sert l'énergie...
-Pts de faim (f) correspond à la satiété : plus on a de Pts de faim moins il a faim...
-Pts d'humeur (hu) Si il en a beaucoup il est sympa sinon il te fait la gueule
-Pts d'hygiène (hy) Comprenez la propreté.

gestion du temps
Avec les temps les points évolue.
Les points :
-d'énergie
-de faim
-d'humeur
-d'hygiène
perdent 2 par heures

Le temps intervient également dans les envies du moment attention : ces envies relèvent non pas des besoins de l'animal mais de sa "volonté" ainsi il aura envie :
-de manger toutes les heures
-de jouer toutes les deux heures
-d'aller au Wc toutes les 2h30
-de se laver toutes les 4 heures
-et de dormir toutes les 5 heures

les Stats
Elles seront composées de jauges aves un petit logo devant qui indiques quel points la jauge représente.
Un petit éclair pour l'énergie, un savon avec des bulles pour l'hygiène, une fourchette pour la faim, et une balance pour l'équilibre.
Les stats pourrons être appelées via [OPTN]

Manger
Cette action m'étant fort sympathique j'ai décider d'étayer les choix...
Le joueur pourra choisir entre plusieurs mets ayant chacun leurs bon et les mauvais points...
-Le bol de riz : eq+2 / en+80 / f+100 / hu-5 / hy-30
-le burger : eq-10 / en+80 / f+80 / hu+10 / hy-30
-le gâteau : eq-5 / en+50 / f+100 / hu+10 / hy-30
-la soupe : eq+10 / en+50 / f+80 / hu-5 / hy-30
-le lait : eq+5 / en+20 / f+20 / hu+5 / hy-30
-le soda : eq-2 / en+10 / f+10 / hu+5 / hy-30
Voila
Lorsque la touche F1 est pressée, le bord droit de l'image se décale vers la gauche ménageant ainsi un espace dans lequel vous aurez deux flèches de part et d'autre du logo de la nourriture place au milieu. En dessous le nom de la nourriture apparaitra et en haut un indication : "[F1]⇒Ok [F6]⇒Non"


les autre Actions et les Points
Toutes action interagissent avec les points :
-manger (déjà fait)
-aller au Wc : en-5 / hy+20
-jouer : eq+5 / en-20 / f-20 / hu+20 / hy-20
-dormir : en au max / f-80 / hu+60 / hy-60
-le laver : en-20 / f-20 / hu+20 / hy+80

les Jeux
Le menu des jeux se présente de la même manière que celui pour manger sauf que le logo est celui du jeu en question et le nom de la nourriture est remplacer par une règle succincte du jeu.
Exemple : le logo est une balle qui tombe et la règle est "Attrapez les balles".
Les points pourrait varier d'un jeu à l'autre mais je n'en suis pas là.
J'ajouterais surement "faire une balade" et "caresser" et pis après je m'en remet à vous

Dans les améliorations à venir noter que j'ai l'intention de mettre sur pied un système qui permet de faire communiquer les Tamagotchi entre eux comme les vrais...

Je pense que j'ai fait le tour de l'état du projet théorique actuel.



Etat du projet...
...en ruines

Le code de compatibilité SH4 doit être nettoyé
la créations de fonctions pour l'affichages des animations fait !
utilisation des matrices Inutile


Fichier joint


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 Suivante
Lephenixnoir En ligne Administrateur Points: 18104 Défis: 142 Message

Citer : Posté le 20/08/2018 12:47 | #


Absolument pas. Lorsque tu quittes l'add-in l'univers s'effondre et est détruit. Lorsque tu le lances, un Big Bang se produit dans la calculatrice et ton programme est chargé en mémoire.
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 12:49 | #


donc je dois créer encore un autre dossier avec les points... Mais je ne sais pas faire passer plus argument en écriture ou en lecture cela implique donc la création d'un tableau "point[]={0,0,0,0,0};" C'est cela ?
"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%
Lephenixnoir En ligne Administrateur Points: 18104 Défis: 142 Message

Citer : Posté le 20/08/2018 12:53 | #


Ah par contre les fichiers que tu crées (ce ne sont pas des dossiers, hein !), eux ils survivent. Ils servent à ça !
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 12:56 | #


Je vois...
Donc à chaque fois que je lance l'add-in je créé un tableau points au début de la partie, je récupères les points à la fin je les enregistre je pense que c'est ok

Ajouté le 20/08/2018 à 13:13 :
Juste pour vérifier :
FONTCHARACTER Points[]={'\\','\\','f','l','s','0','\\','p','o','i','n','t','s','.','t','a','m',0};//je déclare un nom de fichier ("points.tam")
int points[]={0,0,0,0,0};//je crée un tableau "points" de 5 cases
        fdbis=Bfile_OpenFile(Points,_OPENMODE_READ);//j'ouvre le fichier points créé précédemment
        Bfile_ReadFile(fdbis,points,5,-1);//je récupères les 5 premières données du fichier que je stocke dans le tableau points
        Bfile_CloseFile(fdbis);//je ferme mon fichier

C'est juste ?
"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%
Lephenixnoir En ligne Administrateur Points: 18104 Défis: 142 Message

Citer : Posté le 20/08/2018 15:04 | #


Presque. Il y a deux choses à vérifier :
- Il faut que tu aies déclaré fdbis avant (int fdbis;).
- Les élément ton tableau sont des int, ils prennent tous 4 octets donc tu dois lire 4 * 5 = 20 octets dans le fichier.
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 15:07 | #


Ah ok pour les octets ça me résous un bug et oui fdbis est bien déclaré

Ajouté le 20/08/2018 à 20:11 :
Il me faudrait deux petites précisions mais le projet à bien avancé aujourd'hui.
Quel est le type de variable pour pouvoir contenir des nombres décimaux ?
Existe-t-il une fonction pour ne garder que la partie entière d'une variable ?
Merci d'avance

"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%
Massena En ligne Rédacteur Points: 1276 Défis: 6 Message

Citer : Posté le 20/08/2018 20:13 | #


J'y connais pas grand chose, mais je crois bien que c'est les variables flottantes, donc %f
Peace was never an option. - Untitled goose game, 2019
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 20:14 | #


Ça me dit quelque chose en effet
pour les déclarer je met "Float maVariable" c'est cela ?
eh pss y a pas que des vaches en Normandie hien
"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%
Massena En ligne Rédacteur Points: 1276 Défis: 6 Message

Citer : Posté le 20/08/2018 20:15 | #


Mais du coup comment on fait pour dormir la nuit avec eux ?

Ajouté le 20/08/2018 à 20:16 :
Voilà
Peace was never an option. - Untitled goose game, 2019
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 20:17 | #


Les Tamagotchis ? il y a une touche "dormir" de prévue elle est même déjà presque au point
"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%
Massena En ligne Rédacteur Points: 1276 Défis: 6 Message

Citer : Posté le 20/08/2018 20:18 | #


Mais du coup :
Combien de temps il dort ?
Perd il des points lorsqu'il dort ?
Si il se réveille la nuit, on va pas aller le nourrir toutes les heures
Peace was never an option. - Untitled goose game, 2019
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 20/08/2018 20:20 | #


Perds-t il des points bien sûr : il a faim, il est sale mais de bonne humeur et plein d'énergie !
Combien de temps... heu... 20 secondes je ne connais pas le délai des vrais... Les points baissent relativement peu : on peut le laisser seul environ 15 heures avant la mort...
"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%
Massena En ligne Rédacteur Points: 1276 Défis: 6 Message

Citer : Posté le 20/08/2018 20:22 | #


Mais quand on dort, on peut pas s'en occuper !!!
Il va mourir...
Peace was never an option. - Untitled goose game, 2019
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 21/08/2018 08:35 | #


Eh ben dort pas Nan je pense que je vais doubler délai 30 heures d’en vie en autonomie c’est pas mal...



Ajouté le 21/08/2018 à 09:41 :
Nan attend j'ai refait le calcul : avec les jauges et tout je perds 5 pts /h donc sur 100 pts ça prend 20 heures, si je basse à 2 pts/h j'arrive à 50 heures d'autonomie sachant que le tomagotchi supporte les jauges jusqu'à -50 tu rajoute 25 heures on arrive à 75 heures d'autonomie avant la mort... 3 jours sans boire ni manger ni dormir c'est plausible...
"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%
Massena En ligne Rédacteur Points: 1276 Défis: 6 Message

Citer : Posté le 21/08/2018 09:59 | #


" Ma calto n'a plus de piles ! "
" J'hiberne, chut ! "
" Je l'ai oublié pour partir en vacances ! "
" J'ai mes révisions pour mon bac... "

Tant de raison pour qu'il crève...
Mais que serait un Tamagotchi sans sa dépendance à son propriétaire...
Peace was never an option. - Untitled goose game, 2019
Breizh_craft En ligne Modérateur Points: 1048 Défis: 7 Message

Citer : Posté le 21/08/2018 10:02 | #


Pour le coup des piles, ça va reset l'heure, le programme risque de pas aimer
Breizh.pm – Un adminsys qui aime les galettes.
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 21/08/2018 10:04 | #


Ta calto n'as plus de pile les times sont remis à zéro tu fout en l'air tous le jeu comme ça (d'où l'intérêt d'avoir un add-in qui donne l'heure pour pouvoir le remettre comme i faut )
J'hiberne oui bon ben là c'est un cas de force majeure...
Je l'ai oublié... que veux-tu fait gaffe à ta calto
J'ai mes révisons tu révises à 23 heures ? tu peux bien lui donner un peu un manger avant d'aller te coucher et pis un jour sur 3 franchement c'est pas mal...

Je rigole va, c'est pas bien grave si il meurt : appuie sur F1 et pouf il revit... (je me suis fait chier à faire la cinématique de la naissance avec l'œuf et tout même si c'es un chat... )
"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%
Lephenixnoir En ligne Administrateur Points: 18104 Défis: 142 Message

Citer : Posté le 21/08/2018 10:30 | #


Si tu pars du principe que c'est pas grave s'il meurt t'es mal barré...
Breizh_craft En ligne Modérateur Points: 1048 Défis: 7 Message

Citer : Posté le 21/08/2018 10:33 | #


Tant qu'il n'a qu'un tamagotchi et pas un vrai chat, ça passe.
Breizh.pm – Un adminsys qui aime les galettes.
Shadow15510 En ligne Administrateur Points: 4603 Défis: 16 Message

Citer : Posté le 21/08/2018 10:34 | #


C'est pas ça que je voulais dire, je voulais dire que si vraiment on ne peut pas s'en occuper et ben .. on ne peut pas, donc il meurt mais que trois jours d'autonomie avant la mort c'est déjà pas mal... De toutes façons elle est même pas encore gérée la mort... et il y aura des alertes avants :
si les points descendent en dessous de 50 le chat pense (une icône représentant la capacité)
en dessous de 25 l'aspect physique du chat change
en dessous de zéro un warning s'allume
à -50 sur toutes les capacité le chat meurt

"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%
Drak Hors ligne Rédacteur Points: 1925 Défis: 40 Message

Citer : Posté le 21/08/2018 10:35 | #


@Bzh : Je plussoie. C'est tout l'intérêt des Tamagotchis.
Eon the Dragon : version 1.2
Let's have a look!
Marre de ces RPGs qui t'imposent des classes, des compétences et des sorts ? Crée tes propres capacités sur Eon the Dragon ! Des monstres, des dragons et des combats aussi épiques que difficiles t'attendent !
Un RPG unique et immense t'attend ! Joue dès maintenant à Aventura, le Royaume Poudingue !
Vous aussi, soyez swag et rejoignez Planète Casio !
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 48 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