1

Oui, étant donné que les jeux utilisent plusieures map ou level, j'en ai conclu que le moteur devait fonctionner avec des pointeurs, qui pointaient vers les map et les definition de tiles ...

j'ai donc fait comme ça, mais ça ne marche pas, TIGCC me sort des erreurs.
j'ai une matrice definie en unsigned short donc mon pointeur est :

unsigned short *mapcour;

puis ensuite, pour pointer sur ma map, je fais :

mapcour = &matrice;

mais ça bloque là.

Aussi, si ce truc réussit à marcher, est ce que je pourrais utiliser des truc comme :

XBWSprite16x(x ,y ,sprt[ mapcour[1][1] ] ,16);

sachant que mapcour est un pointeur ???? comment faire si je ne peux pas faire comme ça (pour dire, "affiche tel sprite, contenu dans cette matrice" en utilisant uniquement un pointeur qui pointe vers cette map) ???

merci.

[edit]Edité par Pim89 le 07-04-2002 à 15:34:49[/edit]
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

2

Mets:
unsigned short (*mapcour)[];
mapcour=matrice;

avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

ok, ça marche pour le début, mais pas au moment de sprt[mapcour[l][k]]

"Arithmetic on pointer to an incomplete type" ... sadsad
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

4

Les tableaux sont l'équivalent C des matrices BASIC.

Un truc spécial du C, c'est qu'un tableau est quasiment la même chose qu'un pointeur.

Par exemple, si tu déclares un tableau et un pointeur :

short a[10];
short * b;

les déclarations suivantes sont alors équivalentes :
a[10] == (a + 10)
(b + 10) == b[10]

les types pointeurs sont l'aspect le plus rude du C... je te conseille de prendre un bon manuel de prog C...

Maintenant, pour les maps :

Une fonction comme XBWSprite16x ne permet d'afficher qu'une seule tile à la fois. Il te faut utiliser cette fonction plusieurs fois pour afficher ta map...

en simplifié :

unsigned short * sprites[16]; /* tableau des sprites 16x16, 16 mots pour un sprite */
unsigned short map[15][8]; /* map de 15(x16) de large et de 8(x16) de haut pour donner 240x128 pixels */

for (x = 0; x != 15; x++) { /* pour chaque colonne */
for (y = 0; y != 8; y++) { /* pour chaque ligne */
XBWSprite16x(x * 16, y * 16, sprites[map[x][y]], 16); /* affiche le sprite à cet endroit */
}
}

5

heu, merci de me re-expliquer mais là je donnais juste un exemple avec mapcour[1] [1]

je sais quand même afficher une map !!! wink

et tout mes trucs autour (perso, scroll ect) C'est juste que là je m'attaquais à la gestion de plusieurs levels, donc je pensais passer par des pointeurs ds le moteur principal.
Et j'avais juste des problème à ce moment là, pour pointer vers une matrice et pourvoir ensuite effectuer toute les opérations sur cette matrice mais en passant par un pointeur.

Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

6

personne pour m'aider alors ???? bouuuuuuuuhhhhhhhh .... tssstsss
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

7

Tu déclares ta matrice avec

unsigned short *matrice[100][100] par exemple...

ensuite, tu peux utiliser le pointeur comme ceci *(matrice[x][y])

8

heu, je comprend pas trop là ...

tu peux me donner ce qu'il faudrait faire ds mon exemple stp ??

cad j'utilise XBWSprite16x(x ,y ,sprt[ mapcour[1][1] ] ,16);

et mapcour est un pointeur pointant vers une matrice unsigned short..

Comment le déclarer précisemment pour que la ligne d'affichage de sprite marche ??

merci.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

9

>Pim89: "Arithmetic on pointer to an incomplete type" ...

Si tu me donnais la taille de la matrice, je pourrais te donner le type complet pour mapcour.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

unsigned short mat[25][30]; (mais c'est provisoire, ça peut être plus ou moins gros. aussi, y'a que des chiffres/nombres ds cette matrice).

comment déclarer le pointeur "mapcour" et faire la "pointaison" pour ensuite utiliser :

XGSprite16x(k*16 +x, l*16 +y, sprt[mapcour[l][k]], 16);
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

11

unsigned short (*mapcour)[30];
mapcour=mat;

[edit]Edité par Kevin Kofler le 09-04-2002 à 23:17:52[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

top exellente réponse de Kevin Kofler !!!!! toptop

tout marche nickellllllllll !!!! vraiment merci. ouioui
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^