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 » Problème addin
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Problème addin

Posté le 09/12/2013 13:45

voila, je suis en train de préparer quelques graphisme pour mon prochain jeu et il y a un problème. mon programme peut afficher des lignes mais dès que je mets un GetKeyWait, mon écran est blanc. Comment faire pour que les traits restent pendant que le GetKeyWait fonctionne?

PS, mon programme est en fichier joint

Fichier joint


Précédente 1, 2, 3, 4, 5 ··· 10 ··· 18, 19, 20 Suivante
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 23/12/2013 12:25 | #


désolé dodormeur, j'ai remplacé et le probleme est toujours là.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 23/12/2013 15:19 | #


Fait voir le code corrigé
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 23/12/2013 17:01 | #


j'ai modifié les initialisations, lien
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 23/12/2013 17:18 | #


tu n'as pas tout modifié
    
for(Ytableau=0; Ytableau<2;++Ytableau){
        for(Xtableau=0;Xtableau<5;++Xtableau){
            Xcase+=11;
            if(tableau[Xtableau][Ytableau]>0)
            {
                cartejeuadver(Xcase,Ycase);
            }
        }

Pour parcourir un tableau avec une boucle for, tu doit faire for(i=0; i<tailleTableau;i++);
car i n'attendra pas tailleTableau, et c'est ce qu'il faut vu que les cases du tableaux vont de 0 a tailleTableau-1

Ajouté le 23/12/2013 à 17:19 :
d'ailleurs, ++i et i++ sont differents : for(i=0; i<tailleTableau;i++); le i commencera a 0, alors qu'avec for(i=0; i<tailleTableau;++i); commencera a 1
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 23/12/2013 17:48 | #


ok, c'est fait, et ça marche, merci beaucoup

PS: je mets le programme corrigé lien

Ajouté le 26/12/2013 à 20:43 :
et Comment afficher la valeur d'une variable?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 26/12/2013 21:37 | #


tu doit te faire une fonction d'affichage perso


void PrintV(int x,int y,int nombre)
(
int i;
int taille = 0;
char tableau(10) = ("0");
for(i=nombre;i;i/=10)taille++;
for(i = taille;i;i--,nombre/=10)tableau(i) = nombre%10 +'0';
Print(x,y,tableau);

)


lLe code devrait ressembler a ça
Je l'ai fait a main levée sans tester, mais normalement ca marche
(sur cet ordinateur je n'ai pas accès aux accolades et au truc pour les tableaux, je les ai remplacé par des () )

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 27/12/2013 00:27 | #


Dodormeur a écrit :
... et au truc pour les tableaux

On appelle ces trucs des crochets

Ton code est chelou, je n'ai pas vérifié mais tu n'a pas mis de '\0' pour finir la chaine... Et ce code ne gère pas les négatifs...

J'ai plus de batterie (2%), donc demain je vous mettrais le code de Pierrotll, à 100% fonctionnel
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 27/12/2013 08:33 | #


Le tableau est initialisé, il est donc remplis de \0
Pour les négatifs, il suffit de rajouter une petite condition au début
Mais j'utilise d'habitude la fonction de PierrotLL, mais je n'y ai pas accès maintenant, donc j'ai du faire de tête
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Dark storm Hors ligne Labélisateur Points: 11634 Défis: 176 Message

Citer : Posté le 27/12/2013 12:13 | #


Il est rempli de "0", pas de "\0"
Finir est souvent bien plus difficile que commencer. — Jack Beauregard
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 27/12/2013 13:29 | #


non, il est rempli de 0, ce qui est équivalent a \0

le tableau, après initialisation, sera comme ça : 48,0,0,0,0,0,0,0,0,0 //48 = '0'
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 27/12/2013 18:40 | #


j'y comprend rien au code. je voudrais le modifier mais comme je sais pas comment ça fonctionne, je peux pas.

for(i = taille;i;i--,nombre/=10)

je ne savais pas qu'on pouvait mettre 4 arguments.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 27/12/2013 19:45 | #


Au debut, i = taille. on continue la boucle tant que i, et a chaque tour de boucle, i fait -1 et le nombre est / par 10. Tu peux parfaitement mettre plusieurs initialisations et incrementation, mais elle doivent etre séparée par des ,

Je te commente le code

void PrintV(int x,int y,int nombre)
(
int i;
int taille = 0;
char tableau(10) = ("0");//le tableau qui servira a recueillir le nombre

for(i=nombre;i;i/=10)taille++;//on calcule sa taille

for(i = taille;i;i--,nombre/=10)
tableau(i) = nombre%10 +'0';// on met le premier chiffre dans la case la plus a droite du tableau, et ensuite on fait ça pour tout les chiffres, en reculant d'une case a chaque fois ;)

Print(x,y,tableau);//on affiche

)


Ajouté le 27/12/2013 à 19:49 :
J'ai retrouvé la fonction de PierrotLL
Tu peux l'utiliser tel quelle, elle marche très bien et gère les négatifs

void PrintV(int X,int Y , int  variable)
{
  
    int i, length=0;
    char str[12] = "0";
    if(variable)
    {
        if(variable<0)
        {
            length++;
            str[0] = '-';
            variable = -variable;
        }
        for(i=variable ; i ; i/=10) length++;
        str[length] = 0;
        for( ; variable ; variable/=10) str[--length] = variable%10+'0';
    }
    PrintStr(X,Y,str);
}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 27/12/2013 20:00 | #


elle est dans une lib, cette fonction? sinon, j'inclus quel header pour avoir PrintStr?
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 27/12/2013 20:07 | #


Salut,

Une telle fonction existerai pour les nombres à virgule ? simple curiosité
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 27/12/2013 20:13 | #


Non, c'est pas dans une lib, j'ai juste oublié de changer printstr, qui est une fonction perso remplace la par printMini
Et sinon il y aurait moyen de la rendre compatible pour les nombre a virgule, tout dépend de la précision voulue
Un exemple bourrin et basique pour avoir trois chiffres apres la virgule

void PrintV(int X,int Y , float  nombre)
{
  int variable = nombre*100;
    int i, length=0;
    char str[12] = "0";
if(nombre<0)length = 1;//si il faut afficher le 0 avant la virgule
    if(variable)
    {
        if(variable<0)
        {
            length++;
            str[0] = '-';
            variable = -variable;
        }
        for(i=variable ; i ; i/=10) length++;
        str[length] = 0;
        for( ; variable ; variable/=10)
             {
              if(variable = (int)nombre)
                  {  
                   str[--length] = ','; //si il faut afficher la virgule, on passe la case et on y met la virgule
                  }
              str[--length] = variable%10+'0';
             }
    }
    PrintStr(X,Y,str);
}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 27/12/2013 21:08 | #


merci
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 28/12/2013 13:17 | #


j'aimerais pouvoir utiliser des tableaux de char dans 2 fonctions.

Dans la fonction infocarte() , j'initialise des 3 strings puis je vais chercher les textes dans infomonstre() en utilisant les pointeurs. je sais que les tableaux et les pointeurs c'est spécial quand c'est fusionné donc , ça ne m'étonne pas que le résultat n'est pas celui que je cherche. Y aurait il une autre solution?

lien


Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 28/12/2013 13:26 | #


Il y a une solution plus simple. En effet, quand tu declare un tableau, le nom du tableau est un pointeur vers le debut du tableau


void infocarte(int IDmonstre)
{
    char string1[16];
    char string2[16];
    char string3[16];
    
    string1[0]=0;
    string2[0]=0;
    string3[0]=0;    

    infomonstre(IDmonstre,string1,string2,string3);//on envoye l'adresse des tableauw

    ML_line(57,0,57,64,ML_BLACK);

    PrintMini(59,1,string1,1);
    PrintMini(59,8,string2,1);
    PrintMini(59,15,string3,1);

    PrintMini(59,57,"ATK: 3000",1);

    ML_display_vram();
}

void infomonstre(int IDmonstre,char* str1, char *str2, char *str3)//on recoit l'adresse des tableaux
{
    [green]/*char string1[16];
    char string2[16];
    char string3[16];

    string1[0]=0;
    string2[0]=0;
    string3[0]=0;*/[/green]

    strcat(str1,"salut");//on peut juste faire ca, cela marchera vu que l'on a les tableaux
    strcat(str2,"salut");
    strcat(str3,"salut");
    [green]/*
    *str1 = string1;
    *str2 = string2;
    *str3 = string3;*/[/green]//ce code la n'aurait pas marcher de toute facon, il aurait fallu faire soit memcpy (je te laisser googler ca ;)) soit faire for(i = 0;i<16;i++)str1[i] = string1[i];

}

Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 28/12/2013 13:33 | #


Dodormeur a écrit :
En effet, quand tu declare un tableau, le nom du tableau est un pointeur vers le debut du tableau


En fait, un tableau, c'est juste un pointeur qui pointe le debut du tableau qui est remplie de variable. c'est ça?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 28/12/2013 13:43 | #


Globalement, oui.
Quand tu déclare un tableau, la mémoire te libère la place demandée, la rempli des variables demandée a l’initialisation, et le nom du tableau devient un pointeur vers le début de cette zone. Et quand tu fait tableau[0], cela revient a faire *tableau, et tableau[1] revient a faire *(tableau+1). C'est pour cela que quand tu dépasse les limites du tableau, tu peux soit avoir des valeurs fantaisistes, soit modifier d'autres variables, soit même modifier l'OS de la calto (mais dans ce cas la une erreur system survient normalement).
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
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

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
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 !
Intelligide Hors ligne Membre de CreativeCalc Points: 49 Défis: 5 Message

Citer : Posté le 30/12/2013 12:07 | #


Encore un problème, mon programme affiche une carte à son lancement(bizarre le tableau est à 0) mais quand je place le curseur sur la carte, ça fait comme s'il n'y a pas de carte(aucune infos sur le coté)

lien



Ajouté le 30/12/2013 à 19:21 :
et comment on génére un nombre aléatoire?
Précédente 1, 2, 3, 4, 5 ··· 10 ··· 18, 19, 20 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 41 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