Vu la multitude de topics sur le SDK de la 85, j'ai décidé d'en faire un seul et unique, où l'on posera nos problèmes et explications sur ce même topic, et non pas sur 50, par souci de clareté et de facilité.
Des nouveautés ? Des problèmes ? Des idées ?
Exposez les ici !
Voici une liste de commandes commencées par Muelsaco. N'hésitez pas à rajouter vos commandes dans le topic je les rajouterai pour en faire profiter tout le monde. Merci.
Locate X,Y,"Texte" locate(X,Y);
Print("Texte");
Text X,Y,"Texte" PrintXY(X,Y,"Texte",couleur) //couleur=0 pour texte noir, fond blanc et inversement pour couleur=1
F-Line X1,Y1,X2,Y2 Bdisp_DrawLineVRAM(X1,Y1,X2,Y2)
Bdisp_ClearLineVRAM(X1,Y1,X2,Y2) efface une ligne (donc trace une ligne blanche).
Bdisp_AllClr_DDVRAM(); Permet d'effacer l'écran (et la VRAM, mémoire temporaire).
Bdisp_PutDisp_DD(); Fonction TRES importante Elle permet de d'afficher une image tracé virtuellement dans la VRAM. Toute image doit d'abord être dessinée dans la VRAM. Vous ne verez donc pas votre image s'afficher si vous ne faite pas çà. A noter que les commandes GetKey ont cette fonction intégrée, c'est pour çà que l'on voit quelque chose lorsqu'on l'execute.
While expr
cmd
WhileEnd while(expr){
cmd;
}
StoPict X SaveDisp(X); //X = SAVEDISP_PAGE1 ou SAVEDISP_PAGE2 ou SAVEDISP_PAGE3
RclPict X RestoreDisp(X);
PopUpWin(taile de la fenetre); permet d'ouvrir une fenetre du meme style que la fenetre qui s'affiche lors des syn error. La taille de la fenetre doit etre de 1 a 8 apres ca sort de l'ecran.
PrintMini( 32,56,sat,MINI_OR); écrit en mode graphique et en petit. MINI_REV permet de surligner l'écriture.
voui mais j'aime bien faire compliquer lol non mais j'ai pas besoins de beaucoup vitesse donc ca va aller
et mici pour le bug ouai j’avoue que j'ai été un peu bête sur le coup... mais ca doit être parce que j'ai testé plein de truc. Mais... c'est pas ca le problème... Ca me saoul cette histoire avec les matrices...
j'ai réussi à montrer ce bug plus explicitement :
int tab[18][10];
int a,b;
while(1)
{
for(a=0;a18;a++)
{
for(b=0;b10;b++)
{
tab[a][b]=a;
}
}
}
return 1;
je regarde les valeurs en sortie du tableau : 0 pour toutes les cases...
----------------------------------
Les invaders reviennent pour détruire l'humanité ! Cliquez pour la sauver
Quoi de mieux que diriger un vaisseau avec EXE en math ? Sfcave
bravo mais ca voulait dire que mon code marchait ??? :o parceque ton code pour mettre les valeurs dans le tableau ressemble quand même vachement au mien :/
----------------------------------
Les invaders reviennent pour détruire l'humanité ! Cliquez pour la sauver
Quoi de mieux que diriger un vaisseau avec EXE en math ? Sfcave
Oui oui, c'est la même chose.
Avec ton code, j'imagine que tu regardais les valeurs avec le débugger du SDK. Saches que les valeurs des variables n'y sont pas toujours affichées en temps réel. Par exemple une variable qui n'est utilisée qu'à la fin de la fonction ne va avoir une valeur qu'à ce moment là, même si elle est initialisée au début de la fonction.
int Rand(int lower, int upper)
{
static int a = 123456789;
static int b = 362436069;
static int c = 521288629;
static int d = 88675123;
int t;
t = a ^ (a << 11);
a = b;
b = c;
c = d;
return (d = d ^ (d >> 19) ^ (t ^ (t >> 8 )))%upper + lower;
}
Afficher le contenu d'une variable :
char affichage[10];
int nombre;
sprintf(affichage,"Exemple : %d",nombre);
// la chaine de caractère contient ensuite la variable à afficher
La génération de nombre aléatoire peut se faire avec la fonction standard rand (et srand pour l'initialisation). On peut initialiser srand avec la valeur de retour du syscall RTC_GetTicks.
Pour écrire un nombre dans une chaine de caractère, ça m'étonne que ça pose des problèmes à autant de monde. Je l'avais notamment expliqué en détail ici.
Je vous déconseille d'utiliser sprintf si c'est juste pour écrire un entier, cette fonction est très très lourde, et alourdit votre exécutable de 7ko si vous l'utilisez.
Click droit copier l'adresse du lien
on obtient ceci : http://www.planet-casio.com/Fr/forums/www.planet-casio.com/Fr/forums/lecture_sujet.php?id=10076&page=5#64994
après, c'est facile de trouvé l'erreur qu'a fait Pierrotll
Bref, voici le vrai lien : http://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=10076&page=5#64994
Lien corrigé, j'avais oublié le http.
L'opérateur /= c'est "divisé égal".
n/=10 est équivalent à n=n/10
ça existe pour tous les opérateurs, n+=2 signifie n=n+2.
EDIT: Grillé -_-
Pour la peine je rajoute que tu n'as pas mentionné |=, &=, ~= ni ^=
Dans ta fonction il signale une erreur: tu veux passer un char sur un const unsigned char à Print().
J'ai essayé le passage de force mais il veut vraiment pas le mettre en const...
----------------------------------
Dieu créa l'homme, l'homme créa la calculatrice... Qui est le prochain ? 42
Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd