30

en C ... en BASIC ça change presque rien
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

31

Ho si ça change :

- Si tu définit toutes tes matrice à l'avance, ça donne Darkhole : des milliers de fichiers, c'est bien le bordel (grin) pais ça prends moins de place.

- Si tu définitr les matrices dans des programmes, ça donne CMS : beaucoup moins de fichiers, mais un appel des zones un peu plus lent.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

32

nan ça change rien si la matrice a un contenu, qu'elle soit ds une fonction ou pas ne change rien et il vaut mieux la mettre hors d'une fonction
avatar
納 豆パワー!
I becamed a natto!!!1!one!

33

je sais pas si tu réponds à Pim ou à moi, donc j'attends avant de te contredire grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

34

arf, je parlais à pim

mais pour le basic, vaut mieux pas avoir a loader 200 matrices
avatar
納 豆パワー!
I becamed a natto!!!1!one!

35

chacun sa technique wink
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

36

disons que je pourrais tjs m'amuser à les stocker ds un prgm en C mais je sais pas si ça plairait grin
avatar
納 豆パワー!
I becamed a natto!!!1!one!

37

Darkhole, le meilleur Rpg 25% Basic, 75% C grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

38

il est a mm pas 10% en C, je v voir si charger les maps ds un prgm est long
avatar
納 豆パワー!
I becamed a natto!!!1!one!

39

Je sais même pas si c'est long, j'ai jamais testé, mais j'ai pas envie de me retrouver avec 50 matrices dans le répertoire grin

(s_zone,s_pos,s_act)
Prgm
if s_zone=ª1:goto def_dump

If s_zone=1 Then
[[5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,1000,1000,1003,1000,5005,1000,1000,1000,1000,5005,1000,1000,1000,1000,5005,1000,1000,1000,1000,5005,1000,1000,1000,1000,5005,1000,1000,1000,1000,5005,1000,1003,1003,1000,5005,1000,1000,1000,1000,5005,5005,5015,5015,5005,5005,5005,5015,5015,5005][5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,1001,1001,1001,1001,5005,1001,1001,1001,5005,5005,1001,1001,1001,1001,5005,1001,1001,1003,1001,5005,1001,1001,1001,1001,5005,1001,1001,1003,1001,5005,1001,1001,1001,1001,5005,1001,1001,1001,5005,5005,5005,5015,5015,5005,5005,1001,1001,5005,5005][5005,5005,1001,1001,5005,5005,5005,5015,5015,5005,5005,1001,1001,1001,1001,1001,1001,1001,1001,1001,5005,1001,1001,1001,1001,1001,1001,1001,1001,1001,5005,5005,5005,5005,1001,1001,1001,1001,1001,1001,5005,1001,1001,1001,1001,1001,1001,1001,1001,5005,5005,5017,5017,5017,5005,5005,5005,5005,5005,5005][5005,5005,5005,5005,5005,5005,1001,1001,5005,5005,1003,1001,1001,1001,1001,5005,1001,1001,1001,5005,1003,1001,1001,1001,1001,1001,1001,1001,1001,5005,1003,1001,1001,1001,1001,1001,1001,1001,1001,5005,5005,1001,1001,1001,1001,1001,1001,1001,9008,5005,5005,5005,5005,5005,5005,5005,5005,1001,5005,5005][5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,9008,1001,1001,1001,1001,1001,1001,1001,5005,5005,1001,1001,1001,1001,1001,1001,1001,1001,5005,5005,1001,1001,1001,1001,1001,1001,1001,1001,1003,5005,1001,1001,1001,1001,1001,1001,1001,1001,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005][5005,5005,5005,5005,5005,5005,5005,1001,5005,5005,5005,1001,1001,1001,1001,1001,5005,1003,5005,5005,5005,1001,5005,1001,1001,1001,1001,1003,1001,5005,5015,1001,5005,1001,1001,1001,1001,1001,1001,5005,5005,5017,5005,1001,1001,1001,1001,1001,9008,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005,5005]]»x_zonmat
{"Prison",2,3,1,4,2,5,0,1,"Garde"}»x_zonstt
EndIf

lbl def_dump
EndPrgm
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

40

ben en C, à moins d'avoir mal lu le tuto à squale92, si on définie une matrice en variable globale (en dehors de toute fonction) , la taille du prog augmentera autant que la matrice est grosse. Alors que définie dans une fonction, ça ne fait pas ça ...

Mais peut-être que j'ai mal lu ...

bon liquid, j'ai fait un petit test de code pour afficher un map, mais ça marche pas !!! mad
Si tu peux me dire mon erreur, ça sera très sympa (le truc C que l'écran n'affiche que des barres noires toutes moches au lieu des sprites, et parfois TIGCC me sort des erreurs durant la compilation).


#define USE_TI89 
#define OPTIMIZE_ROM_CALLS 
#define SAVE_SCREEN 
#include <tigcclib.h>  

void _main(void)
{
    short x=0;
    unsigned short mat[3][5]={{1,2,3,4,0},{0,0,0,0,0},{1,2,3,4,0}}  //code de la map
    unsigned short sprt[][4]={{0x0, 0x7FFFFF, 0x800000, 0x103FF00, 0x2003000, 0x4003000, 0x8003000, 0x10003000, 0x2003FF00, 0x40000000, 0xFFFFFFFF, 0x80000000, 0x80000000, 0x9FC7F1FC, 0x90441104, 0x90441104, 0x90441104, 0x9FC7F1FC, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x8FDF8000, 0x88508000, 0x88508000, 0x88508000, 0x89548000, 0x885081FE, 0x88508102, 0x88508030, 0xFFFFFFFF},{0x0, 0xFFFFFFFF, 0x0, 0x38C000, 0x3CC000, 0x36C000, 0x33C000, 0x31C000, 0x30C000, 0x0, 0xFFFFFFFF, 0x0, 0x0, 0x1FC7F1FC, 0x10441104, 0x10441104, 0x10441104, 0x1FC7F1FC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3FC01FE, 0x2040102, 0x600030, 0xFFFFFFFF},{0x0, 0xFFFFFFFF, 0x0, 0x3FC000, 0x30C000, 0x300000, 0x3FC000, 0xC000, 0x3FC000, 0x0, 0xFFFFFFFF, 0x0, 0x0, 0x1FC7F1FC, 0x10441104, 0x10441104, 0x10441104, 0x1FC7F1FC, 0x0, 0x0, 0x0, 0x0, 0x380000, 0x3FF8000, 0x2FE8000, 0x2828000, 0x2828000, 0x2828000, 0x28281FE, 0x2828102, 0x2828030, 0xFFFFFFFF},{0x0, 0xFFFFFF00, 0x80, 0x3FC040, 0x30C020, 0x30C010, 0x3FC008, 0x30C004, 0x30C002, 0x1, 0xFFFFFFFF, 0x1, 0x1, 0x1FC7F1FD, 0x10441105, 0x10441105, 0x10441105, 0x1FC7F1FD, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFF003FD, 0x8100205, 0x1800061, 0xFFFFFFFF}}; 
//4 sprites 32*32 enregistrés
   clrscr();
   for(x=0; x<5; x++)
   {
    Sprite32(x*32,0,32,sprt[mat[0][x]][0],LCD_MEM,A_OR);
   }
   ngetchx();
}


bon là l'affichage n'est que sur la permière ligne en y, car je fesais juste un test, après ça marchera pour tout l'écran , mais déjà que ça marche pas sur une ligne ... sad


merci.
[edit]Edité par Pim89 le 10-02-2002 à 14:40:34[/edit]
[edit]Edité par Pim89 le 10-02-2002 à 14:41:15[/edit]
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

41

ben c simple: un sprite 32 n'est pas declaré en short mais en long

et puis une matrice vide augmente la tzile du prgm si elle est pas definie ds une fonction mais pas une matrice remplie !!!mad
avatar
納 豆パワー!
I becamed a natto!!!1!one!

42

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

«- Pas Moo ! ^^

43

aaaaaaaarrrgg !! J'en ai marre !! j'arrive à rien !!!

Maintenant j'ai des problèmes pour les colision :

ta méthode liquid de position des 2 coins supérieurs du sprite, j'arrive pas à la faire marcher correctement.

C très dur à expliquer pourquoi j'y arrive pas (tu comprendrais rien à ce j'essairai de t'expliquer), donc si t'as le temps, est ce que tu peux me mettre [u]l'algorithme{/u] précis à employer (je te demande pas de me reflier le moteur de Seiken wink).

J'utilise une matrice de 3*5 (et oui, j'ai des sprites de 32*32).

C'est surtout au niveau des test de position où je bloque (la position des coin à relever dans la matrice, pluis conclure si je peux avancer (si il reste qq pixel encore ou si je suis pile contre un "bord" >>> >C surtout là où je cale)).



merci bcp si tu as un peu de temps à m'accorder.
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

44

if matrice[ipart((y-2)/32),ipart(x/32)]='mur' => pas avancer
if matrice[ipart((y-2)/32),ipart(x+31/32)]='mur' => pas avancer
if avancer => y-2->2

meme en basic on peut wink
(désolé g pas de source)
avatar
納 豆パワー!
I becamed a natto!!!1!one!

45

Déclarre les matrice en C: une super idée pour optimiser en place, en vitesse et en nombre de fichier!
avatar

46

non, je les déclararerai en basic mais seulement ds la version 1.00 car sinon si je veux modif une map c le bordel
avatar
納 豆パワー!
I becamed a natto!!!1!one!

47

Bon, en fait present je fais un déplacement de "case en case", car ça simplifie tout (je m'inspire du moteur de Pokémon sur GB), ça donne un truc fluide (car je fais un déplacement progressif avec des for(...), pas du x=x+16; d'un coup, sinon ça va bcp trop vite ...).

D'ailleur je vous demande, où trouver des bons sprite tout fait (code hexa) en 16*16 car je suis assez mauvais pour les graphique ...
Sinon, avec quel logiciel creez vous vos sprite ???
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

48

Mes logiciels: Final fantasy de 1 à 5: tout les sprites sont en 16x16!
Sinon pour editer les sprite j'ai mon editeur perso en Qbasic et un en JAVA(pas encore tout a fait fini)
avatar