Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Refonte de CalcCity
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Refonte de CalcCity

Posté le 10/10/2021 10:55

Hey o/

Il y a quelques années, j'étais tombé sur CalcCity, de Menno, un jeu de gestion de ville façon Sim's City. J'avais été très séduit par le jeu, mais il restait quelques problèmes notamment des crash de la calto (plus le programme en Anglais )

J'avais voulu refondre le code pour avoir un truc plus propre, mais j'avais pas le niveau et le code était vraiment horrible. Et puis, ces derniers temps, j'ai eu envie de faire un jeu de gestion façon Sim's City… et je me suis dit que nettoyer CalcCity et le porter pour Gint, pouvait être une bonne idée (le programme final serait posté sur la page du jeu d'origine).

Je promet pas d'avancer vite, mais je pense le faire tranquillement. (Faut déjà que j'arrive à comprendre le code )


Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 23/06/2022 17:14 | #


Super ! Je vais tout de suite le mettre sur ma Graph.
Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 23/06/2022 18:05 | #


Dans cette version, il y avait beaucoup de bugs :
- Les gros éléments (ou les bâtiments regroupés) se placent pas à l'endroit indiqué, et donc on ne peut pas construire sur les cases vides.
- Il y a eu un incendie, et il restait plus rien de la ville, pourtant il y avait 5 casernes de pompiers voir plus. Leur fond était à 75%.
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 23/06/2022 18:11 | #


Je n'ai pas touché à ces deux points ^^'
- pour les gros bâtiments, ils se placent dans le grand cadre qui entoure le curseur et lorsqu'il s'agit de bâtiments regroupés, le grand bâtiment remplace les quatre petits. Je n'ai rencontré de bugs à ce niveau…
- pour les incendies, comme pour les autres catastrophes, j'ai encore besoin d'équilibrer les probas ^^' Tu peux surveiller le risque d'incendie dans la page des statistiques (F5) puis "Sécurité" et "Incendie" Mais bon, avec les débuts un peu chaotiques, désactiver les catastrophes me semble une bonne idée (F6 → "Catastrophe" → "off")
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 09:50 | # | Fichier joint


Encore une version
J'ai repris les calculs, j'avais effectivement quelques grossières erreurs sur les calculs de risques, normalement c'est réglé ! La nouvelle version est en fichier joint.
(@RDP : avec les messages précédents et les avancées )
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 13:15 | # | Fichier joint


Encore une nouvelle version avec quelques ajustements au niveau des catastrophes, l'ajout d'une documentation dans le readme du projet ainsi que la possibilité de voir le nom du bâtiment en dessous du curseur via [OPTN].

L'exécutable est en fichier joint.
"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

Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 24/06/2022 14:18 | #


Dans la version d'avant (la première avec la sauvegarde) j'avais eu un plantage (SysError de Memory owerflow ou un truc comme ça) :
PC : 00307f70
TEA : 00307f70
TRA : 00000000
SGR : 8804eaec
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 14:24 | #


Ah merde… J'avoue que je l'avais pas vu elle… Tu testes avec quelle calculatrice ? Est-ce que l'erreur persiste avec la dernière version ? Et à quel moment as-tu eu l'erreur, dans quel menu, que faisais-tu etc ?
"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

Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 24/06/2022 14:28 | #


Je quittais le jeu. Je teste sur une Graph 35+e II.

EDIT :

J'ai eu un bug dans la dernière version : la croix était en dehors du rectangle lorsque je plaçais un aéroport (j'avais supprimé le fichier save de l'ancienne version avant d'utiliser la nouvelle).
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 14:35 | #


Hum… n'ayant pas touché au système de sauvegarde, je suppose que ça plante toujours avec la dernière version… ?
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 14:41 | # | Fichier joint


Et est-ce que l'erreur est toujours là avec la version en fichier joint ? ^^'
"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

Lephenixnoir Hors ligne Administrateur Points: 22452 Défis: 149 Message

Citer : Posté le 24/06/2022 15:16 | #


Je pourrai tester sur une Graph 35+E II, mais sinon :

→ je ne peux interpréter la System ERROR que si quelqu'un a encore le dossier de build correspondant au g1a en question
→ ce serait vraiment utile d'avoir un protocole de reproduction
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 15:20 | #


Malheureusement, je n'ai plus le dossier de build vu que ça fait déjà quelques versions et je n'ai pas vu passé l'erreur ^^' Dans le dernier exécutable, je fais tout passer par BFile sans me servir de fopen. Sur Plague tout passe par BFile aussi et ça semble bien marcher, je me suis dit que peut-être l'erreur pouvait venir de fopen et des dérivés… à suivre
"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

Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 24/06/2022 16:30 | #


Je vais tester.
Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 24/06/2022 17:17 | #


Exception! (SysERROR)
Stack overflow
PC :003072cc
TEA :003072cc
TRA :00000000
SGR :8804eb0c
The add-in crashed.
Please reset the calc
Lephenixnoir Hors ligne Administrateur Points: 22452 Défis: 149 Message

Citer : Posté le 24/06/2022 17:21 | #


Merci. Shadow, au lieu de déclarer ta map/camera/etc comme des variables locales dans main(), alloue-les avec malloc(), ça résoudra le problème.
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 24/06/2022 18:31 | #


Ok, je fais ça prochainement.
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 04/07/2022 20:05 | #


Hop o/
Désolé pour le petit temps mort, je reprend ça dès demain (c'est pour vous préparer psychologiquement aux questions )
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 05/07/2022 16:04 | # | Fichier joint


Nouvelle version ! Je suis pas contre un petit retour pour savoir si ça résout la SysError et s'il reste des bugs sur la Graph 35+E II.
Le g1a est en fichier joint.
"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

Mb88 Hors ligne Membre Points: 218 Défis: 0 Message

Citer : Posté le 05/07/2022 16:22 | #


J'ai testé un peu et il n'y a pas eu d'erreur.
Le seul problème que j'ai eu était que le rectangle pour poser l'aéroport ne correspondait pas à là où il s'est posé.
Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 05/07/2022 16:24 | #


Ah oui, c'est juste, je l'ai aussi La position finale du bâtiment est bien détectée, mais la boîte est mal affichée, je ne pense pas que ce soit très dur à résoudre.
"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

Shadow15510 Hors ligne Administrateur Points: 5394 Défis: 16 Message

Citer : Posté le 05/07/2022 16:48 | # | Fichier joint


C'était effectivement tout con : la taille du curseur est stockée dans un tableau et j'ai du copier-coller la ligne qui code les abscisses sur les ordonnées, et j'ai oublié de modifié un appel à ce tableau x)

C'est réglé dans la version en fichier joint.
"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


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
: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 - 2022 | Il y a 32 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