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, 6 ··· 10 ··· 18, 19, 20 Suivante
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?
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 30/12/2013 19:51 | #


Pour ta première question, je ne peux tester le code, et a première vue je ne vois pas d'ou viens l'erreur.
Pour les nombres aléatoires, tu doit initialiser srand() avec une fonction get_ticks. et quand tu veux avoir un nombre aleatoire, tu fait rand()%max pour avoir un nombre compris entre 0 et max-1 (compris).



#define SCA 0xD201D002
#define SCB 0x422B0009
#define SCE 0x80010070
  

const unsigned int sc003b[] = {SCA, SCB, SCE, 0x3B};
  
#define RTC_GetTicks (*(sc_iv)sc003b)

  
  
int time_getTicks()
{
    return RTC_GetTicks();
}

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 20:03 | #


comment on fait ça? parce que la je suis complètement perdu avec le code que tu mas donné
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

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


Cherche pas, c'est un syscall (moi non plus je ne le comprends pas, mais quand tu appelle la fonction time_getTicks(), cela te donne le temps qui s'est écoulé en ticks (1/128eme de seconde) depuis minuit (selon le processeur, donc rarement a l'heure)
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 21:25 | #


Je l'ai mis dans un .c puis j'ai fais
srand(time_getTicks());
Aléatoire =rand()%40;

Aleatoire est un int.

Le compileur mindique qu il y a des problèmes
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 30/12/2013 21:25 | #


Il te met quoi comme erreur?
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 31/12/2013 10:02 | #


C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\get_tick.c(15) : C2225 (E) Undeclared name "sc_iv"
C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\get_tick.c(15) : C2208 (E) Pointer required for "*"
C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\get_tick.c(15) : C2500 (E) Illegal token "sc003b"


Ajouté le 31/12/2013 à 10:03 :
get ticks.c, c'est là où j'ai mis le code.
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 31/12/2013 10:07 | #


J'avais oublié un machin, voila le code complet

#define SCA 0xD201D002
#define SCB 0x422B0009
#define SCE 0x80010070
  
typedef int(*sc_i2cp2sip) (char*, char*, short int*, short int*);
typedef int(*sc_iv) (void);
typedef int(*sc_4i) (int, int, int);
  
const unsigned int sc003b[] = {SCA, SCB, SCE, 0x3B};
const unsigned int sc0015[] = {SCA, SCB, SCE, 0x15};
const unsigned int sc0248[] = {SCA, SCB, SCE, 0x248};
  
#define RTC_GetTicks (*(sc_iv)sc003b)
#define PutKey (*(sc_4i)sc0248)
#define GlibGetOSVersionInfo (*(sc_i2cp2sip)sc0015)
  
int OSVersionAsInt(void)
{
    unsigned char mainversion;
    unsigned char minorversion;
    unsigned short release;
    unsigned short build;
    GlibGetOSVersionInfo( &mainversion, &minorversion, &release, &build );
    return ( ( mainversion << 24 ) & 0xFF000000 ) | ( ( minorversion << 16 ) & 0x00FF0000 ) | ( release & 0x0000FFFF );
}
#define isOS2 (OSVersionAsInt() >= 0x02020000)
#define OS2(x,y) ((OSVersionAsInt() >= 0x02020000)?y:x)
static int SysCallCode[] = {0xD201422B,0x60F20000,0x80010070};
static int (*SysCall)( int R4, int R5, int R6, int R7, int FNo ) = (void*)&SysCallCode;
  
  
int time_getTicks()
{
    return RTC_GetTicks();
}

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 31/12/2013 10:17 | #


void initialisationmain(int *main[8], int *deck[41][2]){
    int autre=0;
    int main2=0;
    int boucle=0;

    srand(time_getTicks());

    while(main2<6){

        while(deck[autre][1]==1){

            autre=rand()%40;
        }

        main[main2] =deck[autre][0];
        [red]deck[autre][1] = 1;[/red]
        main2+=1;
        autre=0;
    }
}


j'arrive pas à modifier le tableau deck. pourquoi?

Ajouté le 31/12/2013 à 10:18 :
ça me met cet erreur

C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\systemdeux.c(182) : C2222 (E) Type not compatible for "="
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 31/12/2013 10:38 | #


Personnellement, quand je passe un tableau en argument, je met
void initialisationmain(int *main, int *deck)
,
je ne savais même pas que l'on pouvait mettre
void initialisationmain(int *main[8], int *deck[41][2])

Je pense que le compilateur ignore le fait que tu mettes la taille des tableaux en argument, et du coup cela ne change rien.
Le compilateur "émule" les tableaux a deux dimensions, et quand tu utilise un tableau a deux dimension hors de la zone ou il a été déclaré, le compilo ne sait plus quoi faire
La solution pour éviter ce problème est de faire
deck[autre+1*tailleXTableau] = 1;

en remplaçant tailleXTableau par la taille de la première colonne du tableau
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 31/12/2013 10:41 | #


quand je met pas les taille des tableaux en argument il me met

C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\systemdeux.c(176) : C2233 (E) Illegal array reference
C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\systemdeux.c(181) : C2233 (E) Illegal array reference
C:\Users\Yoann\Documents\CASIO\fx-9860G SDK\yugioh plateau\systemdeux.c(182) : C2233 (E) Illegal array reference
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 31/12/2013 10:44 | #


fait voir un peu la fonction ou se trouve l'erreur
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 31/12/2013 10:47 | #


non, c'est bon, tous est régle.

encore un truc, j'ai un tableau [41][2]
je dois faire
deck[autre+1*41] = 1; ou deck[autre+0*41] = 1;

pour faire deck[autre][0]=1;
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 31/12/2013 10:52 | #


deck[nombrePremiereCase+nombreDeuxiemeCase*taillePremiereCase] = 1;
Donc dans ton cas, deck[autre+0*41] = 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 !
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 31/12/2013 11:18 | #


Pour en revenir à l'erreur précédente, deck est un tableau de pointeurs... (int *deck[41][2])
Si tu veux un pointeur sur un tableau, la fonction doit avoir comme argument int *deck
Si tu veut un tableau, l'argument doit être int deck[41][2]

Ajouté le 31/12/2013 à 11:22 :
En fait, faire deck[a] est égal à faire deck[a*41+b]
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 31/12/2013 21:54 | #


il y a un probleme entre vos 2 affirmations.
pour un tableau[41][2], avec Dodormeur ça donne tableau[a+2*41]

et avec dark storm, ça donne [a*41+2], ce qui n'est pas la même chose

je sais pas si j'explique bien donc Dark Storm dit
tableau[nombrePremiereCase*taillePremierecase+nombreDeuxiemeCase] = 1;

et dodormeur dit
tableau[nombrePremiereCase+nombreDeuxiemeCase*taillePremiereCase] = 1;


je suis carrèment largué car vous dites 2 choses complètement opposées.
Dark storm En ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 31/12/2013 22:13 | #


Après vérification, c'est Dodormeur qui a raison
http://www.commentcamarche.net/contents/120-langage-c-les-tableaux
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 31/12/2013 23:28 | #


    for(initmain=0; initmain<41;initmain++){deck[initmain][0]=initmain;}
    
    for(initmain=0; initmain<41;initmain++){deck[initmain][1]=1;}


Quand j'initialise la colonne 1 du tableau, CAD deck[][1], à un nombre différent de 0, mon jeu fonctionne parfaitement. Par contre, quand je l'initialise à 0, mon jeu fait de merveilleux bugs.
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 01/01/2014 11:05 | #


petit truc a avoir: pour prendre un tableau de type matrice (un tableau de tableaux comme deck[41][2]) on peut faire comme ça:
void initialisationmain(int *main, int **deck)

Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 01/01/2014 11:57 | #


Vérifie que pour 0 le jeu ne doit rien afficher. Parce que si tu n'as pas initialisé tes variables, elle prendront la valeur qui "traînait" la, et seront complètement fantaisiste. Et forcément, si tu affiche ça, ça fait des machins bizarres

Ajouté le 01/01/2014 à 11:58 :
@limachi : Uniquement si tu le déclare en tant que tableau de pointeur. Vu comment il déclare son tableau, c'est considéré comme un tableau unidimensionnel
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 01/01/2014 12:30 | #


en fait, le principe du tableau deck est de stocker,dans la première colonne deck[][0],les ID des monstres et,dans la deuxième colonne deck[][1],des booléens pour savoir si le monstre a déjà été pioché(pour pas le re-piocher plusieurs fois, 0->monstre pas encore piochée 1->monstre déjà piochée).

En clair, je n'affiche pas le tableau deck. Mais quand j'initialise deck[][1] à 0, rien ne va plus(ma main qui doit avoir 5 cartes en a 1,2,3 ou même 1000; les IDs sont farfelues car je dois avoir des IDs entre 0 et 40,et là j'en ai entre -157232354 et 1326487211

Ajouté le 01/01/2014 à 17:59 :
je tout re-verifier, tout est initialisé, donc normalement pas de problème, mais là c'est pas normalement et il y a toujours le problème

je vais tuer le compilateur

Ajouté le 01/01/2014 à 18:11 :
comment fonctionne memset? on peut l'utiliser pour les tableaux multidimensionnelles?
Précédente 1, 2, 3, 4, 5, 6 ··· 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 315 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