Moteur de déplacement en C
Posté le 22/01/2016 23:08
Bonjour ou bonsoir à tous !
Comme l'indique le titre, je programme un petit moteur de déplacement pour mes futurs jeux.
Déjà,
à tous ceux qui m'ont aidé !
Je suis actuellement en train de faire la gestion des événements en fonction de là ou on se trouve
Par contre le SH4 comptibility tool m'indique ceci : Error 2 : we found more than one KeyDown function !
Au début de usefull.c, il y a à peu près le même code que mon pote m'a passé pour rendre compatible SH4. Le problème c'est que je n'ose pas toucher à usefull parce que sinon je vais faire n'importe quoi et que si je supprime le code de mon pote les valeurs des touches ne sont plus du tout les mêmes
Aussi, lorsque l'on quitte avec EXIT qui est censé mené à la fin du main au return 0, system error.
TLB ERROR
TARGET=00056694
PC=000068CC
Si vous pouviez m'aider ce serait génial
Merci d'avance
~Les sources [mises à jour le 31/01/2016 à 17:55]~
Le code :
http://hastebin.com/ohisawiraw.cs
Les sources actuels (enfin fonctionnelles \o/) sont en fichier joint.
Dès fois il y a des trucs bien moches qui ne respectent pas l'indentation et ce genre de chose. C'est normal ils sont destinés à être supprimés alors c'est pour les reconnaître
Un grand merci à Xavier59 qui à résolu mon problème
!
Fichier joint
Citer : Posté le 26/01/2016 22:12 | #
Aah je croyais que ça remplaçait le GetKey
Merci c'est plutôt sympa
Ajouté le 28/01/2016 à 12:56 :
J'ai mis en application tout ce que vous m'avez dit (normalement).
Mais je me heurte encore à certains problèmes. Ils sont listés dans le post principal.
Si vous pouviez m'aider ce serait super sympa, merci
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 28/01/2016 19:40 | #
Matt il existe les pointeurs pour passer un tableau. Ex: tab** dans la fonction il faut aussi passer en argument les 2 dimensions. Pour vérifier les 2 tableaux tu peu faire.
for( int y= 0; y<tailley; y++)
for( int x= 0; x<taillex; x++)
{
if(tab1[y][x] != tab2[y][x])return 1;
}
return 0;
Tout ce code dans une fonction qui pourrait se nommer comptab.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 28/01/2016 19:52 | #
En argument j'ai mis ça "int map(int** matrice_collision, unsigned char* dessinmap)"
Ca passe ?
Aussi pour mettre les valeurs d'un tableau à l'autre j'ai fait ça :
unsigned char dessinmap[1024];
int matrice_collision[8][16] = {{0}};
map(matrice_collision, dessinmap); //J'appelle ma fonction
//fin
int map(int** matrice_collision, unsigned char* dessinmap)
{
[spoiler=initialisation de allee (c'est gros alors je le mets dans un spoiler)|Cliquer pour enrouler]const unsigned char allee[]={
0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0,
0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0,
0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0,
0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0,
0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0,
0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0,
0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0,
0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0, 0x91, 0x0, 0x89, 0x0,
0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0, 0x9f, 0x0, 0xf9, 0x0,
0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0, 0x80, 0x7e, 0x1, 0x0,
0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0, 0x80, 0x4a, 0x1, 0x0,
0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0, 0x80, 0x42, 0x1, 0x0,
0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0, 0xc0, 0x42, 0x3, 0x0,
0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0, 0x3f, 0xff, 0xfc, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf, 0xe0, 0xf, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x10, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26, 0x48, 0x26, 0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0x44, 0x48, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x4, 0x40, 0x84, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x21, 0x8, 0x24, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x7c, 0x3e, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x42, 0x42, 0x42, 0x4a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8a, 0x49, 0xa6, 0x51, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x41, 0x82, 0x41, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x61, 0x96, 0x69, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x7, 0xc0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x5e, 0x7a, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0xfc, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0xe0, 0x7, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe, 0x0, 0x7f, 0xff, 0xfe,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11, 0x0, 0x88, 0x42, 0x11,
0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f, 0x0, 0xf8, 0x42, 0x1f,
0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1, 0x0, 0x87, 0xff, 0xe1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1,
0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1, 0x0, 0x80, 0x0, 0x1
};[/spoiler]
int alleemat[8][16] = {
{1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,},
{1,-1,1,0,1,-1,1,0,1,-1,1,0,1,-1,1,0,},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,},
{0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,}};
int numero_ecran = 2;
//détermination de la matrice des collisions
H1 = 0;
while (H1<8)
{
G1 = 0;
while (G1<16)
{
if (numero_ecran == 1) matrice_collision[H1][G1] = alleemat[H1][G1];
if (numero_ecran == 2) matrice_collision[H1][G1] = placemat[H1][G1];
G1++;
}
H1++;
}
//détermination de l'affichage
G2 =0;
while (G2<129)
{
if (numero_ecran == 1) dessinmap[G2] = allee[G2];
if (numero_ecran == 2) dessinmap[G2] = place[G2];
G2++;
}
}
Mais il m'indique un system error :
TLB ERROR
TARGET = 00000000
PC = 00000000
Ajouté le 28/01/2016 à 20:39 :
Le system error arrive dès que l'on utilise matrice_collision
Ajouté le 29/01/2016 à 21:30 :
PS : je mets des while parce que j'aime pas les for
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 11:45 | #
Je regarderai à l'occas'
Citer : Posté le 31/01/2016 12:15 | #
Le plus simple pour passer un tableau à 2 dimensions, c'est de spécifier une des deux dimension :
// ...
maFonction(tableau2D);
return 0;
}
void maFonction(int tableau2D[][5]){
if(tableau2D[i][j] == 3){
}
return;
}
Cependant, un moteur à 2 dimensions n'est pas vraiment conseiller pour un moteur de déplacement. Utilise plutôt un tableau à une seule dimension
Citer : Posté le 31/01/2016 13:31 | #
Merci Xav
Quand je spécifie une des deux dimensions, il me met : " Type not compatible for "=" " et ne build pas
Pourquoi un tableau 1D ? Mon perso à 2 coordonnées X et Y. Je trouve donc plus logique que la map soit codé dans un tableau 2D. Par exemple si mon perso est au coordonnée (1;2), pour savoir sur quel type de "bloc" il se trouve je regarde dans le tableau 2D à ces mêmes coordonnées
Si tu peux ce serait cool DS
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 14:07 | #
Tu peux poster ton code actuel ?
Citer : Posté le 31/01/2016 14:09 | # | Fichier joint
Et hop c'est en fichier joint
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 14:16 | #
Hm je vois. Tu as écrit :
En fait, c'est faux. Ecrire matrice_collision[] reviens à *matrice_collision.
Ainsi tu dois juste écrire :
int matrice_collision[][16]
// Ou (mais à vérifier si ça fonctionne en mélangeant les deux).
int *matrice_collision[16]
Citer : Posté le 31/01/2016 14:19 | #
OH MON DIEU CA FONTIONNE !
Merci 100000000 fois Xav
Ajouté le 31/01/2016 à 14:26 :
je suis heureeeeux \o/ !
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 14:51 | #
C'est devenu un monstre ton code Tu fais quoi avec tout ça ? Comment t'es devenu aussi bon si vite
Citer : Posté le 31/01/2016 15:07 | #
Il est surtout pas très opti et mes initialisations de maps ne sont pas dans un autre fichier
Bah la c'est juste le tile mapping avec gestion des collision (mais pas des événements)
Je ne suis pas bon loin de là et c'est surtout grâce à vous
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 15:52 | #
Ouvre le fichier… Trouve la fonction map… Se sent mal… Et…
Plus sérieusement, comment peux-tu coder comme ça sans indenter logiquement ?
J'espère que tu ne code pas directement dans l'éditeur du SDK, ça me ferai mal au coeur. De même, je te conseille (fortement) d'indenter avec des tabulations et non des espaces, comme ça tu ne peux pas avoir de trucs du genre :
{
G = 0; // décalé par rapport à H++, et pis ça devrait être indenté par rapport au while
while (G<20)
{
zone[H][G] = zone1[H][G];
G++;
} // Ici, c'est décalé
H++; // Le but de l'indentation, c'est de faciliter la détection des blocs logiques. Pas de la compliquer…
}
Ok ça marche, mais dès que tu va avoir un truc un peu plus conséquent ça sera l'enfer pour débugguer. Le point positif, c'est que tu as essayé d'indenter, mais va falloir faire un effort
T'as des sites qui t'indentent ton code automatiquement, pas forcément pratique pour les sprites, mais pour le gros du code ça peut te montrer ce qu'il faut faire ou non.
Ça, c'était pour la forme. Passons au fond.
Je te conseille d'utiliser des noms de variables explicites. Parce que si tu stoppe le projet 2 mois, je doute que tu fasse la différence entre X, Y, X2, Y2, X22, Y22, C, D, E et F.
Si t'as beaucoup d'informations à stocker, utiliser les structures du C. Ainsi, tu pourra écrire des trucs du genre :
map_1.data[2][3] = 4;
for(i = 0; i < map_2.length; i++) // faire quelque chose
inventory.weapons[3].upgrades[2].efficiency = 10; // un peu extrême, mais ça montre bien la facilité d'utilisation
// Dans cette ligne, on défini à 10 l'efficacité d'une amélioration (n°1) de l'arme n°2 de l'inventaire. Si on veut modifier autre chose, c'est pas plus compliqué.
Pour le reste, le code est tellement peu lisible que je n'arrive pas à le comprendre facilement.
Citer : Posté le 31/01/2016 15:58 | #
Merci d'avoir jeté un oeil DS. Mais ce qui me dérange c'est que mon code est parfaitement indenté et n'est pas du tout comme dans ta balise code ! Et j'utilise bien Tabulation.
Les structures m'ont l'air très sympa je vais regarder de plus près
Vraiment désolé de faire quelque chose de peu lisible je vais essayer d'arranger ça
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 15:59 | # | Fichier joint
Voilà ce que j'ai en ouvrant le fichier…
Citer : Posté le 31/01/2016 16:00 | #
J'ai du me tromper de fichier quand je l'ai mis je remédies à ça de suite
Ajouté le 31/01/2016 à 16:03 :
C'est censé être mieux a ce niveau maintenant.
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 16:44 | #
Matt regarde ce lien il est plustôt pas mal pour l'affichage d'une map et pour la collision avec le décor.
https://openclassrooms.com/courses/tile-mapping
C'est ce procédé que j'ai utilisé pour mon moteur, tu trouvera le code dans le fichier Tilesmapping et Rigibody.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 31/01/2016 16:53 | #
Merci Fife mais je préfère continuer dans mon truc vu que ça fonctionne
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit
Citer : Posté le 31/01/2016 17:11 | #
Ok pas de problème
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".
Citer : Posté le 31/01/2016 17:22 | #
Si jamais je n'y arrive plus ou que ça ne me convient plus ton lien me sera très utile
Ajouté le 31/01/2016 à 17:58 :
J'ai un nouveau problème, lorsque l'on quitte avec EXIT, ce qui est censé mené à la fin du main au return 0, j'ai droit à un sublime system error
TLB ERROR
TARGET=00056694
PC=000068CC
Je ne vois pas d'ou ça pourrait venir Quelqu'un de charitable pour m'aider svp ?
Oui je sais ça fait beaucoup de problèmes désolé
Ajouté le 26/02/2016 à 22:56 :
Dernier problème corrigé
Un beat them all pour les CPC 19
Un jeu de Tank multijoueur en version graphique
Un jeu de boxe rigolo
Le moteur de combat épique d'un RPG
soccer physics : Un jeu de foot totalement wtf !
Survie 1 & 2 te laisseras-tu attraper par la méchante IA ?
Séquestrez les tous avec Catch'em all !
Joué à la calcultarice et pécher ? Facile !
Battle un système de combat dément !!
Débombe pas tout à fait un démineur
Mon mario pour le concours des 10 ans de PC
Casio jump un doodle jump pas comme les autres !
Rush four your life : tu cours ou tu meurs
Cookie clicker ! More cookies MOOORE !
Move et esquive : bouge pour esquiver les ennemis !
Guitar Hero !! Let's rock !
INVASION : Au secours on se fait envahir !
Un devine nombre entièrement customisable (mon 1er jeu)
Un outil pour dessiner des sprites en super drawstat et qui vous le compile pour vous donner un code utilisable dans vos programmes
Un super programme de dessin bourré de trucs funcs
Sortir une version finale de Tankasio
Bien m'améliorer en C parce que pour l'instant c'est pas jojo
Une ou plusieurs idées qui mûrissent petit à petit