Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Aragorn corporation
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Aragorn corporation

Posté le 30/07/2014 17:02

Aragorn Corporation


Les studios Aragorn sont fiers de vous annoncer l'un des projets les plus ambitieux de Planète Casio.

Au programme :
Tabassage de monstre en touts genres
Des graphismes splendides
Un scénario travaillé
Des heures d'aventure
De nombreuses quêtes annexes !


interface in-game :



J'oubliais, le jeu sera disponible en 4 langues : français, anglais, allemand et espagnol !




Jardin de Link :





Précédente 1, 2, 3, 4, 5, 6, 7, 8 Suivante
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 26/08/2014 09:56 | #


Dans ce cas, il faut que tu appeles GetKey() en "injectant" la touche [MENU] avant, ce qui permettra de revenir proprement au menu.
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 26/08/2014 10:01 | #


Merci pour vos réponses, j'aurais une toute dernière question :
Comment savoir si un fichier existe et si non, comment le créer ?

Ah oui, et je n'ai pas bien compris cette ligne de code :
if(Enigmes[5] == 3)

Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Dark storm En ligne Membre d'honneur Points: 11051 Défis: 176 Message

Citer : Posté le 26/08/2014 10:05 | #


C'est ça : pour "injecter" la touche, il y a un syscall : key_inject( key );

Donc on va d'abord déclarer le syscall au début de notre code :
static const int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070}; // on déclare ces registres en global, ça permettra de les réutiliser pour d'autres syscalls, RTC_get_ticks par exemple
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;

void key_inject(int keycode) // on déclare la fonction (tu comprendra le code plus tard :mmm: )
{
    (*SysCall)(keycode, 0, 0, 0, 0x248);
}


On peut alors utiliser le syscall avant un appel du GetKey :
void quitter(void)
{
    int key;

    ... // on sauvegarde, affiche un message, etc.

    key_inject(KEY_CTRL_MENU); // on simule un appui sur la touche MENU
    GetKey(&key); // pour le GetKey, c'est comme si on avait appuyé sur MENU, donc on reviens au menu principal
}


Ajouté le 26/08/2014 à 10:07 :
Pour la ligne de code, c'est un exemple, juste pour montrer comment on accède au tableau : j'en connais qui paniquent à la vue d'un pointeur sur tableau
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 26/08/2014 10:07 | #


C'est juste une ligne d'exemple, ce que tu peux faire. En gros une fois que les données sont chargées, tu peux faire ce que tu veux avec.
Pouir savoir si un fichier existe :
if(memory_exists("\\\\fls0\\FICHIER.ext"))
  // Le fichier existe

Et pour le créer :
memory_createfile("\\\\fls0\\FICHIER.ext",100);

Sachant que le deuxième argument (ici, 100) est la taille du fichier.
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 26/08/2014 10:15 | #


Merci beaucoup à vous deux cette fois j'ai compris.

Dark storm a écrit :
j'en connais qui paniquent à la vue d'un pointeur

en fait je n'en utilise aucun et je ne vois pas à quoi ils peuvent servir
Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Dark storm En ligne Membre d'honneur Points: 11051 Défis: 176 Message

Citer : Posté le 26/08/2014 10:16 | #


char *tableau = NULL;

Est un pointeur

Ajouté le 26/08/2014 à 10:17 :
Ca y est, il va paniquer...
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 26/08/2014 10:17 | #


Les tableaux sont des pointeurs.
T'aurais du suivre le cours d'hier soir ...
1337
Dark storm En ligne Membre d'honneur Points: 11051 Défis: 176 Message

Citer : Posté le 26/08/2014 10:22 | #


Oui, au moins un qui a compris

Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Btl Hors ligne Ancien modérateur Points: 3879 Défis: 107 Message

Citer : Posté le 26/08/2014 11:46 | #


Hahahahaha, ce smiley !

Mais oui Aragorn, au début tout le monde pensait que les pointeurs ne servaient à rien et qu'il fallait mieux les éviter, jusqu'au jour où...
Un excellent tuto video qui vous explique comment transférer des fichiers de l'ordinateur vers la calculatrice et vice versa ma chaine youtube
mes jeux
mes jeux

Jouez à 6 sur une seule calto : Curve Fever
Un die and retry qui vous fera bieeeen rager Test Andropov
un très bon sokoban
le seul vrai jeu de foot en basic : FIFA 12
Ca c'est ce que j'appelle un jeu de reflexion jewel master
Qui vaincra l'intelligence artificielle de cet othello
Le célèbre pacman
Et tant d'autres BTL's games

Le jeu du mois de Novembre et award du jeu le plus dur de l'année 2013 MultiTask, testez-le
Xavier59 Hors ligne Membre de CreativeCalc Points: 1337 Défis: 12 Message

Citer : Posté le 26/08/2014 11:47 | #


A part dans les tableaux, je n'ai pas encore perçu l'utilité des pointeurs pour ma part
1337
Dark storm En ligne Membre d'honneur Points: 11051 Défis: 176 Message

Citer : Posté le 26/08/2014 11:54 | #


Btl a écrit :
jusqu'au jour où...

... on se retrouve avec des tableaux de pointeurs sur structures qui contiennent des structures de tableaux de pointeurs sur tableaux de sprites
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 26/08/2014 11:58 | #


Les pointeurs, c'est le passage par adresse, c'est la copie de données, c'est les tableaux, l'accès direct à la mémoire de stockage, aux registres du proco, la communication via le 3-pin, et j'en passe...
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 26/08/2014 12:03 | #


Raaa !!! Ds deja quavec ton cours de rattrapage hier soir jai failli pas dormir (meme si je pense avoir compris ) avec tes pointeurs sur structures infinis sur va me filer une vrai insomnie
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Silaxe Hors ligne Membre Points: 809 Défis: 12 Message

Citer : Posté le 26/08/2014 13:38 | #


Tu te débrouilles bien en graphisme.
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 27/08/2014 10:57 | #


@Silaxe
Merci beaucoup

@DS
J'ai rencontré quelques erreurs avec les syscalls :
sur cette ligne de code
(*SysCall)(keycode, 0, 0, 0, 0x248);
- Undeclared name "SysCall"
-Pointer required for "*"
-Illegal function call

et sur cette ligne :
GetKey(&key);
- Argument mismatch

Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 27/08/2014 10:58 | #


Vous êtes drôles...
Il nous faut votre code si vous voulez qu'on vous corrige...
Aragorn Hors ligne Membre Points: 807 Défis: 5 Message

Citer : Posté le 27/08/2014 11:03 | #


Excuse-moi , le voilà :
fonctions.c
#include "fxlib.h"
static const int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;

int Stop(); // déclaration de la fonction Stop
... // déclaration des autres fonctions

void key_inject(int keycode)
{
    (*SysCall)(keycode, 0, 0, 0, 0x248);
}
... // autres fonctions

int Stop()
{
int key;
key_inject(KEY_CTRL_MENU);
GetKey(&key);
}

Mes Programmes
Cliquer pour enrouler
The Legend of CASIO - Basic Quest ( Basic )
Notes ( logiciel qui calcule votre moyenne, basic )
Professeur Layton ( jeu d'énigme en C )
Mario & Sonic Rush ( jeu de course 3D en C )
Projets
Cliquer pour enrouler
Zelda Ancestral Relics ( projet en C )
Projets que je soutient
Cliquer pour enrouler
Pokémon jade de Dodormeur
Jetpack Joyride de Drakalex007
Arcuz de Dark Storm
Casion de Az et Darkysun




Un jeu de course en 3D pour calculatrice :
http://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=2773&page=1.
Dark storm En ligne Membre d'honneur Points: 11051 Défis: 176 Message

Citer : Posté le 27/08/2014 11:04 | #


Pour la première erreur, as-tu bien déclaré en global les registres ? Regarde mon tuto sur le temps, j'explique rapidement l'utilisation des syscalls.

Pour la deuxième, je te parie que "key" est du type "int", alors que GetKey() demande un "unsigned int"
Solution : caster le pointeur, ou déclarer key en unsigned int
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 27/08/2014 11:04 | #


Il te manque une ligne à propes des syscalls.
Et la deuxième erreur est simplement due au fait que key doit être un unsigned int.
Cartix Hors ligne Membre Points: 2748 Défis: 98 Message

Citer : Posté le 27/08/2014 11:25 | #


Je pense que la deuxième erreur vient du fait que key doit être un unsigned int
Lephenixnoir En ligne Administrateur Points: 17841 Défis: 142 Message

Citer : Posté le 27/08/2014 11:33 | #


Dark storm a écrit :
Solution : [...] déclarer key en unsigned int

Lephenixnoir a écrit :
[...] key doit être un unsigned int.

Précédente 1, 2, 3, 4, 5, 6, 7, 8 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
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
: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 v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 73 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