Posté le 14/08/2013 17:12
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 61 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 14/08/2013 17:19 | #
T'inquiète, le SDK de casio ne respecte pas les standards, cette fonction n'existe pas pour le compilateur, il faut utiliser PrintXY(x,y,texte), tu as les fonctions dans la doc du SDK
Citer : Posté le 14/08/2013 18:07 | #
Merci beaucoup, j'aurais pour finir deux questions :
1. pour cette fonction il ne faut inclure aucune librairie ?
2.Pour ce qui est de la déclaration des variables, conditions, et l'utilisation des 5 opérations de bases (+,- , *,/ ,%) ; casio les reconnais ou pas ?
Citer : Posté le 14/08/2013 18:22 | #
1. je n'en sait rien
2. je crois que tout fonctionne à ce niveau là, c'est juste certaines fonctions qui ne sont pas reconnues ou qui sont différentes
Citer : Posté le 14/08/2013 19:26 | #
1) La fonction PrintXY est incluse dans "fxlib.h" qui est automatiquement ajouté à un nouveau projet. Donc non, tant que tu ne créés pas des fichier .c en plus, pas besoin d'inclure fxlib.h.
2) Pour savoir quelles fonctions des libs standards tu peux utiliser, regarde dans la doc fournie avec le SDK. La plupart des fonctions marchent, mais par contre il faut inclure les libs avec #include "abc.h" et non #include <abc.h>.
Pour plus d'infos sur Fxlib, le wiki est très bien fait
Pour les fonctions graphiques, c'est MonochromeLib de PierrotLL qui te sera utile. Attention, la lib contenue dans le lien n'est pas compatible SH4, va voir sur le forum, tu trouvera la même mais SH4
Citer : Posté le 15/08/2013 00:07 | #
Pour les fonctions graphiques, c'est MonochromeLib de PierrotLL qui te sera utile. Attention, la lib contenue dans le lien n'est pas compatible SH4, va voir sur le forum, tu trouvera la même mais SH4
Je peux mettre à jour le fichier, ça sera plus simple pour retrouver la version SH4 de MonochromeLib.
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 15/08/2013 00:41 | #
J'avais proposé a pierrotll par MP de la mettre à jour (surtout que avec ce que j'ai trouvé, il suffit juste de rajouter "const" devant le tableau et ça fonctionne) mais j'ai pas reçu de réponse.
Citer : Posté le 15/08/2013 10:39 | #
Il ne répond plus trop aux MP, il travaille maintenant et à très peu de temps à consacrer à PC. Moi-même, pour recevoir une réponse de sa part, c'est la croix et la bannière
Donc, le mieux est de le mettre à jour sans passer par lui.
Vitesse des fonctions en Basic Casio | 7 days CPC | Casio Universal Wiki | Tutoriel Basic Casio
>>> Give me a click Brother <<< >>> Teste mon générateur de mots nouveaux <<<
>>> Random Youtube Video <<<
Citer : Posté le 15/08/2013 12:10 | #
Merci à tous pour vos réponses. Dernière chose :
Comment on peut afficher le contenu d'un variable ; ou plutôt quel fonction utilisé parce que PrintXY() se limite uniquement a des strings non ? N'y a t'il pas une fonction équivalente pour afficher des int ou des double ?
Edit : A oui et après relecture de la doc je ne vois pas non plus comment on peut stocker un nombre dans une variable :(. Est ce qu'il existe un équivalent de scanf() ?
Désolés encore une fois pour toutes ces questions que je vous pose ; mais la doc manque de clarté.
Citer : Posté le 15/08/2013 13:13 | # | Fichier joint
Tu mets le .c et le .h (en pièce jointe) dans ton projet et tu utilises la fonction PrintV(int)
C'est quelqu'un du forum qui me l'a passé (dodormeur je crois).
Pour les mettre dans ton projet, tu décompresses le .zip et tu mets le .c et le .h dans le dossier de ton projet, ensuite dans le SDK tu clics droit sur "Source Files" (la fenêtre à gauche) et tu fais "Add", tu choisis le .c
Ensuite tu fais la même chose pour le Header juste en dessous
Citer : Posté le 15/08/2013 13:17 | #
Non, je ne connais pas de fonction native pour afficher des varibales, mais ce code transforme un nombre entier (int) en string (avec n le nombre en question):
char str[12] = "0";
if(n)
{
if(n < 0)
{
lenght ++;
str[0] = '-';
n = - n;
}
for(i=n; i; i/=10) lenght++ ;
str[lenght] = 0;
for( ; n; n/=10) str[--lenght] = n%10 + '0';
}
tu peux ensuite créer ta fonction d'affichage avec Print, PrintXY, PrintMini, etc
{
// le code si dessus
locate(x, y);
Print(str);
}
void PrintMiniInt(int x, int y, int n, int mode)
{
// le code si dessus
PrintMini(x, y, str, mode);
}
etc.
Citer : Posté le 15/08/2013 13:32 | #
Merci à tous :). Pour ce qui est de l’affectation d'une valeur à une variable ; comment faire vu que scanf() n'est pas dans la doc officiel. Auriez-vous une fonction équivalente compatible avec les processeurs SH4 ?
Cordialement,
Citer : Posté le 15/08/2013 16:08 | #
Je connais pas de fonction d'input ni de texte, ni de variable...
Du coup, j'ai créé une fonction avec un curseur comme sur les jeux de type GameBoy
Après, je réfléchissais à une fonction où tu déplace un curseur le long de ton nombre avec droite/gauche, et avec haut/bas tu incrémente petit à petit la valeur sélectionnée.
Sinon, tu peux toujours aller fouiller dans les sources d'utilitaires qui ont une bonne fonction d'input.
Citer : Posté le 15/08/2013 16:31 | #
en soi, cela ne doit pas etre tres dur a faire
int inputChiffre()
{
int a;
char key[10]={K_0,K_1,K_2,K_3,K_4,K_5,K_6,K_7,K_8,K_9};
for(a=0;a<10;a++)if(key_down(key[a])){while(key_down(key[a]))Sleep(5);return a;}
return -1;
}
int inputInt()
{
int chiffre;
int result=0;
while(!key_down(K_EXE))
{
chiffre = inputChiffre();
if(chiffre > -1)result = result*10+chiffre;
PrintV(1,1,result);
ML_display_vram();
ML_clear_vram();
Sleep(200);
}
return result;
}
j'ai fait ca en 30 seconde, mais normalement ca marche
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !Citer : Posté le 15/08/2013 20:04 | #
Tu va le pertuber avec les fonctions d'EasyCoding
Et puis tant qu'a faire autant utiliser le GetKey, c'est fait pour
Le problème avec ta fonction, c'est que tu peux pas corriger les chiffres
Un autre truc fait en 2 minutes (ne marche pas avec des négatifs, mais ça se bidouille ) :
int InputInt(int max)
{
int nombre = 0;
unsigned int key;
while(1)
{
PrintInt(5, 4, nombre); // voir la fonction un peu plus haut
Getkey(&key);
switch(key)
{
case KEY_CHAR_0 : if(nombre!=0) nombre *= 10;
break;
case KEY_CHAR_1 : nombre *= 10; nombre += 1;
break;
case KEY_CHAR_2 : nombre *= 10; nombre += 2;
break;
case KEY_CHAR_3 : nombre *= 10; nombre += 3;
break;
case KEY_CHAR_4 : nombre *= 10; nombre += 4;
break;
case KEY_CHAR_5 : nombre *= 10; nombre += 5;
break;
case KEY_CHAR_6 : nombre *= 10; nombre += 6;
break;
case KEY_CHAR_7 : nombre *= 10; nombre += 7;
break;
case KEY_CHAR_8 : nombre *= 10; nombre += 8;
break;
case KEY_CHAR_9 : nombre *= 10; nombre += 9;
break;
case KEY_CHAR_DEL /* vérifier le nom de la touche : KEY_CTRL_DEL ? */ : if(nombre) nombre = (int) nombre/10;
break;
case KEY_CTRL_EXE : return nombre;
default: break;
}
}
}
Citer : Posté le 15/08/2013 20:22 | #
ton code peut etre raccourci
{
int a;
int nombre = 0;
unsigned int key;
int keyCode[] = {KEY_CHAR_0,KEY_CHAR_1,KEY_CHAR_2,KEY_CHAR_3,KEY_CHAR_4,KEY_CHAR_5, KEY_CHAR_6,KEY_CHAR_7,KEY_CHAR_8,KEY_CHAR_9}
while(1)
{
PrintInt(5, 4, nombre); // voir la fonction un peu plus haut
Getkey(&key);
for(a = 0;a<10;a++)if(keyCode[a]==key){nombre*=10;nombre+=a;}
if(key==KEY_CHAR_DEL )nombre = nombre/10;
//meme si nombre = 0, cela ne change rien de le diviser par 10 , et c'est de toute facon un int, inutile de le caster
/* vérifier le nom de la touche : KEY_CTRL_DEL ? */
break;
if(key ==KEY_CTRL_EXE)return nombre;
}
}
}
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2
merci a tout le monde pour son soutien
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm
(dont je connais le nom, mais pas vous )Arcuz !