Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Autres questions


Index du Forum » Autres questions » apprentissage du C
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

apprentissage du C

Posté le 21/04/2014 18:14

J'ai décidé d'apprendre le C par ci par là pendant mon temps libre
la je débute avec le SDK mais je ne comprends pas pourquoi le passage suivant est incorrect
    while(1){
locate(5,1);
     Print((unsigned char*)GetKey(&key));
        GetKey(&key);
    }

autre chose : les espaces ne semblent pas importants (contrairement à python) alors pourquoi il y en a t-il partout dans chaque nouvel add-in ????


Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 Suivante
Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 21:25 | #


Parce que les define ne sont pas faits pour définir la compilation des fonctions.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Theprog Hors ligne Membre Points: 1447 Défis: 20 Message

Citer : Posté le 24/05/2014 21:47 | #


Au fait, si tu double clique sur la ligne d'erreur que le sdk te renvoie, il va t'ouvrir l'endroit ou elle se trouve.
Mais normalement t'en a pas besoin si t'as un bon éditeur
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 24/05/2014 21:59 | #


bah j'ai le SDK quoi je peux avoir d'autres éditeur ?
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 22:00 | #


Le SDK compile les fichiers, mais beaucoup utilisent d'autres éditeurs comme Notepad++, en complément.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 24/05/2014 22:32 | #


code::blocs est dispo ?
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 22:40 | #


Oui. Tant que tu édites bien les sources du projet, tout éditeur est correct.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 24/05/2014 22:47 | #


? c'est à dire ? en clair il faut juste que je tape mon code dans code::blocs mais que je l'enregistre dans mon dossier et en le remplacant par le g1a d'origine et le tour est joué ?
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 24/05/2014 22:56 | #


Mais non !
C'est le SDK qui compile, mais il compiles les .c. Donc tu peux éditer les .c avec n'importe quoi: Bloc-notes, SDK, Dev-Cpp, Code::Blocks, Notepad++,... tant que tu reviens ensuite au SDK pour compiler et émuler.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Drac0300 Hors ligne Membre Points: 839 Défis: 39 Message

Citer : Posté le 24/05/2014 23:00 | #


Pour utiliser un autre éditeur, tu crées ton projet avec le SDK, ensuite tu utilises ton éditeur (comme celui de code::blocks) pour éditer le code (ce qui te permet une coloration du code ) et finalement, tu compiles avec le SDK (en oubliant pas d'inclure les fichiers que tu as créé autrement qu'avec le SDK dans ton projet (avec l'onglet projet)).

Ajouté le 24/05/2014 à 23:02 :
Grillé...
Dans Z/1Z, 42==666
Coïncidence ? Je ne pense pas.
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 25/05/2014 13:16 | #


ok merci
décidément je n'arriverais jamais à faire mon test....:oops:
pourquoi ca ne marche pas !!!!!!!! cette fois le compilo dit que tout va bien mais je ne peux pas le lancer : une fois sur le menu, je vais sur mon addin mais ca le lance pas

voici le code
Cliquer pour enrouler
/*****************************************************************/
/*                                                               */
/*   CASIO fx-9860G SDK Library                                  */
/*                                                               */
/*   File name : [ProjectName].c                                 */
/*                                                               */
/*   Copyright (c) 2006 CASIO COMPUTER CO., LTD.                 */
/*                                                               */
/*****************************************************************/
#include "fxlib.h"
#include "MonochromeLib.h"


//****************************************************************************
//  AddIn_main (Sample program main function)
//
//  param   :   isAppli   : 1 = This application is launched by MAIN MENU.
//                        : 0 = This application is launched by a strip in eACT application.
//
//              OptionNum : Strip number (0~3)
//                         (This parameter is only used when isAppli parameter is 0.)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int AddIn_main(int isAppli, unsigned short OptionNum)
{
   unsigned int key;
    int hauteur=30, horizon=50,score=0;
   Bdisp_AllClr_DDVRAM();
   while(1){
    ML_Color couleur_bas_droite;
    ML_Color couleur_haut_droite;
    couleur_bas_droite=ML_pixel_test(horizon+2,hauteur+2);
    couleur_haut_droite=ML_pixel_test(horizon+2,hauteur-2);
    if(IsKeyDown(KEY_CTRL_UP)&& hauteur>1) hauteur--;
    if(IsKeyDown(KEY_CTRL_DOWN) && hauteur<63) hauteur++;
    horizon++;
    if(IsKeyDown(KEY_CTRL_MENU)) break;
    if(couleur_haut_droite==1 ||  couleur_bas_droite==1) break;
    score++;
    ML_clear_vram();
    ML_line(70,1,70,30,1);
    ML_line(70,40,70,63,1);
    ML_line(90,1,90,40,1);
    ML_line(90,50,90,63,1);
    ML_horizontal_scroll(1),
    ML_point (horizon,hauteur,3,ML_BLACK);
    ML_display_vram();
}
     return score;
}



//****************************************************************************
//**************                                              ****************
//**************                 Notice!                      ****************
//**************                                              ****************
//**************  Please do not change the following source.  ****************
//**************                                              ****************
//****************************************************************************


#pragma section _BR_Size
unsigned long BR_Size;
#pragma section


#pragma section _TOP

//****************************************************************************
//  InitializeSystem
//
//  param   :   isAppli   : 1 = Application / 0 = eActivity
//              OptionNum : Option Number (only eActivity)
//
//  retval  :   1 = No error / 0 = Error
//
//****************************************************************************
int InitializeSystem(int isAppli, unsigned short OptionNum)
{
    return INIT_ADDIN_APPLICATION(isAppli, OptionNum);
}

#pragma section

et sinon pourquoi ya tout ca de commentaire ? on peux pas les virer ? c'est inutile
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 25/05/2014 13:20 | #


Les commentaires par définition, tu peux les virer.
Après, tu ne crois pas que la VRAM est effacée un peu vite après avoir été affichée ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 25/05/2014 13:25 | #


bah euh oui mais c'est sensé afficher quand même le carré non ? je teste en mettant un for pour ralentir
2eme question : est-il possible de définir les décors avant la boucle et de ne pas les ré-afficher à chaque scroll ?

Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 25/05/2014 13:27 | #


Alors, n'essaie même pas les for, je te rappelle qu'on est en C là. Mets plutôt Sleep(2000) (argument en ms).
Ensuite, si tu ne veux afficher les décors qu'une fois:
// Affichage des decors
SaveDisp(1);
while(1)
{
  RestoreDisp(1);
  // Traitement des evenements
}

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 25/05/2014 13:34 | #


ok
en fait j'ai mis while ralenti<150000
c'était pasque je perdais direct
sinon pourquoi ca c'est le point qui bouge et pas les décors avec le horizontal scroll(1) ???
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 25/05/2014 13:35 | #


Aucune idée
Je ne me sers pas de ML.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 25/05/2014 14:31 | #


DS je te demande ca pasque tu m'as l'aire de l'utiliser dans MS2...
Pourquoi est-ce que quand je fait ML_horizontal_scroll ca ne bouge que le carré et pas les décors et comment fais tu pour faire ce que j'ai dit dans MS ? (je suis pas arrivé à émuler ton addin )
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 25/05/2014 14:35 | #


En gros, dans mon addin, j'ai une trentaine de pictures que j'affiche dynamiquement : si la distance à l'orgine est de 325px, alors j'affiche à -325%128 la picture 2, et à 325%128 la picture 3
Enfin, c'est sans doute plus les bonnes formules, mais le principe reste le même.

Je n'utilise en aucun cas ML_horizontal_scroll()
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Darkysun Hors ligne Membre Points: 1747 Défis: 52 Message

Citer : Posté le 25/05/2014 14:36 | #


mais il me semblait que yavait que 3 savedisp
Si je ne réponds pas à un post depuis trop longtemps : envoyez-moi un message pour me le rappeler !




Lephenixnoir Hors ligne Administrateur Points: 24235 Défis: 170 Message

Citer : Posté le 25/05/2014 14:39 | #


Ce sont des images en dur, stockées dans des tableaux d'unsigned char.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 25/05/2014 14:49 | #


Au pire regarde les sources, ça doit être un minimum commenté
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 25/05/2014 14:52 | #


unsigned char[]={0x00, 0x23, 0x4R ,0xA5 ,0xF1 }


c'est une image
Précédente 1, 2, 3, 4, 5, 6, 7, 8, 9 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
: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 v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 57 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