Posté le 28/10/2020 14:56
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 99 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 28/10/2020 15:36 | #
Toute cette pub me donne envie d'y jouer !
Bonne chance pour le développement !
Citer : Posté le 28/10/2020 15:52 | #
merci ^^, je me suis lancé a la calculatrice il y a une semaine
mais j'ai déjà codé!
j'ai un jeu fais avec SDL2 en c++ ou c'étais un minecraft (ou minetest ) vu du dessus
on pouvait poser et retirer des blocs et pour stoker la map il y avais une base de donnés SQLite3
j'ai commencé a le refaire mais en ligne avec flask (j'adore flask, j'ai codé mon blog avec (c'est relou quand on dois gérer les les topics) )
mais j'avais la flemme et j'avais commencé mon jeu sur roblox studio ( 120R$ de gainé )
Citer : Posté le 28/10/2020 18:12 | #
C'est vrai que ça a vraiment l'air pas mal.
Mais pour le Morpion, il semblerait que tu te soit fait doubler
Citer : Posté le 28/10/2020 18:22 | #
je sais , je veux te copier , ton add-in marche pas sur graph35+E II
Citer : Posté le 28/10/2020 18:29 | #
Ah !
C'est possible qu'il ne soit pas fonctionnel dessus, en effet.
Tu es sûr qu'avec gint il va marcher ?
Citer : Posté le 28/10/2020 18:38 | #
oui c'est possible (enfin j'espère avec gint )
sinon il y a ta librairie qui est dans ton morpion
Citer : Posté le 28/10/2020 18:39 | #
sinon il y a ta librairie qui est dans ton morpion
?
Je ne comprends pas ...
Citer : Posté le 28/10/2020 19:37 | #
Est ce que tu prévois une version g90 ?
Si oui , pourras t on brancher une calto monocrome avec une g90?
Citer : Posté le 29/10/2020 08:01 | #
OOF , je vais voir mais ma priorité c'est le monochrome!
Citer : Posté le 29/10/2020 09:21 | #
Oui t'inquiète pas
Citer : Posté le 29/10/2020 14:13 | #
mais en effet, si les 2 versions ont le même type/protocole de communication,
ça risque de marcher , sans que j'ai a faire quelque chose
Ajouté le 30/10/2020 à 13:24 :
le jeu avance, je fais le système des animations mais étrangement il affiche plus le joueur,
je redémarre le jeu et j'ai
TAGET=4F22E90F
PC=8008E566
ça signifie quoi?
Citer : Posté le 30/10/2020 13:26 | #
https://www.planet-casio.com/Fr/forums/topic16528-1-comment-dechiffer-un-system-error.html
Citer : Posté le 30/10/2020 13:37 | #
cela explique pas grand chose
Ajouté le 30/10/2020 à 13:42 :
après quelques petits changements le joueur s'affiche, mais pas a la position 0,0, étrange ,
et surtout il est figé.
#include <gint/keyboard.h>
#include <gint/timer.h>
#include <gint/clock.h>
extern bopti_image_t img_player;
typedef struct{
int frame_1;
int frame_2;
int frame_3;
int frame_4;
int frame_5;
} Animation;
typedef struct{
/* Position in map */
int x, y;
/* Direction currently facing */
int dir;// 0: left, 1: right
//int animdata[10][5][2];
Animation anim_walk_left;
Animation anim_walk_right;
/* Animation and frame */
Animation anim_playing;
int twait;
int frame;
int anim;
int status; //1: normal, 2: roket, 3: code manipulation
} Player;
int Animation_get_data(Animation ani,int frame){
switch(frame){
case 0: return ani.frame_1; break;
case 1: return ani.frame_2; break;
case 2: return ani.frame_3; break;
case 3: return ani.frame_4; break;
case 4: return ani.frame_5; break;
}
return 0;
}
Player Player_init(Player plr){
plr.anim_walk_right.frame_1 = 0;// = {0,1,2,3,4};
plr.anim_walk_right.frame_2 = 1;
plr.anim_walk_right.frame_3 = 2;
plr.anim_walk_right.frame_4 = 3;
plr.anim_walk_right.frame_5 = 4;
//plr.anim_walk_left. //= {5,6,7,8,9};
plr.anim_playing = plr.anim_walk_right;
plr.status = 1;
plr.dir = 1;
return plr;
}
Player Player_check_anim(Player plr){
if(plr.status==1){
if(plr.dir==0){plr.anim_playing = plr.anim_walk_left;}
if(plr.dir==1){plr.anim_playing = plr.anim_walk_right;}
}
if(plr.twait == 15){
plr.twait = 0;
plr.frame = plr.frame + 1;
if(plr.frame > 4){
plr.frame = 0;
}
}
plr.twait = plr.twait + 1;
plr.anim = Animation_get_data(plr.anim_playing,plr.frame);
return plr;
}
void Player_print(Player plr){
dsubimage(plr.x, plr.y,&img_player,0,plr.anim*12,11, 11, DIMAGE_NONE);
}
//int opt = GETKEY_DEFAULT & GETKEY_REP_ARROWS;
int select = 1;
int main(void){
extern bopti_image_t img_logo;
extern bopti_image_t img_button;
int playing = 1;
int key = 0;
Player player;
player = Player_init(player);
int opt = GETKEY_DEFAULT & ~GETKEY_REP_ARROWS & GETKEY_MENU;
while(playing==1){
while(key != KEY_SHIFT){
dclear(C_WHITE);
dimage(25, 3, &img_logo);
//dsubimage(40, 40,&img_player,0* 11, 0, 11, 11, DIMAGE_NONE);
if(select==1){dsubimage(35, 33,&img_button,0, 10, 42, 10, DIMAGE_NONE);}
else{dsubimage(35, 33,&img_button,0, 0, 42, 10, DIMAGE_NONE);}
if(select==2){dsubimage(35, 45,&img_button,0, 30, 42, 10, DIMAGE_NONE);}
else{dsubimage(35, 45,&img_button,0, 20, 42, 10, DIMAGE_NONE);}
dupdate();
key = getkey_opt(opt, NULL).key;
if(key == KEY_UP){select=1;}
if(key == KEY_DOWN){select=2;}
}
while(1==1){
dclear(C_WHITE);
player = Player_check_anim(player);
Player_print(player);
dupdate();
key = getkey_opt(opt, NULL).key;
}
}
return 1;
}
Citer : Posté le 30/10/2020 13:45 | #
cela explique pas grand chose
Mais si tu veux comprendre on sera ravis de répondre à tes questions plus en détail.
Citer : Posté le 30/10/2020 14:46 | #
ça parle se seriral write mais pas de mon problème ca me dis pas grand chose sur le déchiffrement des sys error
Citer : Posté le 30/10/2020 14:52 | #
Bon l'information est un peu cachée. PC c'est l'endroit du code où l'erreur s'est produite. Ici c'est dans la ROM donc c'est une fonction de l'OS que ton add-in a appelé. La ligne au-dessus de TARGET contient le message à proprement parler (que tu n'as pas copié). Dans le cas où l'erreur s'est produite lors d'un accès à la mémoire, TARGET indique quelle adresse mémoire a posé problème. La valeur de TARGET que tu as ici est pétée, ça ne représente aucune mémoire valide.
Donc malheureusement tout ça ne te dit pas grand-chose. Construire un exemple minimal t'en dira toujours plus...
Citer : Posté le 30/10/2020 15:23 | #
oui j'ai compris, mais comment savoir qu’es-qu’il y a a cette mémoire?
Citer : Posté le 30/10/2020 15:28 | #
Tu peux désassembler l'OS, mais ensuite il faudrait déterminer un graphe d'appels, bref c'est la merde.
Et cet exemple minimal ?
Citer : Posté le 30/10/2020 15:34 | #
:/ j'y arrive pas, il y a plen de trucks qui marche pas dans mon programme, il y a trop de possibilités,
je vais bientôt changer la structure
mais j'ai une question, on peux programmer avec gint en c++? plus précisément avec la norme c++ 11
si oui comment, il y a une option pour le fxsdk?
Ajouté le 30/10/2020 à 16:23 :
après test le c++ fais des erreurs de compilation
:: Making into build-fx
sh-elf-g++ -c src/main.c -o build-fx/src/main.c.o -mb -ffreestanding -nostdlib -fstrict-volatile-bitfields -Wall -Wextra -Wno-missing-field-initializers -Os -D FX9860G -m3 -I include -MMD -MT build-fx/src/main.c.o -MF build-fx/src/main.c.d -MP
sh-elf-g++ -o build-fx/link.elf build-fx/src/main.c.o build-fx/assets/img/button.png.o build-fx/assets/img/logo.png.o build-fx/assets/img/player.png.o -mb -ffreestanding -nostdlib -fstrict-volatile-bitfields -Wall -Wextra -Wno-missing-field-initializers -Os -D FX9860G -m3 -I include -T fx9860g.ld -lgint-fx -lgint-fx -lgcc -Wl,-Map=build-fx/map
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: build-fx/src/main.c.o: in function `Player_print(Player)':
main.c:(.text+0x150): undefined reference to `dsubimage(int, int, bopti_image_t const*, int, int, int, int, int)'
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: build-fx/src/main.c.o: in function `_main':
main.c:(.text.startup+0x164): undefined reference to `dclear(color_t)'
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: main.c:(.text.startup+0x16c): undefined reference to `dimage(int, int, bopti_image_t const*)'
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: main.c:(.text.startup+0x174): undefined reference to `dsubimage(int, int, bopti_image_t const*, int, int, int, int, int)'
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: main.c:(.text.startup+0x17c): undefined reference to `dupdate()'
/home/pierre/opt/sh-elf-2.32-9.2.0/lib/gcc/sh3eb-elf/9.2.0/../../../../sh3eb-elf/bin/ld: main.c:(.text.startup+0x180): undefined reference to `getkey_opt(int, int volatile*)'
collect2: error: ld returned 1 exit status
make: *** [Makefile:102 : link.g1a] Erreur 1
Citer : Posté le 30/10/2020 16:27 | #
Ah c'est un problème de name mangling. Les en-têtes de gint ne sont pas gardés avec le extern "C", mais tu peux t'en sortir sans trop de difficultés.
#include <gint/keyboard.h>
#include <gint/display.h>
}
Tu peux trouver facilement des infos sur ce problème avec les termes que je t'ai donnés.