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 » Mario in Casioworld
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Mario in Casioworld

Posté le 15/10/2014 13:54

Hola ! Mario n'est-il pas espagnol ?



Je continue le développement de mon Mario :

Le moteur du jeu ressemble beaucoup plus à un mario et est beaucoup plus agréable.
On peut très facilement rajouter ou enlever des types de blocs en rajoutant/enlevant son effet dans un sous programme ;).
Le code est aussi beaucoup moins bordélique, plus clair, plus simple et est en train d'être commenté.


Je passe beaucoup de temps à l'optimiser :

Après plusieurs semaines, je suis passé du premier moteur de jeu qui pesait un nombre incalculable d'octet à un moteur de jeu de 2000 octets environ (incomplet) puis à un autre qui me permettait de ne pas mettre de compilation et qui pesait 1000 octets (incomplet et lent), à encore un autre de 1400 octets (presque complet mais un tout petit peu lent), à un dernier qui ne pèse que 1100 octets en utilisant un peu l'astuce de Lephe sur le GetKey() en C, qui est rapide (je l'ai ralenti) mais qui nécessite une petite décompilation comme le premier et l'avant dernier.


Mais il me reste encore beaucoup de choses à faire :

- programmer tous les blocs différents
- corriger un tout petit souci d'affichage
- créer toutes les maps bien sûr
- refaire le menu (ça c'est presque bon)


Pour participer au développement du jeu


Comme vous l'avez vu dans une RDP et verrez sûrement dans d'autres, je développe un éditeur de niveau rien que pour vous ! (Et pour moi aussi un peu quand même )


J'espère que vous aimerez ce jeu et à la prochaine !


La première version pour les 10 ans de PC

Les anciens posts
Cliquer pour enrouler
Message originel
Cliquer pour enrouler
Salut tout le monde ! Je présente ici mon projet pour le concours :D.
Comme vous l'avez dans le titre c'est un mario. Il sera codé en basic mais il y aura des trucs vraiment cools : le scrolling et la génération complètement customisable ! Mais si je poste le topic, c'est pour demander votre aide.
Pour l'instant ce n'est qu'un tout petit niveau qui sert de test
-Problème :
*Je trouve le jeu trop lent malgré qu'il soit BEAUCOUP plus rapide que mes premières version donc j'aimerai un peu d'aide pour accélérer tout ça
*J'ai un problème lors de la collision avec les pics (codé -2), des fois cela m'affiche syntaxe error. Pourquoi ?
Le code :
//Avant ça il y a le menu et l'affectation des chiffres aux matrices et caractères aux Str mais voici le système général  ;)
0ãXÙ
6ãBÙ
1ãEÙ
1ãFÙ
0ãPÙ
List 20[3]ãNÙ
DoÙ
BãDÙ
B+1ãBÙ
Mat A[B,X+1]>0×DãBÙ
Mat A[B,X+1]=4×BreakÙ
If Mat A[D,X+1]>0Ù
Then F=1×X-1ãXÙ
F=2×X+1ãXÙ
DãBÙ
IfEndÙ
Mat A[B-1,X+1]=3 Or Mat A[B-1,X+1]=2×Prog "+MARIO"Ù
Mat A[B,X+1]=-1×Prog "+MARIO"Ù
Locate 1,1,StrRotate(Str 1,X)Ù
Locate 1,2,StrRotate(Str 2,X)Ù
Locate 1,3,StrRotate(Str 3,X)Ù
Locate 1,4,StrRotate(Str 4,X)Ù
Locate 1,5,StrRotate(Str 5,X)Ù
Locate 1,6,StrRotate(Str 6,X)Ù
Locate 1,7,StrRotate(Str 7,X)Ù
N=1×Locate 5,B,"#E531"Ù
N=2×Locate 5,B,"#E558"Ù
N=3×Locate 5,B,"#E59C"Ù
Locate 1,1,PÙ
Mat A[B,X+1]=-2×BreakÙ
DoÙ
If E=3 And Getkey=78Ù
Then Mat A[B-1,X+1]=0×B-1ãBÙ
Mat A[B-1,X+1]=0×B-1ãBÙ
Mat A[B-1,X+1]=0×B-1ãBÙ
1ãEÙ
IfEndÙ
Getkey=27 Or Getkey=38×BreakÙ
B<1×1ãBÙ
N=1×Locate 5,B,"#E531"Ù
N=2×Locate 5,B,"#E558"Ù
N=3×Locate 5,B,"#E59C"Ù
BÈD×Locate 5,D," "Ù
Locate 1,1,PÙ
Mat A[B,X+1]=-2×BreakÙ
BãDÙ
B+1ãBÙ
Mat A[B,X+1]>0×DãBÙ
Mat A[B-1,X+1]=3×Prog "+MARIO"Ù
B>7×BreakÙ
E=5×3ãEÙ
E=4×5ãEÙ
E=2×4ãEÙ
E=1×2ãEÙ
LpWhile 1Ù
If Getkey=27Ù
Then X+1ãXÙ
1ãFÙ
IfEndÙ
If Getkey=38Ù
Then X-1ãXÙ
2ãFÙ
IfEndÙ
X<0×0ãXÙ
B>7×BreakÙ
Mat A[B,X+1]=4×BreakÙ
Mat A[B,X+1]=-2×BreakÙ
LpWhile 1


Les variables : A et C : coordonnée x du perso
B et D : coordonnée y du perso
X position du Strrotate(
F sert à savoir si le perso vient de la droite ou la gauche
E est la variable d'attente pour pouvoir ressauter

Le logiciel FA124 efface des lignes de code sans raison et cela m'empêche de continuer mon jeu donc j'ai peur de n'avoir que la map de test pour le concours

Une aide de votre part me serai plus qu'agréable si vous le pouvez .

Un énorme merci à Remiweb pour son système de scrolling juste :aaah: (c'est le mot, il est magique ce scrolling)

Remerciement total à ceux qui voudront bien m'aider et ceux qui m'ont déjà aidé

GROSSE MIS A JOUR !! Ajout de 3 nouveaux blocs ainsi que la monnaie et le drapeau de fin. ET SURTOUT Les menus ultra stylé 8)

Second message originel
Cliquer pour enrouler
Ayant fait un code moisi, lent, brouillon,... Enfin pas bien quoi j'ai refait entièrement le jeu (sauf les menus) donc je ne pourrai malheureusement pas présenter le projet tel que je voulais au concours :(. Vous aurez juste la version béta avec un niveau

Mais je peux dorénavant vous présenter le code refait plus rapide plus optimisé, etc, etc

ICI

ATTENTION LE PROGRAMME EN TELECHARGEMENT NE FONCTIONNE PAS POUR CE FAIRE IL FAUT CHANGER LA VALEUR DE LA LISTE 20[2] QUI EST EGALE A ZERO EN 1 ET CECI A CHAQUE FOIS QUE VOUS RESETEREZ CETTE LISTE

Merci de votre compréhension


Mais pour éviter ce problème télécharger le fichier joint

Bonne chance aux autres participants et amusez-vous bien avec mon jeu !

3ème post (ça commence à faire)
Cliquer pour enrouler

Hey !


Bon,depuis le temps ce jeu aurait du être finis ? Maaais mon RPG m'a gavé de la programmation et une personne très importante est entré dans ma vie. Je vais pas vous écrire une histoire non plus.


Bref, tout ça pour dire que je pense à le reprendre et à l'avancer, je ne dis pas que je le finirai mais il y des chances. Car vu que mes soirées sont de moins en moins constructives je ferai mieux de les passer à programmer

C'est tout pour moi ciao les casiofans !


~ [Dernière mise à jour le 02/02/2016] ~


Fichier joint


Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 07/02/2016 14:32 | #


Haha si on peut aller plus vite que l'affichage Str , mais c'est particulier et pas adaptable à ce genre de jeu, mais pour un jeu genre Falldown en scrolling horizontal, tu peux afficher direct avec les "..." et quelques conditions .
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 07/02/2016 17:01 | #


Tu attises ma curiosité Kirafi !
Pourrais tu m'expliquer comment faire ?

Ajouté le 24/02/2016 à 23:31 :
Yop ! Voici quelques nouvelles de l'avancement :
J'ai fait le menu avec les mondes (manques plus que créer les mondes en eux même)
J'ai refait le moteur parce qu'à force de rajouter des trucs c'était plus faisable. J'en ai donc profité pour utiliser l'astuce de Lephe sur le GetKey() en C mais la en basic. J'en suis assez fier et il est vraiment rapide et réactif
J'ai rajouté quelques blocs cools
J'ai réfléchi à d'autres blocs et comment les inclure
Menu pause et écrans de fin (oui oui un s à écran) fini

Compilateur et décompilateur de gueudin fini aussi ! Je détaillerais le fonctionnement prochainement mais il mets 15 secondes de décompilation grand max pour un niveau très rempli et de taille maximale (bon y'a une minute de compilation avant mais bon)

Comme vous le voyez j'avance vraiment bien et je commence à être un minimum fier de sa qualité
Lephenixnoir Hors ligne Administrateur Points: 24229 Défis: 170 Message

Citer : Posté le 25/02/2016 08:54 | #


Matt36230 a écrit :
J'en ai donc profité pour utiliser l'astuce de Lephe sur le GetKey() en C mais la en basic.

Euh, comment t'as fait ça ? Il faut des timers pour exploiter mon astuce, il n'y en a pas en Basic ^^'
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 25/02/2016 09:29 | #


J'ai pas fait tout à fait fait pareil, j'ai mis le getkey dans un for et je sors de la boucle régulièrement pour gérer la physique et afficher.
Lephenixnoir Hors ligne Administrateur Points: 24229 Défis: 170 Message

Citer : Posté le 25/02/2016 10:06 | #


Matt36230 a écrit :
J'ai pas fait tout à fait fait pareil, j'ai mis le getkey dans un for et je sors de la boucle régulièrement pour gérer la physique et afficher.

Ah, je vois, c'est l'astuce pour les animations alors.
(C'est-à-dire que tu perds quand même l'intérêt principal de l'astuce qui est de mettre le processeur en veille, mais si l'interpréteur Basic est ralentit par un Sleep() de toute façon tu ne peux pas faire grand-chose.)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 25/02/2016 10:42 | #


Ouaip et de la physique comme la gravité et les sauts régulière.
En basic y'a pas besoin de mettre le proc en veille non ?

Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 25/02/2016 10:43 | #


De toute façon, vu la vitesse à laquelle il va, il est surement déjà en veille x)
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir Hors ligne Administrateur Points: 24229 Défis: 170 Message

Citer : Posté le 25/02/2016 11:31 | #


Matt36230 a écrit :
En basic y'a pas besoin de mettre le proc en veille non ?

C'est une préoccupation pour tous les programmes en général, mais ce n'est pas possible en Basic

Dark storm a écrit :
De toute façon, vu la vitesse à laquelle il va, il est surement déjà en veille x)

Sauf que s'ils ont mit des Sleep() c'est une attente active.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Eltoredo Hors ligne Modérateur Points: 4301 Défis: 35 Message

Citer : Posté le 29/02/2016 15:58 | #


Au fait, Mario est Italien, pas Espagnol misérable ! Tu oses briser sa légende de cette façon en l'insultant ? Italien, pas Espagnol !
La procrastination est une vertu. (voir ma description pour comprendre mon raisonnement)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 29/02/2016 19:16 | #


OUI j'ose briser la légende

c'était bien sur fait exprès
Ti64CLi Hors ligne Membre Points: 629 Défis: 65 Message

Citer : Posté le 29/03/2016 12:48 | #


Si le projet de faure Mario en C vient à voir le jour, je veux bien y participer
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/03/2016 20:07 | #


Aha il ne se fera pas avec moi en tout cas

Ajouté le 07/05/2016 à 18:10 :
Breaking news !
Le moteur plus les menus sont presques finis (plus que quelques corrections minimes peut-être)
J'ai plus qu'a designer les niveaux et la c'est pas de la tarte et avec le bac, les cpc, la ps4 et tout plein d'autres trucs ca va prendre du temps mais ca va sortir (un jour)

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 101 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