La Place des Développeurs [EN COURS] VDP(24) et décors destructibles. Interagir sur un décor scrollé.
igal
Membre non connecté
Conseiller Municipal
Salut à tous.
Pour aller plus loin dans les possibilités offertes par l'utilisation de VDP(24), j'ai entrepris de modifier les décors selon l'action du HERO ou de son TIR
Voici le principe sous forme d'un schéma:
L'idée est la suivante:
1) Un décors principal appelé MASTER est Scrolé par Bribes de 2 Pixels.
2) 16 décors BETA supplémentaires sont crées tels que [BETA 0] à [BETA F].
3) Chaque Décors BETA contient la Mappe identique que MASTER mais avec TOUS les ennemis contenus dans une colonne de 16 Pixels détruits!
4) La POSITION X (horizontale) du HERO détermine quelle MAPPE BETA afficher sous condition de TIR => IF STRIG (0) THEN CALL CHDIR ("BETA XYZ"): GOSUB => BRIBES
5) La POSITION Y (verticale) du HERO (ou du TIR) détermine quelle BRIBES BETA afficher.
voici un exemple simple:
Mappe Master:
sur cette MAP,les ennemis "Immobiles" sont intacts.
Mappe Beta:
Voici une première ébauche du programme.
On peut voir dans le déroulement du programme que lorsque la commande IF STRIG (0) est activé, on est renvoyé dans les sous programme suivants:
Le sous programme ci dessous permet d'aiguiller vers le répertoire contenant la MAPPE ou les Graphismes sont détruits sur une seule colonne sur toute la mappe.
Nb: La mappe MASTER étant découpée zones horizontales large de 16 Pixels, il faut donc 16 mappes différentes
2010 'BETA MAPPE Longitude "X" '(Sélécteur de Colonnes)
2020 CALL CHDIR ("..")
2020 IF X>239THEN CALL CHDIR ("B-F"): GOTO 3000
2030 IF X>223THEN CALL CHDIR ("B-E"): GOTO 3000
2040 IF X>207THEN CALL CHDIR ("B-D"): GOTO 3000
2030 IF X>191THEN CALL CHDIR ("B-C"): GOTO 3000
2040 IF X>175THEN CALL CHDIR ("B-B"): GOTO 3000
2050 IF X>159THEN CALL CHDIR ("B-A"): GOTO 3000
2060 IF X>143THEN CALL CHDIR ("B-9"): GOTO 3000
2070 IF X>127THEN CALL CHDIR ("B-8"): GOTO 3000
2080 IF X>111THEN CALL CHDIR ("B-7"): GOTO 3000
2090 IF X>95THEN CALL CHDIR ("B-6"): GOTO 3000
2100 IF X>79THEN CALL CHDIR ("B-5"): GOTO 3000
2110 IF X>63THEN CALL CHDIR ("B-4"): GOTO 3000
2120 IF X>47THEN CALL CHDIR ("B-3"): GOTO 3000
2130 IF X>31THEN CALL CHDIR ("B-2"): GOTO 3000
2140 IF X>15THEN CALL CHDIR ("B-1"): GOTO 3000
2150 IF X>-1THEN CALL CHDIR ("B-0"): GOTO 3000
Il m'a semblé plus judicieux de procéder à rebours
Le sous programme suivant permet d'aiguiller vers le répertoire contenant les Bribes devant être affichées à une latitude déterminée par la valeur Y
3000 '
3010 'BETA MAPPE Latitude "Y" (Selecteur de bribes)
3020 IF Y>239THEN CALL CHDIR ("7"): GOTO 4316
3030 IF Y>223THEN CALL CHDIR ("7"): GOTO 4301
3040 IF Y>207THEN CALL CHDIR ("6"): GOTO 4316
3030 IF Y>191THEN CALL CHDIR ("6"): GOTO 4301
3040 IF Y>175THEN CALL CHDIR ("5"): GOTO 4316
3050 IF Y>159THEN CALL CHDIR ("5"): GOTO 4301
3060 IF Y>143THEN CALL CHDIR ("4"): GOTO 4316
3070 IF Y>127THEN CALL CHDIR ("4"): GOTO 4301
3080 IF Y>111THEN CALL CHDIR ("3"): GOTO 4316
3090 IF Y>95THEN CALL CHDIR ("3"): GOTO 4301
3100 IF Y>79THEN CALL CHDIR ("2"):GOTO 4316
3110 IF Y>63THEN CALL CHDIR ("2"):GOTO 4301
3120 IF Y>47THEN CALL CHDIR ("1"):GOTO 4272
3130 IF Y>31THEN CALL CHDIR ("1"):GOTO 4254
3140 IF Y>15THEN CALL CHDIR ("0"):GOTO 4238
3150 IF Y>-1THEN CALL CHDIR ("0"):GOTO 4220
La aussi, il me parait plus logique de procéder à rebours
Maintenant que la Longitude et Latitude est correctement retranscrite, il ne reste plus qu'a faire se succéder les Bribes.
J'ai pensé que 8 bribes de 2 Pixels de Hauts devraient convenir. (on verra bien).
4000 ' BRIBES BETA (Lecteur de Bribes par groupe de 8)
4220 '
4222 BLOAD"0",S,0-11264
4224 BLOAD"1",S,0-11264
4226 BLOAD"2",S,0-11264
4228 BLOAD"3",S,0-11264
4230 BLOAD"4",S,0-11264
4232 BLOAD"5",S,0-11264
4234 BLOAD"6",S,0-11264
4236 BLOAD"7",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4238 BLOAD"8",S,0-11264
4240 BLOAD"9",S,0-11264
4242 BLOAD"A",S,0-11264
4244 BLOAD"B",S,0-11264
4246 BLOAD"C",S,0-11264
4248 BLOAD"D",S,0-11264
4250 BLOAD"E",S,0-11264
4252 BLOAD"F",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4254 BLOAD"0",S,0-11264
4258 BLOAD"1",S,0-11264
4260 BLOAD"2",S,0-11264
4262 BLOAD"3",S,0-11264
4264 BLOAD"4",S,0-11264
4266 BLOAD"5",S,0-11264
4268 BLOAD"6",S
4270 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4272 BLOAD"8",S
4274 BLOAD"9",S
4276 BLOAD"A",S
4278 BLOAD"B",S
4280 BLOAD"C",S
4282 BLOAD"D",S
4284 BLOAD"E",S
4286 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4301 BLOAD"0",S
4302 BLOAD"1",S
4304 BLOAD"2",S
4306 BLOAD"3",S
4308 BLOAD"4",S
4310 BLOAD"5",S
4312 BLOAD"6",S
4314 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4316 BLOAD"8",S
4318 BLOAD"9",S
4320 BLOAD"A",S
4322 BLOAD"B",S
4324 BLOAD"C",S
4326 BLOAD"D",S
4328 BLOAD"E",S
4330 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4332 '
Pour que le moulin tourne normalement, il faut séparer 3 possibilité quant à la possibilité de rencontrer des Bribes [Toutes Particulières] [Mi particulières, mi normales] [Toutes Normales]
Chaque groupe est donc constitué de 8 Bribes de 2 Pixels de Haut pour un total de 16 Pixels de Haut pour "COUVRIR" l'ancien graphisme MASTER par le Graphisme BETA.
Voici la dernière étape avant de reprendre un processus "initial".
5000 ' Retour au Réperoire Initial
5210 IF PB=15THEN CALL CHDIR ("M-F"):GOTO 6000
5060 IF P=0THEN CALL CHDIR ("M-0"):GOTO 6000
5070 IF P=1THEN CALL CHDIR ("M-1"):GOTO 6000
5080 IF P=2THEN CALL CHDIR ("M-2"):GOTO 6000
5090 IF P=3THEN CALL CHDIR ("M-3"):GOTO 6000
5100 IF P=4THEN CALL CHDIR ("M-4"):GOTO 6000
5110 IF P=5THEN CALL CHDIR ("M-5"):GOTO 6000
5120 IF P=6THEN CALL CHDIR ("M-6"):GOTO 6000
5130 IF P=7THEN CALL CHDIR ("M-7"):GOTO 6000
5140 IF P=8THEN CALL CHDIR ("M-8"):GOTO 6000
5150 IF P=9THEN CALL CHDIR ("M-9"):GOTO 6000
5160 IF P=10THEN CALL CHDIR ("M-A"):GOTO 6000
5170 IF P=11THEN CALL CHDIR ("M-B"):GOTO 6000
5180 IF P=12THEN CALL CHDIR ("M-C"):GOTO 6000
5190 IF P=13THEN CALL CHDIR ("M-D"):GOTO 6000
5200 IF P=14THEN CALL CHDIR ("M-E"):GOTO 6000
5210 'IF P=15THEN CALL CHDIR ("M-F"):GOTO 6000
6000 ' Retour au répertoire Initial
6300 IF RB=7THEN CALL CHDIR ("7"):GOTO 1515
6220 IF R=0THEN CALL CHDIR ("0"):GOTO 1515
6254 IF R=1THEN CALL CHDIR ("1"):GOTO 1515
6288 IF R=2THEN CALL CHDIR ("2"):GOTO 1515
6290 IF R=3THEN CALL CHDIR ("3"):GOTO 1515
6291 IF R=4THEN CALL CHDIR ("4"):GOTO 1515
6292 IF R=5THEN CALL CHDIR ("5"):GOTO 1515
6293 IF R=6THEN CALL CHDIR ("6"):GOTO 1515
6294 'IF R=7THEN CALL CHDIR ("7"):GOTO 1515
Ce sous programme permet de retourner vers le répertoire dans lequel se déroulait précédemment le programme principal.
J'ai pas encore tester, mais on doit pas être très loin de ce que je cherche à faire.
J'suis en r'tard avec mes poireaux moa
Edité par igal Le 24/10/2014 à 15h10
Pour aller plus loin dans les possibilités offertes par l'utilisation de VDP(24), j'ai entrepris de modifier les décors selon l'action du HERO ou de son TIR
Voici le principe sous forme d'un schéma:
L'idée est la suivante:
1) Un décors principal appelé MASTER est Scrolé par Bribes de 2 Pixels.
2) 16 décors BETA supplémentaires sont crées tels que [BETA 0] à [BETA F].
3) Chaque Décors BETA contient la Mappe identique que MASTER mais avec TOUS les ennemis contenus dans une colonne de 16 Pixels détruits!
4) La POSITION X (horizontale) du HERO détermine quelle MAPPE BETA afficher sous condition de TIR => IF STRIG (0) THEN CALL CHDIR ("BETA XYZ"): GOSUB => BRIBES
5) La POSITION Y (verticale) du HERO (ou du TIR) détermine quelle BRIBES BETA afficher.
voici un exemple simple:
Mappe Master:
sur cette MAP,les ennemis "Immobiles" sont intacts.
Mappe Beta:
Voici une première ébauche du programme.
Code TEXT :
10 'SAVE"RPLAY15.asc",A 20 'Version 001 30 'PLAYER DE BRIBES HORIZONTAL [22X(2X256)]+[(106X(4X256)] 40 VDP(10)=0:SCREEN 10:SET PAGE 0,1:VDP(12)=&B001000000:VDP(6)=&B00111111:VDP(7)=&B00000000:CALL CHDIR ("M-0") 50 N=2:P=0:R=0:X=100:Y=100 60 IF P=0THEN CALL CHDIR (".."):CALL CHDIR ("M-0"):PB=0:GOSUB 220 70 IF P=1THEN CALL CHDIR (".."):CALL CHDIR ("M-1"):GOTO220 80 IF P=2THEN CALL CHDIR (".."):CALL CHDIR ("M-2"):GOTO220 90 IF P=3THEN CALL CHDIR (".."):CALL CHDIR ("M-3"):GOTO220 100 IF P=4THEN CALL CHDIR (".."):CALL CHDIR ("M-4"):GOTO220 110 IF P=5THEN CALL CHDIR (".."):CALL CHDIR ("M-5"):GOTO220 120 IF P=6THEN CALL CHDIR (".."):CALL CHDIR ("M-6"):GOTO220 130 IF P=7THEN CALL CHDIR (".."):CALL CHDIR ("M-7"):GOTO220 140 IF P=8THEN CALL CHDIR (".."):CALL CHDIR ("M-8"):GOTO220 150 IF P=9THEN CALL CHDIR (".."):CALL CHDIR ("M-9"):GOTO220 160 IF P=10THEN CALL CHDIR (".."):CALL CHDIR ("M-A"):GOTO220 170 IF P=11THEN CALL CHDIR (".."):CALL CHDIR ("M-B"):GOTO220 180 IF P=12THEN CALL CHDIR (".."):CALL CHDIR ("M-C"):GOTO220 190 IF P=13THEN CALL CHDIR (".."):CALL CHDIR ("M-D"):GOTO220 200 IF P=14THEN CALL CHDIR (".."):CALL CHDIR ("M-E"):GOTO220 210 IF P=15THEN CALL CHDIR (".."):CALL CHDIR ("M-F"):P=0:PB=15:GOTO220 220 CALL CHDIR ("0"):RB = 0 222 BLOAD"0",S,0-11264:GOSUB 1510 224 BLOAD"1",S,0-11264:GOSUB 1510 226 BLOAD"2",S,0-11264:GOSUB 1510 228 BLOAD"3",S,0-11264:GOSUB 1510 230 BLOAD"4",S,0-11264:GOSUB 1510 232 BLOAD"5",S,0-11264:GOSUB 1510 234 BLOAD"6",S,0-11264:GOSUB 1510 236 BLOAD"7",S,0-11264:GOSUB 1510 238 BLOAD"8",S,0-11264:GOSUB 1510 240 BLOAD"9",S,0-11264:GOSUB 1510 242 BLOAD"A",S,0-11264:GOSUB 1510 244 BLOAD"B",S,0-11264:GOSUB 1510 246 BLOAD"C",S,0-11264:GOSUB 1510 248 BLOAD"D",S,0-11264:GOSUB 1510 250 BLOAD"E",S,0-11264:GOSUB 1510 252 BLOAD"F",S,0-11264:GOSUB 1510 254 R=R+1:CALL CHDIR (".."):CALL CHDIR ("1") 256 BLOAD"0",S,0-11264:GOSUB 1510 258 BLOAD"1",S,0-11264:GOSUB 1510 260 BLOAD"2",S,0-11264:GOSUB 1510 262 BLOAD"3",S,0-11264:GOSUB 1510 264 BLOAD"4",S,0-11264:GOSUB 1510 266 BLOAD"5",S,0-11264:GOSUB 1510 268 BLOAD"6",S:GOSUB 1510 270 BLOAD"7",S:GOSUB 1510 272 BLOAD"8",S:GOSUB 1510 274 BLOAD"9",S:GOSUB 1510 276 BLOAD"A",S:GOSUB 1510 278 BLOAD"B",S:GOSUB 1510 280 BLOAD"C",S:GOSUB 1510 282 BLOAD"D",S:GOSUB 1510 284 BLOAD"E",S:GOSUB 1510 286 BLOAD"F",S:GOSUB 1510 288 R=R+1:CALL CHDIR (".."):CALL CHDIR ("2"):GOTO 300 290 IF R=3THEN CALL CHDIR ("3"):GOTO 300 291 IF R=4THEN CALL CHDIR ("4"):GOTO 300 292 IF R=5THEN CALL CHDIR ("5"):GOTO 300 293 IF R=6THEN CALL CHDIR ("6"):GOTO 300 294 IF R=7THEN CALL CHDIR ("7"): RB=7: GOTO 300 300 IF R=8THEN R=0 : P=P+1 : GOTO 60 301 BLOAD"0",S:GOSUB 1510 302 BLOAD"1",S:GOSUB 1510 304 BLOAD"2",S:GOSUB 1510 306 BLOAD"3",S:GOSUB 1510 308 BLOAD"4",S:GOSUB 1510 310 BLOAD"5",S:GOSUB 1510 312 BLOAD"6",S:GOSUB 1510 314 BLOAD"7",S:GOSUB 1510 316 BLOAD"8",S:GOSUB 1510 318 BLOAD"9",S:GOSUB 1510 320 BLOAD"A",S:GOSUB 1510 322 BLOAD"B",S:GOSUB 1510 324 BLOAD"C",S:GOSUB 1510 326 BLOAD"D",S:GOSUB 1510 328 BLOAD"E",S:GOSUB 1510 330 BLOAD"F",S:GOSUB 1510 332 R=R+1:CALL CHDIR (".."):GOTO 290 1500 ' 1510 Y=Y+2AND255:COPY(0,0)-(3,3),0TO(X,Y),0:VDP(24)=VDP(24)+252and255:N=N+2AND255:IFSTRIG(0)THENGOSUB2000 1515 S=STICK(0):ONS+1 GOSUB 1530,1560,1590,1620,1650,1690,1720,1750,1780:RETURN 1520 ' 1530 'STATIQUE 1540 RETURN 1550 ' 1560 'HAUT 1570 Y=Y-2AND255:RETURN 1580 ' 1590 'DIAGO HAUT DROITE 1600 X=X+2AND255:Y=Y-2AND255:RETURN 1610 ' 1620 'DROITE 1630 X=X+2AND255:RETURN 1640 ' 1650 'DROITE BAS 1660 X=X+2AND255:Y=Y+2AND255:RETURN 1670 ' 1680 ' 1690 'BAS 1700 Y=Y+2AND255:RETURN 1710 ' 1720 'DIAGO BAS GAUCHE 1730 X=X-4AND255:Y=Y+2AND255:RETURN 1740 ' 1750 'GAUCHE 1760 X=X-4AND255:RETURN 1770 ' 1780 'DIAGO HAUT GAUCHE 1790 X=X-4:Y=Y-2:RETURN 2000 ' 2010 'BETA MAPPE Longitude "X" '(Sélécteur de Colonnes) 2020 CALL CHDIR (".."):CALL CHDIR ("..") 2020 IF X>239THEN CALL CHDIR ("B-F"): GOTO 3000 2030 IF X>223THEN CALL CHDIR ("B-E"): GOTO 3000 2040 IF X>207THEN CALL CHDIR ("B-D"): GOTO 3000 2030 IF X>191THEN CALL CHDIR ("B-C"): GOTO 3000 2040 IF X>175THEN CALL CHDIR ("B-B"): GOTO 3000 2050 IF X>159THEN CALL CHDIR ("B-A"): GOTO 3000 2060 IF X>143THEN CALL CHDIR ("B-9"): GOTO 3000 2070 IF X>127THEN CALL CHDIR ("B-8"): GOTO 3000 2080 IF X>111THEN CALL CHDIR ("B-7"): GOTO 3000 2090 IF X>95THEN CALL CHDIR ("B-6"): GOTO 3000 2100 IF X>79THEN CALL CHDIR ("B-5"): GOTO 3000 2110 IF X>63THEN CALL CHDIR ("B-4"): GOTO 3000 2120 IF X>47THEN CALL CHDIR ("B-3"): GOTO 3000 2130 IF X>31THEN CALL CHDIR ("B-2"): GOTO 3000 2140 IF X>15THEN CALL CHDIR ("B-1"): GOTO 3000 2150 IF X>-1THEN CALL CHDIR ("B-0"): GOTO 3000 3000 ' 3010 'BETA MAPPE Latitude "Y" (Selecteur de bribes) 3020 IF Y>239THEN CALL CHDIR ("7"): GOTO 4316 3030 IF Y>223THEN CALL CHDIR ("7"): GOTO 4301 3040 IF Y>207THEN CALL CHDIR ("6"): GOTO 4316 3030 IF Y>191THEN CALL CHDIR ("6"): GOTO 4301 3040 IF Y>175THEN CALL CHDIR ("5"): GOTO 4316 3050 IF Y>159THEN CALL CHDIR ("5"): GOTO 4301 3060 IF Y>143THEN CALL CHDIR ("4"): GOTO 4316 3070 IF Y>127THEN CALL CHDIR ("4"): GOTO 4301 3080 IF Y>111THEN CALL CHDIR ("3"): GOTO 4316 3090 IF Y>95THEN CALL CHDIR ("3"): GOTO 4301 3100 IF Y>79THEN CALL CHDIR ("2"):GOTO 4316 3110 IF Y>63THEN CALL CHDIR ("2"):GOTO 4301 3120 IF Y>47THEN CALL CHDIR ("1"):GOTO 4272 3130 IF Y>31THEN CALL CHDIR ("1"):GOTO 4254 3140 IF Y>15THEN CALL CHDIR ("0"):GOTO 4238 3150 IF Y>-1THEN CALL CHDIR ("0"):GOTO 4220 4000 ' BRIBES BETA (Lecteur de Bribes par groupe de 8) 4220 ' 4222 BLOAD"0",S,0-11264 4224 BLOAD"1",S,0-11264 4226 BLOAD"2",S,0-11264 4228 BLOAD"3",S,0-11264 4230 BLOAD"4",S,0-11264 4232 BLOAD"5",S,0-11264 4234 BLOAD"6",S,0-11264 4236 BLOAD"7",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4238 BLOAD"8",S,0-11264 4240 BLOAD"9",S,0-11264 4242 BLOAD"A",S,0-11264 4244 BLOAD"B",S,0-11264 4246 BLOAD"C",S,0-11264 4248 BLOAD"D",S,0-11264 4250 BLOAD"E",S,0-11264 4252 BLOAD"F",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4254 BLOAD"0",S,0-11264 4258 BLOAD"1",S,0-11264 4260 BLOAD"2",S,0-11264 4262 BLOAD"3",S,0-11264 4264 BLOAD"4",S,0-11264 4266 BLOAD"5",S,0-11264 4268 BLOAD"6",S 4270 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4272 BLOAD"8",S 4274 BLOAD"9",S 4276 BLOAD"A",S 4278 BLOAD"B",S 4280 BLOAD"C",S 4282 BLOAD"D",S 4284 BLOAD"E",S 4286 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4301 BLOAD"0",S 4302 BLOAD"1",S 4304 BLOAD"2",S 4306 BLOAD"3",S 4308 BLOAD"4",S 4310 BLOAD"5",S 4312 BLOAD"6",S 4314 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4316 BLOAD"8",S 4318 BLOAD"9",S 4320 BLOAD"A",S 4322 BLOAD"B",S 4324 BLOAD"C",S 4326 BLOAD"D",S 4328 BLOAD"E",S 4330 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000 4332 ' 5000 ' Retour au Réperoire Initial 5210 IF PB=15THEN CALL CHDIR ("M-F"):GOTO 6000 5060 IF P=0THEN CALL CHDIR ("M-0"):GOTO 6000 5070 IF P=1THEN CALL CHDIR ("M-1"):GOTO 6000 5080 IF P=2THEN CALL CHDIR ("M-2"):GOTO 6000 5090 IF P=3THEN CALL CHDIR ("M-3"):GOTO 6000 5100 IF P=4THEN CALL CHDIR ("M-4"):GOTO 6000 5110 IF P=5THEN CALL CHDIR ("M-5"):GOTO 6000 5120 IF P=6THEN CALL CHDIR ("M-6"):GOTO 6000 5130 IF P=7THEN CALL CHDIR ("M-7"):GOTO 6000 5140 IF P=8THEN CALL CHDIR ("M-8"):GOTO 6000 5150 IF P=9THEN CALL CHDIR ("M-9"):GOTO 6000 5160 IF P=10THEN CALL CHDIR ("M-A"):GOTO 6000 5170 IF P=11THEN CALL CHDIR ("M-B"):GOTO 6000 5180 IF P=12THEN CALL CHDIR ("M-C"):GOTO 6000 5190 IF P=13THEN CALL CHDIR ("M-D"):GOTO 6000 5200 IF P=14THEN CALL CHDIR ("M-E"):GOTO 6000 5210 'IF P=15THEN CALL CHDIR ("M-F"):GOTO 6000 6000 ' Retour au répertoire Initial 6300 IF RB=7THEN CALL CHDIR ("7"):GOTO 1515 6220 IF R=0THEN CALL CHDIR ("0"):GOTO 1515 6254 IF R=1THEN CALL CHDIR ("1"):GOTO 1515 6288 IF R=2THEN CALL CHDIR ("2"):GOTO 1515 6290 IF R=3THEN CALL CHDIR ("3"):GOTO 1515 6291 IF R=4THEN CALL CHDIR ("4"):GOTO 1515 6292 IF R=5THEN CALL CHDIR ("5"):GOTO 1515 6293 IF R=6THEN CALL CHDIR ("6"):GOTO 1515 6294 'IF R=7THEN CALL CHDIR ("7"):GOTO 1515
On peut voir dans le déroulement du programme que lorsque la commande IF STRIG (0) est activé, on est renvoyé dans les sous programme suivants:
Le sous programme ci dessous permet d'aiguiller vers le répertoire contenant la MAPPE ou les Graphismes sont détruits sur une seule colonne sur toute la mappe.
Nb: La mappe MASTER étant découpée zones horizontales large de 16 Pixels, il faut donc 16 mappes différentes
2010 'BETA MAPPE Longitude "X" '(Sélécteur de Colonnes)
2020 CALL CHDIR ("..")
2020 IF X>239THEN CALL CHDIR ("B-F"): GOTO 3000
2030 IF X>223THEN CALL CHDIR ("B-E"): GOTO 3000
2040 IF X>207THEN CALL CHDIR ("B-D"): GOTO 3000
2030 IF X>191THEN CALL CHDIR ("B-C"): GOTO 3000
2040 IF X>175THEN CALL CHDIR ("B-B"): GOTO 3000
2050 IF X>159THEN CALL CHDIR ("B-A"): GOTO 3000
2060 IF X>143THEN CALL CHDIR ("B-9"): GOTO 3000
2070 IF X>127THEN CALL CHDIR ("B-8"): GOTO 3000
2080 IF X>111THEN CALL CHDIR ("B-7"): GOTO 3000
2090 IF X>95THEN CALL CHDIR ("B-6"): GOTO 3000
2100 IF X>79THEN CALL CHDIR ("B-5"): GOTO 3000
2110 IF X>63THEN CALL CHDIR ("B-4"): GOTO 3000
2120 IF X>47THEN CALL CHDIR ("B-3"): GOTO 3000
2130 IF X>31THEN CALL CHDIR ("B-2"): GOTO 3000
2140 IF X>15THEN CALL CHDIR ("B-1"): GOTO 3000
2150 IF X>-1THEN CALL CHDIR ("B-0"): GOTO 3000
Il m'a semblé plus judicieux de procéder à rebours
Le sous programme suivant permet d'aiguiller vers le répertoire contenant les Bribes devant être affichées à une latitude déterminée par la valeur Y
3000 '
3010 'BETA MAPPE Latitude "Y" (Selecteur de bribes)
3020 IF Y>239THEN CALL CHDIR ("7"): GOTO 4316
3030 IF Y>223THEN CALL CHDIR ("7"): GOTO 4301
3040 IF Y>207THEN CALL CHDIR ("6"): GOTO 4316
3030 IF Y>191THEN CALL CHDIR ("6"): GOTO 4301
3040 IF Y>175THEN CALL CHDIR ("5"): GOTO 4316
3050 IF Y>159THEN CALL CHDIR ("5"): GOTO 4301
3060 IF Y>143THEN CALL CHDIR ("4"): GOTO 4316
3070 IF Y>127THEN CALL CHDIR ("4"): GOTO 4301
3080 IF Y>111THEN CALL CHDIR ("3"): GOTO 4316
3090 IF Y>95THEN CALL CHDIR ("3"): GOTO 4301
3100 IF Y>79THEN CALL CHDIR ("2"):GOTO 4316
3110 IF Y>63THEN CALL CHDIR ("2"):GOTO 4301
3120 IF Y>47THEN CALL CHDIR ("1"):GOTO 4272
3130 IF Y>31THEN CALL CHDIR ("1"):GOTO 4254
3140 IF Y>15THEN CALL CHDIR ("0"):GOTO 4238
3150 IF Y>-1THEN CALL CHDIR ("0"):GOTO 4220
La aussi, il me parait plus logique de procéder à rebours
Maintenant que la Longitude et Latitude est correctement retranscrite, il ne reste plus qu'a faire se succéder les Bribes.
J'ai pensé que 8 bribes de 2 Pixels de Hauts devraient convenir. (on verra bien).
4000 ' BRIBES BETA (Lecteur de Bribes par groupe de 8)
4220 '
4222 BLOAD"0",S,0-11264
4224 BLOAD"1",S,0-11264
4226 BLOAD"2",S,0-11264
4228 BLOAD"3",S,0-11264
4230 BLOAD"4",S,0-11264
4232 BLOAD"5",S,0-11264
4234 BLOAD"6",S,0-11264
4236 BLOAD"7",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4238 BLOAD"8",S,0-11264
4240 BLOAD"9",S,0-11264
4242 BLOAD"A",S,0-11264
4244 BLOAD"B",S,0-11264
4246 BLOAD"C",S,0-11264
4248 BLOAD"D",S,0-11264
4250 BLOAD"E",S,0-11264
4252 BLOAD"F",S,0-11264:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4254 BLOAD"0",S,0-11264
4258 BLOAD"1",S,0-11264
4260 BLOAD"2",S,0-11264
4262 BLOAD"3",S,0-11264
4264 BLOAD"4",S,0-11264
4266 BLOAD"5",S,0-11264
4268 BLOAD"6",S
4270 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4272 BLOAD"8",S
4274 BLOAD"9",S
4276 BLOAD"A",S
4278 BLOAD"B",S
4280 BLOAD"C",S
4282 BLOAD"D",S
4284 BLOAD"E",S
4286 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4301 BLOAD"0",S
4302 BLOAD"1",S
4304 BLOAD"2",S
4306 BLOAD"3",S
4308 BLOAD"4",S
4310 BLOAD"5",S
4312 BLOAD"6",S
4314 BLOAD"7",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4316 BLOAD"8",S
4318 BLOAD"9",S
4320 BLOAD"A",S
4322 BLOAD"B",S
4324 BLOAD"C",S
4326 BLOAD"D",S
4328 BLOAD"E",S
4330 BLOAD"F",S:CALL CHDIR (".."):CALL CHDIR (".."):GOTO 5000
4332 '
Pour que le moulin tourne normalement, il faut séparer 3 possibilité quant à la possibilité de rencontrer des Bribes [Toutes Particulières] [Mi particulières, mi normales] [Toutes Normales]
Chaque groupe est donc constitué de 8 Bribes de 2 Pixels de Haut pour un total de 16 Pixels de Haut pour "COUVRIR" l'ancien graphisme MASTER par le Graphisme BETA.
Voici la dernière étape avant de reprendre un processus "initial".
5000 ' Retour au Réperoire Initial
5210 IF PB=15THEN CALL CHDIR ("M-F"):GOTO 6000
5060 IF P=0THEN CALL CHDIR ("M-0"):GOTO 6000
5070 IF P=1THEN CALL CHDIR ("M-1"):GOTO 6000
5080 IF P=2THEN CALL CHDIR ("M-2"):GOTO 6000
5090 IF P=3THEN CALL CHDIR ("M-3"):GOTO 6000
5100 IF P=4THEN CALL CHDIR ("M-4"):GOTO 6000
5110 IF P=5THEN CALL CHDIR ("M-5"):GOTO 6000
5120 IF P=6THEN CALL CHDIR ("M-6"):GOTO 6000
5130 IF P=7THEN CALL CHDIR ("M-7"):GOTO 6000
5140 IF P=8THEN CALL CHDIR ("M-8"):GOTO 6000
5150 IF P=9THEN CALL CHDIR ("M-9"):GOTO 6000
5160 IF P=10THEN CALL CHDIR ("M-A"):GOTO 6000
5170 IF P=11THEN CALL CHDIR ("M-B"):GOTO 6000
5180 IF P=12THEN CALL CHDIR ("M-C"):GOTO 6000
5190 IF P=13THEN CALL CHDIR ("M-D"):GOTO 6000
5200 IF P=14THEN CALL CHDIR ("M-E"):GOTO 6000
5210 'IF P=15THEN CALL CHDIR ("M-F"):GOTO 6000
6000 ' Retour au répertoire Initial
6300 IF RB=7THEN CALL CHDIR ("7"):GOTO 1515
6220 IF R=0THEN CALL CHDIR ("0"):GOTO 1515
6254 IF R=1THEN CALL CHDIR ("1"):GOTO 1515
6288 IF R=2THEN CALL CHDIR ("2"):GOTO 1515
6290 IF R=3THEN CALL CHDIR ("3"):GOTO 1515
6291 IF R=4THEN CALL CHDIR ("4"):GOTO 1515
6292 IF R=5THEN CALL CHDIR ("5"):GOTO 1515
6293 IF R=6THEN CALL CHDIR ("6"):GOTO 1515
6294 'IF R=7THEN CALL CHDIR ("7"):GOTO 1515
Ce sous programme permet de retourner vers le répertoire dans lequel se déroulait précédemment le programme principal.
J'ai pas encore tester, mais on doit pas être très loin de ce que je cherche à faire.
J'suis en r'tard avec mes poireaux moa
Edité par igal Le 24/10/2014 à 15h10
Fabf
Membre non connecté
Conseiller Municipal
Tu dois pouvoir remplacer :
5210 IF PB=15THEN CALL CHDIR ("M-F"):GOTO 6000
5060 IF P=0THEN CALL CHDIR ("M-0"):GOTO 6000
5070 IF P=1THEN CALL CHDIR ("M-1"):GOTO 6000
5080 IF P=2THEN CALL CHDIR ("M-2"):GOTO 6000
5090 IF P=3THEN CALL CHDIR ("M-3"):GOTO 6000
5100 IF P=4THEN CALL CHDIR ("M-4"):GOTO 6000
5110 IF P=5THEN CALL CHDIR ("M-5"):GOTO 6000
5120 IF P=6THEN CALL CHDIR ("M-6"):GOTO 6000
5130 IF P=7THEN CALL CHDIR ("M-7"):GOTO 6000
5140 IF P=8THEN CALL CHDIR ("M-8"):GOTO 6000
5150 IF P=9THEN CALL CHDIR ("M-9"):GOTO 6000
5160 IF P=10THEN CALL CHDIR ("M-A"):GOTO 6000
5170 IF P=11THEN CALL CHDIR ("M-B"):GOTO 6000
5180 IF P=12THEN CALL CHDIR ("M-C"):GOTO 6000
5190 IF P=13THEN CALL CHDIR ("M-D"):GOTO 6000
5200 IF P=14THEN CALL CHDIR ("M-E"):GOTO 6000
5210 'IF P=15THEN CALL CHDIR ("M-F"):GOTO 6000
par :
5060 CALL CHDIR ("M-"+hex$(P)):GOTO 6000
Cela doit permettre en une ligne d'éviter les 15 conditions
5210 IF PB=15THEN CALL CHDIR ("M-F"):GOTO 6000
5060 IF P=0THEN CALL CHDIR ("M-0"):GOTO 6000
5070 IF P=1THEN CALL CHDIR ("M-1"):GOTO 6000
5080 IF P=2THEN CALL CHDIR ("M-2"):GOTO 6000
5090 IF P=3THEN CALL CHDIR ("M-3"):GOTO 6000
5100 IF P=4THEN CALL CHDIR ("M-4"):GOTO 6000
5110 IF P=5THEN CALL CHDIR ("M-5"):GOTO 6000
5120 IF P=6THEN CALL CHDIR ("M-6"):GOTO 6000
5130 IF P=7THEN CALL CHDIR ("M-7"):GOTO 6000
5140 IF P=8THEN CALL CHDIR ("M-8"):GOTO 6000
5150 IF P=9THEN CALL CHDIR ("M-9"):GOTO 6000
5160 IF P=10THEN CALL CHDIR ("M-A"):GOTO 6000
5170 IF P=11THEN CALL CHDIR ("M-B"):GOTO 6000
5180 IF P=12THEN CALL CHDIR ("M-C"):GOTO 6000
5190 IF P=13THEN CALL CHDIR ("M-D"):GOTO 6000
5200 IF P=14THEN CALL CHDIR ("M-E"):GOTO 6000
5210 'IF P=15THEN CALL CHDIR ("M-F"):GOTO 6000
par :
5060 CALL CHDIR ("M-"+hex$(P)):GOTO 6000
Cela doit permettre en une ligne d'éviter les 15 conditions
igal
Membre non connecté
Conseiller Municipal
Merci Fabf. Je garde ça sous le coude.
Pour le moment, je vais déjà essayé de mouliner ça voir combien de Bugs ont tapé l'incruste
Voici une nouvelle version du schéma de fonctionnement:
Votre opinion m'intéresse
Pour le moment, je vais déjà essayé de mouliner ça voir combien de Bugs ont tapé l'incruste
Voici une nouvelle version du schéma de fonctionnement:
Votre opinion m'intéresse
igal
Membre non connecté
Conseiller Municipal
Oui Jipe. Vais faire ca demain
Pour se faire une idée du procédé, voici 3 images d'une Mappe.
La plus à gauche es vierge, celle du milieu contient les ennemis et celle de droite affiche des explosions.
Pour faciliter l'insertion des explosions, j'ai scindé la mappe en 16 colonnes de sorte à ne pas placer une explosion à cheval sur deux colonnes.
Pour se faire une idée du procédé, voici 3 images d'une Mappe.
La plus à gauche es vierge, celle du milieu contient les ennemis et celle de droite affiche des explosions.
Pour faciliter l'insertion des explosions, j'ai scindé la mappe en 16 colonnes de sorte à ne pas placer une explosion à cheval sur deux colonnes.
Bastion Rebel
Membre non connecté
Conseiller Municipal
ah super ca me donner envie de faire un RAIDEN !!!
a quand la version sur MSX !!!
a quand la version sur MSX !!!
TURBO-R FS-A1ST 512/128ko MSX2+ NMS 8250 F4 /Fix Audio /Ram 1/4Mb VDP9958 VRAM 192ko 2FDD SANYO WAVY PHC35J MSX2 NMS 8280 Ram 4Mb VDP9938 VRAM 192ko 2FDD NMS 8250 128/128ko 2FDD VG8235/39 128/128ko 1FDD SONY HB-F700D MSX1 MC810 32/16k VG 8020 64k HB75F 64k HX-22 64k RS232/ CX5M 32k HB501F EXT : My Exp 4X/[b] MegaFlashSCC 512ko/BERT R2/BEER CF/SUNRISE 2CF/FUNRICE V2.01/MAXIOL/MEGASCSI HDD-CD/SDMSX 1SD/FMPAC SRAM/NMS1205+1160/RS 232 Harukaze/GR8NET/DOS2/ HOMER V2 RAM512ko/Floppy Pack/MAXduino/ROM1664/FM Pak /GR8NET /AMIGA/ PC/ RaspB Pi(B) / ARDUINO
igal
Membre non connecté
Conseiller Municipal
Damnation!
Me suis loupé dans l'ordre de la création de la Mappe et donc de défilement des Bribes!
Me reste plus qu'à recréer toute les bribes en commençant par découper la mappe en commençant par le haut et non par le bas
@Gradius: Tu as trouvé ma taverne.
J'ai essayé de récupérer les animation des GIF en faisant [Click droit/ Enregistrer sous] mais au final, j'ai seulement une image même en ouvrant avec Paint.Net.
Je voulais ajouter un Boss animé en fin de Mape
Me suis loupé dans l'ordre de la création de la Mappe et donc de défilement des Bribes!
Me reste plus qu'à recréer toute les bribes en commençant par découper la mappe en commençant par le haut et non par le bas
@Gradius: Tu as trouvé ma taverne.
J'ai essayé de récupérer les animation des GIF en faisant [Click droit/ Enregistrer sous] mais au final, j'ai seulement une image même en ouvrant avec Paint.Net.
Je voulais ajouter un Boss animé en fin de Mape
SveN
Membre non connecté
Villageois
igal
Membre non connecté
Conseiller Municipal
igal
Membre non connecté
Conseiller Municipal
@sven: j'ai toujours été frustré de ne pouvoir créer un scroll en Basic.
En toute modestie, avec l'aide du village, j'ai pu trouver le moyen extrêmement simple de créer un scroll vertical sur la base de L'incrementation de vdp (24).
La seconde difficulté étant que le scroll conséquent à vdp (24) déplace la zone habituellement cachée des spirites.
Ce problème est triple mais pour faire simple, les trois probes sont résolus par
1) vdp (9)=vdp (9) or 2 pour désactiver l'affichage des spirites en attendant de déplacer la zone sur la seconde page disponible en SCREEN 12
2) bload"image.scc", 0-44, S qui permet d'afficher des images facilement au delà de la zone comprise allant de 0 à 211.
3) le générateur de bribes qui sont rien d'autres que de petites images contenant la coordonnée d'affichage de la dite image.
Voilà dans les grandes lignes ce qu'il faut retenir sur le scroll "selon vdp (24)"
Pour ce qui est du vdp (27) c'est encore plus compliqué puisqu'en plus des 3 paramètres précédents, il faut faire glisser horizontalement une addition de décors se faisant verticalement
La encore avec l'aide des villageois, j'ai trouvé la solution en appliquant cette idée.
Une copie verticale de bribes horizontales doit alimenter le scroll à mesure que vdp(27) s'incremente mais comment faire ?
Il suffit d'alterner une séquence d'affichage verticale avec une séquence de création horizontale.
Pour cela, la première chose visible avec cette technique est le contenu "neant" de la vram qui est remplacé à crescendo (en escalier) par le contenu alimenté de la vram par les bribes horizontales créés dans la seconde page du screen 12.
Pour un résulta cohérent, il est indispensable d'avoir une progression horizontale qui soit égale à la création verticale.
concrètement, la page cachée créée doit faire 256X256 (mais c'est faux) et la page affichée doit faire 256X256 et la c'est vrai
Sachant que l'affichage sur la page visible se fait par défilement horizontal par crans de 2 pixels, il faut donc que les bribes qui s'affichent sur la page cachée fassent aussi 2 pixels mais cette fois de hauteur.
de la sorte, on a bien une lecture en escalier traçant une diagonale depuis les coordonnées 0/0-44 jusqu'à 256/212.
On a donc bien une diagonale de 256/256.
Le dernier problème à résoudre avec le scroll horizontal avec cette technique est le suivant:
Puisque le contenu de la page cachée est affichée sur la page visible mais en que le contenu visible est la conséquence d'une progression diagonale, la première moitié de l'image cachée est visible avec une image de retard.
Ce problème se résout par le remplacement de la partie inférieur gauche de la diagonale de limage B par la partie inférieur gauche de la diagonale de l'image A.
Partant de ce principe:
Bas Gauche de C contient bas Gauche de B.
D de C.
E de D etc etc...
A ce sujet, la toute première image affichée par ce scroll ne pouvant être que vierge, il suffit de pré charger une image contenant le bas Gauche coherent de la première image pour que le scroll commence par une image entière et cohérente.
Autrement dit il suffit d'un bload " première image. Sca", S avant de commencer un scroll horizontal.
On peut aussi boucler les image sans fin simplement en faisant en sorte que la dernière image du scroll coïncide avec la première image du scroll.
Voilà dans les grandes lignes
Beaucoup d'autres choses sont possible comme la modification de la palette graphique sans sortir de la boucle principale du scroll.
Avant tout il faut savoir .........
En toute modestie, avec l'aide du village, j'ai pu trouver le moyen extrêmement simple de créer un scroll vertical sur la base de L'incrementation de vdp (24).
La seconde difficulté étant que le scroll conséquent à vdp (24) déplace la zone habituellement cachée des spirites.
Ce problème est triple mais pour faire simple, les trois probes sont résolus par
1) vdp (9)=vdp (9) or 2 pour désactiver l'affichage des spirites en attendant de déplacer la zone sur la seconde page disponible en SCREEN 12
2) bload"image.scc", 0-44, S qui permet d'afficher des images facilement au delà de la zone comprise allant de 0 à 211.
3) le générateur de bribes qui sont rien d'autres que de petites images contenant la coordonnée d'affichage de la dite image.
Voilà dans les grandes lignes ce qu'il faut retenir sur le scroll "selon vdp (24)"
Pour ce qui est du vdp (27) c'est encore plus compliqué puisqu'en plus des 3 paramètres précédents, il faut faire glisser horizontalement une addition de décors se faisant verticalement
La encore avec l'aide des villageois, j'ai trouvé la solution en appliquant cette idée.
Une copie verticale de bribes horizontales doit alimenter le scroll à mesure que vdp(27) s'incremente mais comment faire ?
Il suffit d'alterner une séquence d'affichage verticale avec une séquence de création horizontale.
Pour cela, la première chose visible avec cette technique est le contenu "neant" de la vram qui est remplacé à crescendo (en escalier) par le contenu alimenté de la vram par les bribes horizontales créés dans la seconde page du screen 12.
Pour un résulta cohérent, il est indispensable d'avoir une progression horizontale qui soit égale à la création verticale.
concrètement, la page cachée créée doit faire 256X256 (mais c'est faux) et la page affichée doit faire 256X256 et la c'est vrai
Sachant que l'affichage sur la page visible se fait par défilement horizontal par crans de 2 pixels, il faut donc que les bribes qui s'affichent sur la page cachée fassent aussi 2 pixels mais cette fois de hauteur.
de la sorte, on a bien une lecture en escalier traçant une diagonale depuis les coordonnées 0/0-44 jusqu'à 256/212.
On a donc bien une diagonale de 256/256.
Le dernier problème à résoudre avec le scroll horizontal avec cette technique est le suivant:
Puisque le contenu de la page cachée est affichée sur la page visible mais en que le contenu visible est la conséquence d'une progression diagonale, la première moitié de l'image cachée est visible avec une image de retard.
Ce problème se résout par le remplacement de la partie inférieur gauche de la diagonale de limage B par la partie inférieur gauche de la diagonale de l'image A.
Partant de ce principe:
Bas Gauche de C contient bas Gauche de B.
D de C.
E de D etc etc...
A ce sujet, la toute première image affichée par ce scroll ne pouvant être que vierge, il suffit de pré charger une image contenant le bas Gauche coherent de la première image pour que le scroll commence par une image entière et cohérente.
Autrement dit il suffit d'un bload " première image. Sca", S avant de commencer un scroll horizontal.
On peut aussi boucler les image sans fin simplement en faisant en sorte que la dernière image du scroll coïncide avec la première image du scroll.
Voilà dans les grandes lignes
Beaucoup d'autres choses sont possible comme la modification de la palette graphique sans sortir de la boucle principale du scroll.
Avant tout il faut savoir .........
igal
Membre non connecté
Conseiller Municipal
A force de creuser, je viens de comprendre pourquoi il m'est impossible d'afficher des graphismes qui déroulent de [BAS en HAUT] de manière cohérente alors que l'affichage de [HAUT en BAS] se fait parfaitement.
La raison est simple puisque:
1) Les bribes ont un emplacement prédéfinies.
2) L'emplacement est indiqué par le "générateur".
3) Le générateur se contente "d'extraire" par [Copier/Coller] des lignes d'une image.
4) Le player ne fait que lire les bribes de façon succincte sans indiquer de coordonnées.
Ces opérations ne posent aucun problème pour un SCROLL allant de [HAUT vers le BAS] puisque le générateur suit ce processus.
Pour créer un SROLL allant de [BAS en HAUT], il faut "Altérer" les coordonnées "Latitudes" dans le générateur.
Concrètement, voici à quoi ressemble le générateur actuellement.
Je voudrais donc modifier tel que par exemple:
122 BLOAD"00000001.SCA",S: BSAVE"022",256*0,256*2-1,S soit sauvée avec la latitude de 211 à 212
123 BLOAD"00000001.SCA",S: BSAVE"023",256*2,256*4-1,S soit sauvée avec la latitude de 209 à 210
124 BLOAD"00000001.SCA",S: BSAVE"024",256*4,256*6-1,S soit sauvée avec la latitude de 207 à 208
etc etc...
Pouvez vous m'indiquer la commande exacte svp?
La raison est simple puisque:
1) Les bribes ont un emplacement prédéfinies.
2) L'emplacement est indiqué par le "générateur".
3) Le générateur se contente "d'extraire" par [Copier/Coller] des lignes d'une image.
4) Le player ne fait que lire les bribes de façon succincte sans indiquer de coordonnées.
Ces opérations ne posent aucun problème pour un SCROLL allant de [HAUT vers le BAS] puisque le générateur suit ce processus.
Pour créer un SROLL allant de [BAS en HAUT], il faut "Altérer" les coordonnées "Latitudes" dans le générateur.
Concrètement, voici à quoi ressemble le générateur actuellement.
Citation :
10 'SAVE"GEN00-03.asc",A
20 'generateur de bribes d'images [22x(2x256)]+[(106x(2x256)]
30 VDP(10)=0: SCREEN 10
99 CALL CHDIR ("M-00-01")
122 BLOAD"00000001.SCA",S: BSAVE"022",256*0,256*2-1,S
123 BLOAD"00000001.SCA",S: BSAVE"023",256*2,256*4-1,S
124 BLOAD"00000001.SCA",S: BSAVE"024",256*4,256*6-1,S
125 BLOAD"00000001.SCA",S: BSAVE"025",256*6,256*8-1,S
126 BLOAD"00000001.SCA",S: BSAVE"026",256*8,256*10-1,S
127 BLOAD"00000001.SCA",S: BSAVE"027",256*10,256*12-1,S
128 BLOAD"00000001.SCA",S: BSAVE"028",256*12,256*14-1,S
129 BLOAD"00000001.SCA",S: BSAVE"029",256*14,256*16-1,S
130 BLOAD"00000001.SCA",S: BSAVE"030",256*16,256*18-1,S
131 BLOAD"00000001.SCA",S: BSAVE"031",256*18,256*20-1,S
132 BLOAD"00000001.SCA",S: BSAVE"032",256*20,256*22-1,S
133 BLOAD"00000001.SCA",S: BSAVE"033",256*22,256*24-1,S
134 BLOAD"00000001.SCA",S: BSAVE"034",256*24,256*26-1,S
135 BLOAD"00000001.SCA",S: BSAVE"035",256*26,256*28-1,S
136 BLOAD"00000001.SCA",S: BSAVE"036",256*28,256*30-1,S
137 BLOAD"00000001.SCA",S: BSAVE"037",256*30,256*32-1,S
138 BLOAD"00000001.SCA",S: BSAVE"038",256*32,256*34-1,S
139 BLOAD"00000001.SCA",S: BSAVE"039",256*34,256*36-1,S
140 BLOAD"00000001.SCA",S: BSAVE"040",256*36,256*38-1,S
141 BLOAD"00000001.SCA",S: BSAVE"041",256*38,256*40-1,S
142 BLOAD"00000001.SCA",S: BSAVE"042",256*40,256*42-1,S
143 BLOAD"00000001.SCA",S: BSAVE"043",256*42,256*44-1,S
144 BLOAD"00000001.SCA",S: BSAVE"044",256*44,256*46-1,S
145 BLOAD"00000001.SCA",S: BSAVE"045",256*46,256*48-1,S
146 BLOAD"00000001.SCA",S: BSAVE"046",256*48,256*50-1,S
147 BLOAD"00000001.SCA",S: BSAVE"047",256*50,256*52-1,S
148 BLOAD"00000001.SCA",S: BSAVE"048",256*52,256*54-1,S
149 BLOAD"00000001.SCA",S: BSAVE"049",256*54,256*56-1,S
150 BLOAD"00000001.SCA",S: BSAVE"050",256*56,256*58-1,S
151 BLOAD"00000001.SCA",S: BSAVE"051",256*58,256*60-1,S
152 BLOAD"00000001.SCA",S: BSAVE"052",256*60,256*62-1,S
153 BLOAD"00000001.SCA",S: BSAVE"053",256*62,256*64-1,S
154 BLOAD"00000001.SCA",S: BSAVE"054",256*64,256*66-1,S
155 BLOAD"00000001.SCA",S: BSAVE"055",256*66,256*68-1,S
156 BLOAD"00000001.SCA",S: BSAVE"056",256*68,256*70-1,S
157 BLOAD"00000001.SCA",S: BSAVE"057",256*70,256*72-1,S
158 BLOAD"00000001.SCA",S: BSAVE"058",256*72,256*74-1,S
159 BLOAD"00000001.SCA",S: BSAVE"059",256*74,256*76-1,S
160 BLOAD"00000001.SCA",S: BSAVE"060",256*76,256*78-1,S
161 BLOAD"00000001.SCA",S: BSAVE"061",256*78,256*80-1,S
162 BLOAD"00000001.SCA",S: BSAVE"062",256*80,256*82-1,S
163 BLOAD"00000001.SCA",S: BSAVE"063",256*82,256*84-1,S
164 BLOAD"00000001.SCA",S: BSAVE"064",256*84,256*86-1,S
165 BLOAD"00000001.SCA",S: BSAVE"065",256*86,256*88-1,S
166 BLOAD"00000001.SCA",S: BSAVE"066",256*88,256*90-1,S
167 BLOAD"00000001.SCA",S: BSAVE"067",256*90,256*92-1,S
168 BLOAD"00000001.SCA",S: BSAVE"068",256*92,256*94-1,S
169 BLOAD"00000001.SCA",S: BSAVE"069",256*94,256*96-1,S
170 BLOAD"00000001.SCA",S: BSAVE"070",256*96,256*98-1,S
171 BLOAD"00000001.SCA",S: BSAVE"071",256*98,256*100-1,S
172 BLOAD"00000001.SCA",S: BSAVE"072",256*100,256*102-1,S
173 BLOAD"00000001.SCA",S: BSAVE"073",256*102,256*104-1,S
174 BLOAD"00000001.SCA",S: BSAVE"074",256*104,256*106-1,S
175 BLOAD"00000001.SCA",S: BSAVE"075",256*106,256*108-1,S
176 BLOAD"00000001.SCA",S: BSAVE"076",256*108,256*110-1,S
177 BLOAD"00000001.SCA",S: BSAVE"077",256*110,256*112-1,S
178 BLOAD"00000001.SCA",S: BSAVE"078",256*112,256*114-1,S
179 BLOAD"00000001.SCA",S: BSAVE"079",256*114,256*116-1,S
180 BLOAD"00000001.SCA",S: BSAVE"080",256*116,256*118-1,S
181 BLOAD"00000001.SCA",S: BSAVE"081",256*118,256*120-1,S
182 BLOAD"00000001.SCA",S: BSAVE"082",256*120,256*122-1,S
183 BLOAD"00000001.SCA",S: BSAVE"083",256*122,256*124-1,S
184 BLOAD"00000001.SCA",S: BSAVE"084",256*124,256*126-1,S
185 BLOAD"00000001.SCA",S: BSAVE"085",256*126,256*128-1,S
186 BLOAD"00000001.SCA",S: BSAVE"086",256*128,256*130-1,S
187 BLOAD"00000001.SCA",S: BSAVE"087",256*130,256*132-1,S
188 BLOAD"00000001.SCA",S: BSAVE"088",256*132,256*134-1,S
189 BLOAD"00000001.SCA",S: BSAVE"089",256*134,256*136-1,S
190 BLOAD"00000001.SCA",S: BSAVE"090",256*136,256*138-1,S
191 BLOAD"00000001.SCA",S: BSAVE"091",256*138,256*140-1,S
192 BLOAD"00000001.SCA",S: BSAVE"092",256*140,256*142-1,S
193 BLOAD"00000001.SCA",S: BSAVE"093",256*142,256*144-1,S
194 BLOAD"00000001.SCA",S: BSAVE"094",256*144,256*146-1,S
195 BLOAD"00000001.SCA",S: BSAVE"095",256*146,256*148-1,S
196 BLOAD"00000001.SCA",S: BSAVE"096",256*148,256*150-1,S
197 BLOAD"00000001.SCA",S: BSAVE"097",256*150,256*152-1,S
198 BLOAD"00000001.SCA",S: BSAVE"098",256*152,256*154-1,S
199 BLOAD"00000001.SCA",S: BSAVE"099",256*154,256*156-1,S
200 BLOAD"00000001.SCA",S: BSAVE"100",256*156,256*158-1,S
201 BLOAD"00000001.SCA",S: BSAVE"101",256*158,256*160-1,S
202 BLOAD"00000001.SCA",S: BSAVE"102",256*160,256*162-1,S
203 BLOAD"00000001.SCA",S: BSAVE"103",256*162,256*164-1,S
204 BLOAD"00000001.SCA",S: BSAVE"104",256*164,256*166-1,S
205 BLOAD"00000001.SCA",S: BSAVE"105",256*166,256*168-1,S
206 BLOAD"00000001.SCA",S: BSAVE"106",256*168,256*170-1,S
207 BLOAD"00000001.SCA",S: BSAVE"107",256*170,256*172-1,S
208 BLOAD"00000001.SCA",S: BSAVE"108",256*172,256*174-1,S
209 BLOAD"00000001.SCA",S: BSAVE"109",256*174,256*176-1,S
210 BLOAD"00000001.SCA",S: BSAVE"110",256*176,256*178-1,S
211 BLOAD"00000001.SCA",S: BSAVE"111",256*178,256*180-1,S
212 BLOAD"00000001.SCA",S: BSAVE"112",256*180,256*182-1,S
213 BLOAD"00000001.SCA",S: BSAVE"113",256*182,256*184-1,S
214 BLOAD"00000001.SCA",S: BSAVE"114",256*184,256*186-1,S
215 BLOAD"00000001.SCA",S: BSAVE"115",256*186,256*188-1,S
216 BLOAD"00000001.SCA",S: BSAVE"116",256*188,256*190-1,S
217 BLOAD"00000001.SCA",S: BSAVE"117",256*190,256*192-1,S
218 BLOAD"00000001.SCA",S: BSAVE"118",256*192,256*194-1,S
219 BLOAD"00000001.SCA",S: BSAVE"119",256*194,256*196-1,S
220 BLOAD"00000001.SCA",S: BSAVE"120",256*196,256*198-1,S
221 BLOAD"00000001.SCA",S: BSAVE"121",256*198,256*200-1,S
222 BLOAD"00000001.SCA",S: BSAVE"122",256*200,256*202-1,S
223 BLOAD"00000001.SCA",S: BSAVE"123",256*202,256*204-1,S
224 BLOAD"00000001.SCA",S: BSAVE"124",256*204,256*206-1,S
225 BLOAD"00000001.SCA",S: BSAVE"125",256*206,256*208-1,S
226 BLOAD"00000001.SCA",S: BSAVE"126",256*208,256*210-1,S
227 BLOAD"00000001.SCA",S: BSAVE"127",256*210,256*212-1,S
10 'SAVE"GEN00-03.asc",A
20 'generateur de bribes d'images [22x(2x256)]+[(106x(2x256)]
30 VDP(10)=0: SCREEN 10
99 CALL CHDIR ("M-00-01")
122 BLOAD"00000001.SCA",S: BSAVE"022",256*0,256*2-1,S
123 BLOAD"00000001.SCA",S: BSAVE"023",256*2,256*4-1,S
124 BLOAD"00000001.SCA",S: BSAVE"024",256*4,256*6-1,S
125 BLOAD"00000001.SCA",S: BSAVE"025",256*6,256*8-1,S
126 BLOAD"00000001.SCA",S: BSAVE"026",256*8,256*10-1,S
127 BLOAD"00000001.SCA",S: BSAVE"027",256*10,256*12-1,S
128 BLOAD"00000001.SCA",S: BSAVE"028",256*12,256*14-1,S
129 BLOAD"00000001.SCA",S: BSAVE"029",256*14,256*16-1,S
130 BLOAD"00000001.SCA",S: BSAVE"030",256*16,256*18-1,S
131 BLOAD"00000001.SCA",S: BSAVE"031",256*18,256*20-1,S
132 BLOAD"00000001.SCA",S: BSAVE"032",256*20,256*22-1,S
133 BLOAD"00000001.SCA",S: BSAVE"033",256*22,256*24-1,S
134 BLOAD"00000001.SCA",S: BSAVE"034",256*24,256*26-1,S
135 BLOAD"00000001.SCA",S: BSAVE"035",256*26,256*28-1,S
136 BLOAD"00000001.SCA",S: BSAVE"036",256*28,256*30-1,S
137 BLOAD"00000001.SCA",S: BSAVE"037",256*30,256*32-1,S
138 BLOAD"00000001.SCA",S: BSAVE"038",256*32,256*34-1,S
139 BLOAD"00000001.SCA",S: BSAVE"039",256*34,256*36-1,S
140 BLOAD"00000001.SCA",S: BSAVE"040",256*36,256*38-1,S
141 BLOAD"00000001.SCA",S: BSAVE"041",256*38,256*40-1,S
142 BLOAD"00000001.SCA",S: BSAVE"042",256*40,256*42-1,S
143 BLOAD"00000001.SCA",S: BSAVE"043",256*42,256*44-1,S
144 BLOAD"00000001.SCA",S: BSAVE"044",256*44,256*46-1,S
145 BLOAD"00000001.SCA",S: BSAVE"045",256*46,256*48-1,S
146 BLOAD"00000001.SCA",S: BSAVE"046",256*48,256*50-1,S
147 BLOAD"00000001.SCA",S: BSAVE"047",256*50,256*52-1,S
148 BLOAD"00000001.SCA",S: BSAVE"048",256*52,256*54-1,S
149 BLOAD"00000001.SCA",S: BSAVE"049",256*54,256*56-1,S
150 BLOAD"00000001.SCA",S: BSAVE"050",256*56,256*58-1,S
151 BLOAD"00000001.SCA",S: BSAVE"051",256*58,256*60-1,S
152 BLOAD"00000001.SCA",S: BSAVE"052",256*60,256*62-1,S
153 BLOAD"00000001.SCA",S: BSAVE"053",256*62,256*64-1,S
154 BLOAD"00000001.SCA",S: BSAVE"054",256*64,256*66-1,S
155 BLOAD"00000001.SCA",S: BSAVE"055",256*66,256*68-1,S
156 BLOAD"00000001.SCA",S: BSAVE"056",256*68,256*70-1,S
157 BLOAD"00000001.SCA",S: BSAVE"057",256*70,256*72-1,S
158 BLOAD"00000001.SCA",S: BSAVE"058",256*72,256*74-1,S
159 BLOAD"00000001.SCA",S: BSAVE"059",256*74,256*76-1,S
160 BLOAD"00000001.SCA",S: BSAVE"060",256*76,256*78-1,S
161 BLOAD"00000001.SCA",S: BSAVE"061",256*78,256*80-1,S
162 BLOAD"00000001.SCA",S: BSAVE"062",256*80,256*82-1,S
163 BLOAD"00000001.SCA",S: BSAVE"063",256*82,256*84-1,S
164 BLOAD"00000001.SCA",S: BSAVE"064",256*84,256*86-1,S
165 BLOAD"00000001.SCA",S: BSAVE"065",256*86,256*88-1,S
166 BLOAD"00000001.SCA",S: BSAVE"066",256*88,256*90-1,S
167 BLOAD"00000001.SCA",S: BSAVE"067",256*90,256*92-1,S
168 BLOAD"00000001.SCA",S: BSAVE"068",256*92,256*94-1,S
169 BLOAD"00000001.SCA",S: BSAVE"069",256*94,256*96-1,S
170 BLOAD"00000001.SCA",S: BSAVE"070",256*96,256*98-1,S
171 BLOAD"00000001.SCA",S: BSAVE"071",256*98,256*100-1,S
172 BLOAD"00000001.SCA",S: BSAVE"072",256*100,256*102-1,S
173 BLOAD"00000001.SCA",S: BSAVE"073",256*102,256*104-1,S
174 BLOAD"00000001.SCA",S: BSAVE"074",256*104,256*106-1,S
175 BLOAD"00000001.SCA",S: BSAVE"075",256*106,256*108-1,S
176 BLOAD"00000001.SCA",S: BSAVE"076",256*108,256*110-1,S
177 BLOAD"00000001.SCA",S: BSAVE"077",256*110,256*112-1,S
178 BLOAD"00000001.SCA",S: BSAVE"078",256*112,256*114-1,S
179 BLOAD"00000001.SCA",S: BSAVE"079",256*114,256*116-1,S
180 BLOAD"00000001.SCA",S: BSAVE"080",256*116,256*118-1,S
181 BLOAD"00000001.SCA",S: BSAVE"081",256*118,256*120-1,S
182 BLOAD"00000001.SCA",S: BSAVE"082",256*120,256*122-1,S
183 BLOAD"00000001.SCA",S: BSAVE"083",256*122,256*124-1,S
184 BLOAD"00000001.SCA",S: BSAVE"084",256*124,256*126-1,S
185 BLOAD"00000001.SCA",S: BSAVE"085",256*126,256*128-1,S
186 BLOAD"00000001.SCA",S: BSAVE"086",256*128,256*130-1,S
187 BLOAD"00000001.SCA",S: BSAVE"087",256*130,256*132-1,S
188 BLOAD"00000001.SCA",S: BSAVE"088",256*132,256*134-1,S
189 BLOAD"00000001.SCA",S: BSAVE"089",256*134,256*136-1,S
190 BLOAD"00000001.SCA",S: BSAVE"090",256*136,256*138-1,S
191 BLOAD"00000001.SCA",S: BSAVE"091",256*138,256*140-1,S
192 BLOAD"00000001.SCA",S: BSAVE"092",256*140,256*142-1,S
193 BLOAD"00000001.SCA",S: BSAVE"093",256*142,256*144-1,S
194 BLOAD"00000001.SCA",S: BSAVE"094",256*144,256*146-1,S
195 BLOAD"00000001.SCA",S: BSAVE"095",256*146,256*148-1,S
196 BLOAD"00000001.SCA",S: BSAVE"096",256*148,256*150-1,S
197 BLOAD"00000001.SCA",S: BSAVE"097",256*150,256*152-1,S
198 BLOAD"00000001.SCA",S: BSAVE"098",256*152,256*154-1,S
199 BLOAD"00000001.SCA",S: BSAVE"099",256*154,256*156-1,S
200 BLOAD"00000001.SCA",S: BSAVE"100",256*156,256*158-1,S
201 BLOAD"00000001.SCA",S: BSAVE"101",256*158,256*160-1,S
202 BLOAD"00000001.SCA",S: BSAVE"102",256*160,256*162-1,S
203 BLOAD"00000001.SCA",S: BSAVE"103",256*162,256*164-1,S
204 BLOAD"00000001.SCA",S: BSAVE"104",256*164,256*166-1,S
205 BLOAD"00000001.SCA",S: BSAVE"105",256*166,256*168-1,S
206 BLOAD"00000001.SCA",S: BSAVE"106",256*168,256*170-1,S
207 BLOAD"00000001.SCA",S: BSAVE"107",256*170,256*172-1,S
208 BLOAD"00000001.SCA",S: BSAVE"108",256*172,256*174-1,S
209 BLOAD"00000001.SCA",S: BSAVE"109",256*174,256*176-1,S
210 BLOAD"00000001.SCA",S: BSAVE"110",256*176,256*178-1,S
211 BLOAD"00000001.SCA",S: BSAVE"111",256*178,256*180-1,S
212 BLOAD"00000001.SCA",S: BSAVE"112",256*180,256*182-1,S
213 BLOAD"00000001.SCA",S: BSAVE"113",256*182,256*184-1,S
214 BLOAD"00000001.SCA",S: BSAVE"114",256*184,256*186-1,S
215 BLOAD"00000001.SCA",S: BSAVE"115",256*186,256*188-1,S
216 BLOAD"00000001.SCA",S: BSAVE"116",256*188,256*190-1,S
217 BLOAD"00000001.SCA",S: BSAVE"117",256*190,256*192-1,S
218 BLOAD"00000001.SCA",S: BSAVE"118",256*192,256*194-1,S
219 BLOAD"00000001.SCA",S: BSAVE"119",256*194,256*196-1,S
220 BLOAD"00000001.SCA",S: BSAVE"120",256*196,256*198-1,S
221 BLOAD"00000001.SCA",S: BSAVE"121",256*198,256*200-1,S
222 BLOAD"00000001.SCA",S: BSAVE"122",256*200,256*202-1,S
223 BLOAD"00000001.SCA",S: BSAVE"123",256*202,256*204-1,S
224 BLOAD"00000001.SCA",S: BSAVE"124",256*204,256*206-1,S
225 BLOAD"00000001.SCA",S: BSAVE"125",256*206,256*208-1,S
226 BLOAD"00000001.SCA",S: BSAVE"126",256*208,256*210-1,S
227 BLOAD"00000001.SCA",S: BSAVE"127",256*210,256*212-1,S
Je voudrais donc modifier tel que par exemple:
122 BLOAD"00000001.SCA",S: BSAVE"022",256*0,256*2-1,S soit sauvée avec la latitude de 211 à 212
123 BLOAD"00000001.SCA",S: BSAVE"023",256*2,256*4-1,S soit sauvée avec la latitude de 209 à 210
124 BLOAD"00000001.SCA",S: BSAVE"024",256*4,256*6-1,S soit sauvée avec la latitude de 207 à 208
etc etc...
Pouvez vous m'indiquer la commande exacte svp?
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie