Posté le 24/06/2022 20:07
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 195 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
Citer : Posté le 24/06/2022 20:13 | #
Le test du générateur : https://gitea.planet-casio.com/mibi88/Builder/src/branch/master/tests/gentest.c .
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 24/06/2022 20:15 | #
Ton lien marche pas (ou alors c'est ma faute mais je clique juste moi).
Mais sinon super idée !
- Java
- Basic Casio
- C
- OCaml
J'ai une Casio Graph 90+E.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein
Remerciemembres
Citer : Posté le 24/06/2022 20:15 | #
Le point s'est fait capturer par l'autolinker, j'ai ajouté un espace
Citer : Posté le 24/06/2022 20:16 | #
Ah là oui !
- Java
- Basic Casio
- C
- OCaml
J'ai une Casio Graph 90+E.
La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Ici, nous avons réuni théorie et pratique :
Rien ne fonctionne... et personne ne sait pourquoi ! »
- Albert Einstein
Remerciemembres
Citer : Posté le 26/06/2022 11:59 | #
J'ai amélioré le générateur de terrain et sa démo :
gentest.c génère un fichier XPM2 et les valeurs pour la génération sont plus équilibrés.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 27/06/2022 21:31 | # | Fichier joint
J'ai commencé à coder le scrolling mais j'ai besoin de l'aide :
TLB miss read
PC :0030069a
TEA :00037e80
TRA :00000000
SGR :8804df60
The add-in crashed.
Please reset the calc
Ci-joint le dossier build-fx pour Lephé' !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 27/06/2022 21:36 | #
Cet accès mémoire a planté : https://gitea.planet-casio.com/mibi88/Builder/src/branch/master/src/main.c#L32
Tu as des warnings dans ton programme ; ils servent à attirer ton attention sur des bugs potentiels. L'un d'eux te pointe directement à la source de bug.
Le cast en (int *) que tu as mis pour résoudre ton erreur n'a fait que la cacher d'une façon très obscure ; je ne suis pas sûr que tu réalises exactement ce que la ligne que tu as écrite veut dire. En tous cas ce cast doit disparaître.
Citer : Posté le 28/06/2022 08:16 | #
Cela fait 6 mois que j'ai pas de calculatrice sous la main mais je fais du C/C++ souvent.
Tous les variables incrémentés avec les boucles for sont définies en int avant, et initialisés a 0 au début de la boucle for.
Je ne vous aucun intérêt a utiliser un pointeur de mémoire, tu veux juste accéder a un élément de la liste dont le contenu est en unsigned short. T peux utiliser sans problèmes à un élément de liste non-int avec une addition d'int.
//simplifié
type = terrain[cy*tx+px];
Citer : Posté le 28/06/2022 09:00 | #
Hello,
pour en discuter, mais globalement ta fonction me semble très complexe en apparence pour un truc finalement simple à la fin :
void mappartdisplaying(int x, int y, unsigned short terrain) {
int firsttile_x = x>>3, firsttile_y = y>>3;
// Revient globalement à firsttile_x = x/8 et firsttile_y = y/8;
int base_x = firsttile_x*8, base_y = firsttile_y*8;
// donc base_x = firstilte_x*8 = x / 8 * 8 = x ??? idem pour base_y ??? non ?!?
int sx = base_x - x, sy = base_y - y, tx = (SCREEN_WIDTH>>3) + 1, ty = (SCREEN_HEIGHT>>3) + 1;
// donc sx = base_x - x = x - x = 0 ??? idem pour sy ???
int cx, cy, px = sx, py = sy;
// perso je préfère ne pas déclarer les variables temporaires de compteur de boucles for en dehors (question de portée de variables)
// je préfère les déclarer dans la boucle for : for (int cx = 0; cx ... );
// comme ça une fois sortie de la boucle, on risque pas d'utiliser la variable pour autre chose
unsigned short type;
for(cy = 0;cy != ty;cy++){
for(cx = 0;cx != tx;cx++){
type = terrain[(int *)(cy*tx+px)];
switch(type){
case 1:
dimage(px, py, &soil_tile);
}
px += 8;
}
py += 8;
px = sx;
}
}
Je pense que tu aurais intérêt à tout bien remettre ton algo à plat et à simplifier au maximum pour avoir qq chose de plus lisible.
N'hésite pas à faire des sorties de variables pour vérifier que les valeurs sont bien celles auxquelles tu t'attends.
Sly
Citer : Posté le 28/06/2022 12:23 | #
Cela fait 6 mois que j'ai pas de calculatrice sous la main mais je fais du C/C++ souvent.
Tous les variables incrémentés avec les boucles for sont définies en int avant, et initialisés a 0 au début de la boucle for.
Je ne vous aucun intérêt a utiliser un pointeur de mémoire, tu veux juste accéder a un élément de la liste dont le contenu est en unsigned short. T peux utiliser sans problèmes à un élément de liste non-int avec une addition d'int.
Tu te doutes bien que si terrain[x] était valide alors terrain[(int *)x] serait invalide, pour des raisons de type. La raison pour laquelle ce cast en int * est là est que terrain[x] est invalide. Le cast force les types dans une situation où l'opération est valide, mais ce n'est pas du tout l'opération qu'il voulait.
Le problème a à voir avec le type de terrain.
Citer : Posté le 28/06/2022 14:26 | #
C'est déjà bon, j'avais déjà corrigé à ma façon !
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 04/07/2022 16:41 | #
int firsttile_x = x>>3, firsttile_y = y>>3;
// Revient globalement à firsttile_x = x/8 et firsttile_y = y/8;
J'ai utilisé
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 04/07/2022 17:25 | #
@SlyVTT :
Non, puisque x>>3 (ou x/8, peu importe) est arrondi vers le bas, donc base_x est le plus grand multiple de 8 plus petit que x (à savoir x - x%8).
sx = -(x % 8)
Citer : Posté le 04/07/2022 20:52 | #
Exact, effectivement, autant pour moi
Heureusement que tu veilles au grain Lephé
Citer : Posté le 05/07/2022 15:01 | #
Les améliorations d'aujourd'hui :
* Le scrolling fonctionne (enfin) !
* Le générateur de terrain génère un terrain propre.
* Ajout des tuiles herbe et acier.
* Meilleure tuile terre.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 06/07/2022 19:43 | #
Pour aujourd'hui :
* Arbres (pas terrible)
* Joueur animé (le pire pixel art au monde)
* Préparation des physics.
* Meilleur tuile bois.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 07/07/2022 15:49 | #
Pour aujourd'hui :
* Le joueur peut tomber et il ne peut plus traverser les murs.
* Sprites croix de sélection et pioche
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 08/07/2022 19:28 | # | Fichier joint
Pour aujourd'hui :
https://gitea.planet-casio.com/mibi88/Builder/releases/tag/v.0.1
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html
Citer : Posté le 08/07/2022 23:41 | #
C'est pas mal de nous faire part ainsi de la progression du projet
Courage !
Citer : Posté le 19/07/2022 12:28 | #
La dernière build est maintenant dans le dossier
Hier j'ai fait un nouvel inventaire et j'ai commencer à ralentir la destruction des blocs.
libMicrofx : https://www.planet-casio.com/Fr/forums/topic17259-2-libmicrofx-remplacez-fxlib-pour-faire-des-add-ins-tres-legers.html !
Racer3D : https://www.planet-casio.com/Fr/programmes/programme4444-1-racer3d-mb88-jeux-add-ins.html