Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Topic/Discussion The Cursed Maze
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Topic/Discussion The Cursed Maze

Posté le 26/07/2019 18:18

Bonjour,

The Cursed Maze est constituer de phases d’exploration de niveaux généré aléatoirement mêlé à des combats tour par tour.

Il est programmé en Basic à partir de ma calculatrice et me donne beaucoup de fils à retordre.

Voici, qui suit, la liste des différents contenus à programmer :
- Génération aléatoire des maps (Sûrement fini)
- Génération graphique des maps (Commencé et à perfectionner)
- Génération aléatoire des ennemis
- Création des phases de combats
(Fonctionnel et à complexifier)
- Génération graphique des combats(Fini (enfin, je crois) )
- Création de seeds (En développement(sur pause))
- Création des statistique du personnage par le joueur (Fini (enfin, je crois) )
- Création d’événements aléatoire modifiant les statistique du personnage
- Création d'objet à usage unique modifiant les statistique du personnage temporairement ou non

Les Graphismes !!!






LE JEU !


Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

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


Je vous propose une version test de mon générateur de map (en pièce-jointe de cette réponse) !!!

Il utilise les variables A, B, C, D, E, J, K, L, Mais sont initialisé lorsque besoins.
Il utilise également les listes 5 à 9 et la Mat Y

Pour tester une map aléatoire, lancer "GOODDIM"
Il va commencer par vous afficher la mat Y (les 2 sont des salles) puis la list 5 (SEED)
Comme vous pourrez l’apercevoir, la taille de la matrice sera soit de 5x5, 7x7 ou 9x9, avec, respectivement, 7 salles, 10 salles et 13 salles

"GOODSEED" ne pourra fonctionner que si une seed valable est déjà inséré dans la liste 5, je vous conseillerai donc de commencer d'abord de lancer l'autre programme

Si bug rencontré, me prévenir !!!
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

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


Pas mal ! C'est convexe déjà, bien joué. À quoi servent les 1 ? Est-il vraiment nécessaire de marquer les bords ?

J'ai assez rarement des pièces sur la totalité de la matrice, il y a souvent des lignes ou des colonnes vides sur le bords. Peut-être peux-tu profiter plus de l'espace dont tu disposes ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

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


Lephenixnoir a écrit :
À quoi servent les 1 ? Est-il vraiment nécessaire de marquer les bords ?

Les 1 sont les pièce disponible (adjacente à une déjà existante) et me permette de ne pas doubler leur coordonnées dans les listes (vérification si la pièce regardé est de type 0 (inexistante et non répertoriée dans la liste) ou de type 1 (inexistante mais répertoriée dans la liste))
J'ai assez rarement des pièces sur la totalité de la matrice, il y a souvent des lignes ou des colonnes vides sur le bords.

Je te répondrai les probabilités, tout comme lancer un dé à 6 face et ne tomber que sur 6 (non pipé, bien sur)
Peut-être peux-tu profiter plus de l'espace dont tu disposes ?

Pour plus de salle : change ça ...
For 1→J To K+L-2 Step 1

... en ça
For 1→J To K+L Step 1

Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

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


Filoji a écrit :
Pour plus de salle : change ça ...
For 1→J To K+L-2 Step 1

... en ça
For 1→J To K+L Step 1

Donc c'est pas du tout des probabilités en fait, c'est juste que tu génères peu de salles par rapport à la taille de l'espace

Je présume que tu tires au hasard la prochaine salle parmi les 1 de la matrice ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

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


Lephenixnoir a écrit :
Je présume que tu tires au hasard la prochaine salle parmi les 1 de la matrice ?

Oui, mais non...
Les 1 sont là pour savoir si les coordonnées sont déjà inscrits dans les listes et donc ne pas avoir 2 fois les même coordonnées et donc pas de superposition des salles
Donc théoriquement, oui
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

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


Je vois. Ça a tendance à faire un gros groupe de salles, par opposition à des couloirs... ce qui pourrait avoir des avantages d'ailleurs.

Sinon, comme je ne crois pas que ça ait été dit, pour passer en base 36 tu dois prendre des Str. Tu peux extraire la lettre à la position n avec StrMid(Str <id>, <n>, 1) et connaître la position d'une motif avec StrSrc(Str <id>, <motif>). L'idée étant que tu as une Str qui te sert d'alphabet, ici "0..9A..Z", ensuite pour accéder à un chiffre de ton seed tu l'extrais avec StrMid() puis tu cherches sa position dans l'alphabet avec StrSrc.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 27/07/2019 21:02 | #


Merci beaucoup Lephenix
Si en même temps tu connais comment mélanger deux éléments de la seed (comme le 1er et le 2me) et ensuite les retrouver, ça m'intéresserait !
Donc c'est pas du tout des probabilités en fait, c'est juste que tu génères peu de salles par rapport à la taille de l'espace

C'est quand même de la probabilité : tu as plus de chance de faire un 6 avec 10 lancé qu'avec 1 seul
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 27/07/2019 23:34 | #


Si en même temps tu connais comment mélanger deux éléments de la seed (comme le 1er et le 2me) et ensuite les retrouver, ça m'intéresserait !

Peux-tu préciser ? Tu peux toujours extraire les deux chiffres avec StrMid(), puis récupérer ce qui est à gauche et à droite et reconstruire une nouvelle chaîne avec une nouvelle valeur si tu y tiens.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 28/07/2019 00:54 | #


En gros, par un calcul, additionner les deux premières valeurs (ou n'importe quel autre calcul) puis par une méthode inverse, les retrouver
Exemple : seeds : 123142
faire 1+2 = 3
Puis trouver que 3 = à 1+2
C'est peut-être impossible, dans ce cas là, ce n'est pas grave
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 28/07/2019 01:14 | #


Additionner c'est pas dur, mais retrouver les opérandes c'est impossible à moins que tu les gardes quelque part !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 28/07/2019 14:31 | #


Je vous annonce que les premiers graphismes (certes un peu moche) sont arrivés !!!
Il vont bien évidemment être améliorés et les idées de chacun ne sont pas de refus

De plus, le chronomètre m'indique entre 4 sec et 10 sec (en fonction des taille des maps) de chargement !
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 28/07/2019 14:34 | #


Nice ! C'est un début. Mais pourquoi tout le monde met les images dans les spoilers ? xD

Ton post principal sert à ça :

[center][img]https://media.giphy.com/media/Mcy0CSc04zvJgBoWrU/giphy.gif[/img]

[img]https://media.giphy.com/media/UuMPrrrkcdHbK8O994/giphy.gif[/img][/center]




Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 28/07/2019 14:51 | # | Fichier joint


Merci
C'est la première fois que j’intègre des images et je n'y arrivai tout simplement pas
Voici (Normalement) le programme avec les graphismes

Ajouté le 30/07/2019 à 14:23 :
Encore de nouveaux graphismes
J'ai un peu plus travailler sur ceux là que sur les anciens, et je crois que ça se voit
j'en suis très fier et les trouve en plus assez fluides !
Je ne joint pas tout de suite car, pour un simple petit ajout, je trouve que ça n'en vaut pas la peine
Lorsque les phases de combats seront jouables et qu'il y aura d'autres petits ajout de plus (que je ne citerai pas pour plus de suspens ), je vous joindrai le fichier pour tester, et peut-être trouver des bug (enfin... si le bénévolat vous intéresse... )
je ne sais pas si l'avancement du projets vous parait assez rapide, n'hésitez pas à me le dire et à me donner des idées si vous le voulez.
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 30/07/2019 14:27 | #


Ah, sympa ! Maintenant on peut voir les salles pour de vrai. Bon courage pour la suite !

Il n'y a pas de trop rapide ou trop lent, chacun va à son rythme. Mon conseil ce serait d'update ton sujet régulièrement même pour des petits ajouts, pour t'assurer qu'il ne devienne pas inactif. Après tu gères comme tu préfères !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 31/07/2019 16:31 | # | Fichier joint


Voyant que je travaillais pas très vite, j'ai décider de faire de l'optimisation et ai réussis à passer de 1624 octets à 1504 (déjà 120 octets et sûrement d'autre encore ) et de n'utiliser que 11 variables (de A à K), toujours 5 listes (5 à 9) et 2 matrices (X et Y)
Je vous envois donc, car je n'ai pas beaucoup avancé , le jeu avec le déplacement dans les salles

Toujours sur le développement des combats qui, même si je ne pense pas difficile, n'a pas avancé

Au faite, j'utilise maintenant BIDE (Super logiciel, Bravo Zezombye )
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 31/07/2019 16:37 | #


Joli gain ! Si tu es avide d'optimisation diverses, il en existe un topic complet. Attention juste à pas rendre ton code illisible
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 31/07/2019 16:38 | #


Si tu partageais ton code on pourrait t'aider encore plus, n'hésite pas à publier ton avancement
ouais ouais
Shadow15510 Hors ligne Administrateur Points: 5499 Défis: 18 Message

Citer : Posté le 31/07/2019 16:38 | #


(et pss le code est déjà partagé en pièce jointe )
"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

Kikoodx Hors ligne Ancien labélisateur Points: 3011 Défis: 11 Message

Citer : Posté le 31/07/2019 16:42 | #


Mince je devrais faire plus attention ^^' Parfait alors
ouais ouais
Filoji Hors ligne Maître du Puzzle Points: 348 Défis: 16 Message

Citer : Posté le 02/08/2019 22:32 | #


Bonsoir,
J'avance toujours sur les combats, à peu près au 2/3 ou 3/4
Travailler toujours que sur un seul programme est un peu fatiguant mais, lorsqu'il fonctionne, on est heureux
Je vais essayer de le finir demain mais je promet rien !
Merci de me soutenir, peut-être que j'en fais trop, mais, je ne pensais pas intéresser quiconque
Gloire au Flying Spaghetti Monster !!!
Lephenixnoir En ligne Administrateur Points: 24219 Défis: 170 Message

Citer : Posté le 03/08/2019 09:52 | #


Aye, nice! Les combats sont comment ? Sur la map ou sur un écran séparé ? Déclenchés aléatoirement (comme les hautes herbes dans Pokémon) ou les ennemis sont sur la map (comme les dresseurs dans Pokémon) ?

Filoji a écrit :
Travailler toujours que sur un seul programme est un peu fatiguant mais, lorsqu'il fonctionne, on est heureux

C'est un super sentiment ! <3
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)

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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 64 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