1

voila..je fait un jeu avec un scrolling vertical et horizontal...
du point de vue vertical, je desirerai afficher le bas de la map lorsque l on est en haut de la map(au dessu)
et vice versa kan on est en bas(on voi le haut de la map)

donc g fe casadma map fait 15*15
for(i=a-1;i<a+5+1;i++)
{
for(j=b-1;j<b+10+1;j++)
{
if(mat_monde[i%15][j%15]==1)
{
XGNSmall(j*16+x_scroll,i*20+y_scroll,sprite1);
}
}
}

donc kan je suis en bas de la maps, on voit bien le haut
mais ca marche pas pour kan je suis en haut

ps; si vous avez rien compris c normalµ..
gni

donc ma kestion c'est:
est ce ke -1%15=14
vu ke 16%15=1

merci
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

2

ben c tt con
-1/15 reste -1 donc -1%15=-1 happy
(enfin, je crois que c'est ça)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

3

bin oui c ce ke je pensais..
donc dans mon exemple
si avaut 0,, a-1=-1
donc il devrai s'afficher la partie de la map ki ekivaut a 14 en hateur nan?
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

4

essaye ça: [(i+15)%15][(j+15)%15]
si i et j ne dépassent pas -15 ça devrait fonctionner
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

5

Un truc qui n'a rien à voir, remplace %15 par &15 c'est plus rapide.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

geogeo> &15 ça serait pour %16, là il veut %15 happy
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

7

Un truc encore mieux. Fais un modulo 16 au lieu de faire un modulo 15, et utilise un &, comme te le conseille geogeo, ça évitera les valeurs négatives en plus.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

8

Tes sprites font quelle taille ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

geogeo> &15 ça serait pour %16, là il veut %15


Euh oui. lol. roll
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

10

Je te conseille d'arrondir toutes tes tailles à la puissance de 2 supérieure, quitte à ce qu'une partie de la mémoire de la map ne soit jamais utilisée (sinon les %, / et * sont lents - et chaque [] demande une multiplication par 15, donc ton prog risque d'être lent).

Et avec une map 16x16, si tu veux un arrondi à l'inférieur, il suffit de faire &15 (parce que 15=16-1, rien à voir avec ta taille de départ happy) au lieu de %16.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

11

Susume> je vois pas le rapport avec la tille des sprite.. mais bon..c du 16*8 je crois

j'essaille avec un modulo 16 mais je voi pas pourkoi ...
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

12

(argl, désolé pour le post ultra-croisé, je devrais pas ouvrir une fenêtre et y répondre 5 minutes après)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

13

j'essaille avec un modulo 16 mais je voi pas pourkoi ...

Parce que c'est plus rapide comme ça.

map[y][x] est converti en _map_[y*15+x], et la multiplication par 15 est très lente. Et c'est bien pire pour le modulo...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

14

a oki le modulo 16(dpnc &15) c si je remplace ma map 15*15 par une 16*16
(a cose du post supra croise gol)
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

15

bon y a du progres...
maintenant quand je suis en haut, ca affiche le bas de la map mais g un probleme de collision... y a un decalage de 20 pixel


par contre ca marche tres bien lorsuqe l'on est en bas de la map(affichage du haut)

et c meme un tantinet plus rapide grace o & et la puissance de 2

merci jve me debrouilelr tout seul pour resoudre le probleme
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

16

Pollux
: Je te conseille d'arrondir toutes tes tailles à la puissance de 2 supérieure, quitte à ce qu'une partie de la mémoire de la map ne soit jamais utilisée (sinon les %, / et * sont lents - et chaque [] demande une multiplication par 15, donc ton prog risque d'être lent).

Et vive le gaspillage de RAM... Un mulu #15 ou divu #15 prend 4 octets, donc insignifiant en taille de code.
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é

17

Pourquoi fais-tu toujours semblant de ne pas vouloir comprendre ce qu'est une optimisation vitesse, Kevin sad
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

18

Trop fier de son idée de l'optimisation trifus
Kevichou : il fait un jeu d'aventure ou assimilé, pas un Backatruc. Ca serait étonnant qu'il soit heureux de le rendre plus lent. T'es incorrigible mon cher tongue
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

19

rotfl
c clair ke moi ce ki m'imorte pour l'instant, c l
optimisation en vitesse... ou meme plus basique..que mon prgramme fonctione gni
en cas merci pour vos reponses
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

20

Declare tes i en unsigned embarrassed

21

ca marche po..c pas bete mais ca marche po..je crois ke mon code est guggue jusqu'a la moelle..
mourn
suicde
couic
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

22

Lol PpHd a subi un lavage de cerveau de la part de la FSF grin
Oui, en principe (-i)&15 pourrait te donner (16*N-i)&15 (ce qui est le cas sur 68k, x86, etc...), abs(i)&15, ou encore (16*N-1-i)&15.

Mais en pratique, ça va quand même te donner le bon résultat grin
Sinon tu peux toujours rajouter dans _main() : if ((-1)&3!=3) { ST_helpMsg("Please change some types to unsigned in the source"; return; }, ça ne devrait rien changer normalement et ça fera plaisir à Kevin et à PpHd triso

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

23

Qu'est-ce qui marche pas?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

24

bin ca bug koi c mon code qu'est pourri, pas l'idee du unsigned

en plus ca marche kan on "descen d'un etage" et qu'on remonte
j'en ai ras le cul
fodrait ke je mette un screenshot
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406

25

(le unsigned ne change rien, c'est juste un délire de théoriciens fous tongue)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

26

Pollux: Mais tu suppose que les signes sont en complement a 2 dans ton code! C'est pas forcement le cas. Y'a les complements a 1, puis aussi le cas bit de signe + valeur absolu. C'est dans la norme C tongue

27

Oui, cf le post ./22 roll

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

28

Sauf que ton test passe avec systeme de complement a 1, qui peut faire foirer d'autre tests de modulo.

29

Non, en complément à 1, sign=0b1, et value=0b0, donc x&0b11 = 0b10 = 2 != 3...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

30

pkoi je ne compouan ouien??gol
avatar
Plus t'avance moins vite
Moins t'avance plus vite...

forums/406