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.
Menu
Calculatrices
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC
Liens
¤ Transférer un programme sur
sa calculatrice

¤ Vous cherchez une fonction ?
Jeux >> Graph 35+USB/75(+E)/85/95 SD >> Add-ins >> Essai
Essai
Version : 0 Taille : 23000 octets Ajouté le : 2018-08-03 14:07 Modifié le : 2018-09-09 17:51
Auteur et posteur :
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Planète Casio - Add-in Casio - Essai - shadow15510 - Calculatrices
Nombre de visites sur cette page : 5590
Score au progrank : 32
Pas encore de note !
Vous devez être connecté(e) pour noter (inscription).
754 téléchargements | Soumettre un test


A cause du changement de processeur des nouvelles Graph 35+ USB, 75 et 95 SD, de nombreux addins sont incompatibles avec ces calculatrices.
Rendre un addin compatible - Plus d'informations sur ce problème - Liste des addins compatibles

Description :

Mon premier jet en C... Ce n'est pas brillant mais faut ben commencer...
On peut juste bouger le personnage à l'aide des flèches. Les collisions sont gérée et je travaille sur "comment rentrer dans la petite maisons ??"
L'arbre est issu d'une banque de sprite que j'ai trouvé sur ce site. Et la maisons est constituées de tileset que j'ai faite grâce à un tuto (sur ce site également)
Le premier fichier (*.g1a) est le "jeu" le deuxième correspond au sources.

Mon personnage est animé lors des déplacements

Améliorations à venir
peut-être...

-Possibilité d'entrer dans le bâtiment.⇒Fait
-Gestion de la course par la pression d'une touche du Replay et de Shift.
-gestion de l'intérieur du bâtiment
-nouveau style de maisons en brique
-système d'énigme, interrupteur, histoire,...
-armes, et système de combat
-map plus évoluées : herbes, cailloux, d'autres arbres et artéfacts


Commentaires :

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8 | Suivante

Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 30-08-2018 à 09:50 | #
Je pense que c'est ok, j'ai mis à jour les sources et le g1a.
J'ai réussi à appeler une seule fois la fonction draw et tout nettoyé
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 30-08-2018 à 14:49 | #
Ah, c'est bien ! Je continue...

map_draw() devrait appeler ML_display_vram(). Sinon, comment ce qui est dessiné pourrait-il être visible à l'écran ? (Hint : c'est GetKey() qui affiche la VRAM à l'écran, tu peux "compter dessus" si tu veux et ne pas appler ML_display_vram() toi-même, mais du coup si tu n'appelles pas GetKey() on ne verra rien. Je ne conseille pas.)

Et supprime-moi (ou déplace, bref) ces lignes de dessin qui n'ont rien à faire là puisqu'on n'est pas dans la fonction map_draw() !

ML_clear_vram();
ML_bmp_or(joueurDo1,54,22,20,20);
map_draw(x,y);
ML_display_vram();

Maintenant que dirais-tu de stocker ta map dans un double tableau (une matrice) pour ne pas avoir à hardcoder les coordonnées dans map_test() et le case KEY_CTRL_ALPHA ?

/* Une map de 4*4 avec des murs */
int map[4][4] = {
  { 1, 1, 1, 1 },
  { 1, 0, 0, 1 },
  { 1, 0, 0, 1 },
  { 1, 1, 1, 1 },
};
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 31-08-2018 à 18:07 | #
Je ne comprends pas trop le deuxième point avec la matrice...
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 31-08-2018 à 18:26 | #
Eh bien actuellement tu as « hardcodé » les maps dans le code, c'est-à-dire que tes fonctions ne marchent que pour deux maps précises. Pour changer les maps, tu dois changer le code.

On peut faire beaucoup mieux. On peut écrire un code qui marche avec toutes les maps, et ensuite changer juste la map. Tu as d'un côté le code universel, de l'autre les données de la map. Quand tu veux faire des modifications, seules les données ont besoin d'être modifiées. C'est indispensable si tu veux avoir un jeu correct.

Et donc, je te propose de mettre les données de la map dans une matrice et d'écrire des fonctions universelles pour gérer la map, qui au lieu d'hardcoder (ie. de mentionner explicitement) la position des murs, des warps, etc. vont les lire dans la matrice.
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 31-08-2018 à 19:50 | #
C'est pas bête du tout mais je ne sais pas faire ça...
LephenixnoirHors ligneAdministrateurPoints: 24229 Défis: 170 Message
Posté le 31-08-2018 à 20:14 | #
C'est pas très difficile ; si tu veux savoir si la case (x,y) est occupée tu regardes si map[y][x] vaut 1. Ça par exemple tu peux le faire dans map_test().

En première approche, ne te préoccupe pas de ALPHA, essaie juste de voir si tu peux détecter les obstacles comme ça. Du coup...

1. Tu crées la matrice de la map
2. Tu garde en mémoire un x et un y qui vont de 1 en 1 (comme les cases du tableau)
3. Tu testes la présence d'obstacles en lisant la matrice

Est-ce que ça t'aide ? Beaucoup plus de détails sont donnés sur ce topic.
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 01-09-2018 à 14:36 | #
ok...J'essaierais de voir ça
Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 09-09-2018 à 14:52 | #
J'ai compris le principe, mais je ne sais pas le mettre en place... Il faut que je créer un matrice, ok... Ensuite je met dans la matrice toutes les cases de ma map... mais c'est pas forcément régulier : mon perso de déplace de 8 en 8 mais mes tiles font 16 par 16 et certains sprites carrément autre choses...
Math680Hors ligneMembrePoints: 455 Défis: 5 Message
Posté le 09-09-2018 à 14:54 | #
sa marche que sur monochrome ou pas ?

Shadow15510Hors ligneAdministrateurPoints: 5500 Défis: 18 Message
Posté le 09-09-2018 à 14:54 | #
Ben... ça marche avec ma 35 tweakée
C'est juste un essai hein

Pages: Précédente | 1, 2, 3, 4, 5, 6, 7, 8 | Suivante

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 81 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