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 » pokemon rouge
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

pokemon rouge

Posté le 12/05/2012 11:55

Bonjour, il y a quelques jours, j'ai retrouvé ma vielle gameboy dans mes affaires avec la cartouche de pokemon rouge et je me suis mis en tête de le programmé sur ma graph 95.
J'ai déjà fait le POKEDEX mais je ne sais pas si le joueur doit être en pixel ou en text et si je dois utiliser des pxl tests lor des déplacements.

PS.Grâce au logiciel photocasio, les graphismes sont tous faits.


1, 2 Suivante
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 12/05/2012 11:58 | #


Tu déjà fait toute la base de données ? Il existe déjà un pokemon (lien) mais il n'y a que 75 pokemon.
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 12/05/2012 13:06 | #


ma base de donnée concernant les pokemons fonctionne comme celà:

1 liste de 151 lignes (151 pokemons) quand il y a 1, c'est qu'on l'a rencontré et quand on a 0 c'est qu'on ne l'as pas encore encontré

Pour les attaques, celà vas être restreint: 4 attaques par pokemon
Et pour les objets il y aura les principaux.
calculatrice graph 95 graph 25
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 12/05/2012 13:13 | #


Sur certaine calculatrice la fonction PxlTest est très lente, moi personnellement j'aurai utilisé la fonction Text pour afficher le personnage, et une matrice pour les collisions.

C'est assez difficile de faire un jeu de Pokemon sur calculatrice, bon courage !
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 12/05/2012 13:19 | #


merci beaucoup


Ajouté le 12/05/2012 à 13:20 :
Smashmaster a écrit :

j\'aurai utilisé la fonction Text pour afficher le personnage, et une matrice pour les collisions.


Qu\'est ce qu\'il faut rentrer dans la matrice

calculatrice graph 95 graph 25
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message

Citer : Posté le 12/05/2012 13:46 | #


Sur Graph 75, 85 v2 et 95, PxlTest est très rapide. J'avais fait le test avec mon ImgSave, c'est sans comparaison à côté de la Graph 100+ !
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 12/05/2012 14:02 | # | Fichier joint


Imaginons une map qui ressemble à ça :
Cliquez pour découvrir
Cliquez pour recouvrir


On peut voir que la map est composée de 10*16 cases, les cases jaunes sont les cases que le personnage ne peut pas traverser (murs, arbres, pnj etc.) et les cases blancs sont les cases où le personnage peut marcher dessus (chemin etc.). On peut donc créer une matrice de taille 10*16 (taille de la map), dans cette matrice on stocke par exemple la valeur 1 si la case n'est pas traversable.


[green]//On utilise dans cette exemple la Mat P
//Le personnage se trouve dans la case [A,B][/green]
Getkey
Ans=27=>Int Mat P[A,B+1]=0=>B+1->B
Ans=38=>Int Mat P[A,B-1]=0=>B+1->B
Ans=37=>Int Mat P[A+1,B]=0=>A+1->A
Ans=28=>Int Mat P[A-1,B]=0=>A-1->A
...
Bien évidemment on n'est pas obligé d'utiliser tout le temps la valeur 1, on peut très bien utiliser par exemple la valeur 2 s'il y a un pnj dans cette case etc.
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 12/05/2012 14:14 | #


mais celà n'est pas simple si ma carte est grande (10villes et une 15ène de routes
calculatrice graph 95 graph 25
Smashmaster Hors ligne Ancien modérateur Points: 4561 Défis: 253 Message

Citer : Posté le 12/05/2012 14:59 | #


C'est vrai qu'avec cette méthode les maps sont plus long à faire et plus lourd, mais il y a des avantages :
=>Dans une matrice on peut par exemple mettre la valeur 0.1 pour dire qu'il y a un buisson à cet endroit, après dans ton programme il suffit juste de mettre
Mat P[A,B]=0.1=>1+Int(6Rand#=3=>Prog"COMBAT"
pour démarrer un combat si le personnage se trouve sur un buisson.

Autre conseil : Je ne sais pas si tu as déjà pensé à utiliser cette astuce, mais utilise le DrawStat pour dessiner les maps, c'est plus rapide que les f-line
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 12/05/2012 17:45 | #


merci mais je ne sais pas si il me restera assez de mémoire
calculatrice graph 95 graph 25
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 12/05/2012 18:04 | #


Si tu as un nombre défini de maps, et si celui-ci est inférieur à 20, tu peux utiliser les pictures, puis les réduire via l'utilitaire de Puro. De cette façon tes graphismes seront instantanés et de moindre poids.

De plus, si je peux te donner un conseil, si tu veux faire un système de matrice pour les maps : utilise les nombres complexes ! J'ai un petit utilitaire de compression/décompression qui permet de faire rentrer 15 matrices... en une seule ! Après, tout dépend la nature des chiffres que tu souhaites stocker !

Sinon, je te conseil aussi de suivre l'avis de Smash' : ne passe pas à côté du Drawstat !

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 !
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 12/05/2012 19:15 | #


c'est bon, j'ai trouvé
je vais vous mettre les progressions

graphismes
   5%

base de donnée
   30%

programme central
   15%

combat
   50%


Pour le scénario, je vais simplifier celui de pokemon versio rouge
calculatrice graph 95 graph 25
Javierxd Hors ligne Membre Points: 1899 Défis: 13 Message

Citer : Posté le 12/05/2012 23:47 | #


Il faudrait que tu fasses les parties une à une, ça va être plus facile
Calculatrices: g35+usb modifiée, PRIZM

My program is not working, I have no idea why.
My program is working, I have no idea why.

Programmes
Cliquer pour enrouler
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 13/05/2012 08:26 | #


oui mais j'ai essayé, il y aura pas assez de mémoire pour une grosse matrice
calculatrice graph 95 graph 25
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 13/05/2012 09:11 | #



Qu'entends-tu par "grosse matrice" ? (Pas de blagues lubriques s'il vous plait... )

De quelle taille souhaites-tu la faire ?

Actuellement, fonctionnes-tu avec des sprites ? Si tel est le cas, ça taille ne devrait pas excéder 4*8 si ce sont des sprites de 16*16 !

Pour info, si tu utilises l'astuce à laquelle j'ai fait allusion plus haut au sujet des nombres complexes, tu peux ainsi stocker 15 maps en 804 octets !


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 !
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 13/05/2012 10:17 | #


Bien sûr que si que l'on y gagne !

Si les variables stockées ne sont que des chiffres entiers (0, 1, 2 , 3, 4, 5, 6, 7, 8, 9), avec les nombres complexes, tu peux faire rentrer 30 de ces variables dans une seule case de matrice !

En revanche, tu as raison, les nombres complexes prennent à peu près deux fois plus de mémoire (pas exactement dans les faits). Du coup, considérons 30/2 soit un gain de 15 !

Diviser par 15 le nombre de matrices ça n'est pas rien...

Tu pourrais me contredire en proposant par exemple de faire 2 matrices contenant seulement des nombres réels mais là encore, faire deux matrices au lieu d'une est plus consommateur de mémoire...

Alors, convaincu ?

Autre avantage à cette technique : les maps ne sont pas "compréhensibles" simplement en explorant les matrices. Un tricheur ne pourra par exemple pas aller regarder la tête qu'a la prochaine map puisque celle-ci comporte des centaines de variables complexes !

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 !
Totoyo Hors ligne Membre d'honneur Points: 16093 Défis: 102 Message
Pacific Hors ligne Membre Points: 337 Défis: 13 Message

Citer : Posté le 13/05/2012 18:01 | #


mais ,on ne peut pas avoir de sprites en basic
a part si je programme en PRGM2
calculatrice graph 95 graph 25
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 13/05/2012 18:31 | #


Si tu peux, mais il faut les convertir en code d'abord (via l'excellent crusher ou photocasio)

Néo : Comment mets-tu 30 nombre dans un case de matrice ?
Ne0tux Hors ligne Membre d'honneur Points: 3524 Défis: 265 Message

Citer : Posté le 13/05/2012 18:55 | #


Pacific a écrit :

mais ,on ne peut pas avoir de sprites en basic
a part si je programme en PRGM2


Bien sûr que si, il y a moyen d'en faire avec le Drawstat, les matrices etc...

Regarde l'exemple de Smash' et imagine faire un dessin suivant la valeur de la matrice...

Par exemple :
1 = arbre
2 = panneau
3 = barrière
4 = coffre

Avec cette technique et pour moins de 30000 octets j'ai réussi à faire 20 maps de 8*16 avec 20 sprites différents de 16*16, avec des graphismes de Final fantasy 1, 2 et 3 !

Ceci dit, tu as raison PRGM2 révolutionnera la programmation en BASIC sur CASIO !

@Cartix : c'est tout bête : imagine un nombre du type 12345678901234+i1234567890.

Ce nombre rentre dans une case de matrice. Si tu décomposes d'un côté la partie imaginaire, de l'autre la partie réelle puis que tu dissocie les puissances de 10 une à une, tu obtiens bien 30 chiffres compris entre 0 et 9 !

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 !
1, 2 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
: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 132 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