MSX Village forum

La Place des Développeurs [EN COURS] Joe&mac Challenge. scrolling du jeu Joe And Ma.

Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10339

Le 14/02/2015 à 17h48

Reprise du message précédent

quand tu parles de SPRITES tu veux dire "COPY" car il n'y a pas de PUT SPRITES dans ton programme ?


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 14/02/2015 à 18h48
Salut Jipe.

Justement, je vais laisser les Faux sprite [COPY] de coté et je les utiliserai pour animer les Boss.

Pour la phase aventure, j'utiliserai des vrais sprites (Juste des Carrés :oups )

Je suis en train de travailler sur un moteur avec un rendu physique et pesanteur spécialement pour les sprites.

Je vais le poster dans un autre sujet :D


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1487

Le 16/02/2015 à 11h06
igal :
Le plus simple serait alors de déplacer en page 1.


Pour déplacer la zone des sprites en page 1, les commandes à intégrer dans le programme sont :



Code :
VDP(5)=4:VDP(12)=1  '12 parce qu'il y a un décalage à partir du R#8 dans la commande
VDP(6)=17




Je regarde comment faire pour donner l'info au BASIC.


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10339

Le 16/02/2015 à 11h32
le résultat avec les vrais sprites limite la taille et les couleurs même en superposant

l'animation avec les copy est possible mais assez compliquée a gérer

il m'a fallu de nombreuses heures pour arriver a ceci :

schtroum.zip

lancer x-basic.bas puis neosc5.bas



:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 17/02/2015 à 13h43
Il est super ce schtroumpf.

Il s'agit de Sprite ou des copy?

Merci Metalion. Ça va bien servir :) Edité par igal Le 17/02/2015 à 13h43


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Jipe Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 02/10/2009 à 19h41

Messages: 10339

Le 17/02/2015 à 18h04
il s'agit de copy , regarde les différents fichiers images en SC5 pour comprendre

le décor est généré en temps réél par des copy sauf l'image de départ qui est chargée directement


:noel
Site web    
igal Membre non connecté

Conseiller Municipal

Rang

Avatar

Groupe : compte ++

Inscrit le : 29/07/2010 à 17h19

Messages: 5492

Le 27/03/2015 à 11h36
Alors voila.



J'ai fusionné [Le moteur de Sprites] avec le [Scroll VDP(24)]



Voici la vidéo:





Voici ce qui reste à faire:

1) En attendant de trouver la solution concernant la [Zone des SPrites] (Décplacement de la zone + redéfinition de la nouvelle zone), j'ai simplement empêché l'écriture sur ces zones.

Un début de réponse à été donné par métalion.

Si vous avez un complément de réponse, le sujet est ici =>

Metalion :
igal :
Le plus simple serait alors de déplacer en page 1.


Pour déplacer la zone des sprites en page 1, les commandes à intégrer dans le programme sont :



Code :
VDP(5)=4:VDP(12)=1  '12 parce qu'il y a un décalage à partir du R#8 dans la commande
VDP(6)=17




Je regarde comment faire pour donner l'info au BASIC.




2) Il ne reste plus qu'a relevé la topographie de la mappe pour ensuite égrainer leur apparition à mesure du déroulement de la mappe :top

Juste une question de temps et de méthodologie :tea



3) Afficher le hero comme déjà fait précédemment.

Forcément, ca va pas accélérer le scroll mais au moins ca sera plus cohérent.

Il faut juste que j'intègre le code que j'ai déjà créé comme ci dessous.





4) La partie un peu plus compliquée est de faire coïncider ma page "Bufferisée" qui fait 212 lignes de haut avec la page affichée qui fait 256 lignes de haut :fou



Voici le Listing:

Code TEXT :
 
0                            'Sauvegarde Travail en cours*****
10        'save"SPRITE42.asc",a
15 'Mode ecran*********************
20 SCREEN5,2:COLOR1,1,1:VDP(24)=VDP(24)-2AND255
22 SET PAGE 0,2:BLOAD"HEROS.SC5",S:COLOR=RESTORE
24 SET PAGE 0,0:'BLOAD"alpha.sc5",S:COLOR=RESTORE
25 '
27 'Variables Sprites Mobiles******
28 '
30 X=1+96+8:Y=0+7:'Position initiale du HERO
31 'XB=32+1:YB=127:' Position initiale ASCENCEUR
32 VM=16:VC=8:VS=16:VH=8:'Vitesses Monte, Chute, Saute, Horizontale
33 SH=1:SD=1:SG=1:'Empeche les sauts.
34 P=1:UP=0:' Active la pesanteur
35 RI=0:LE=0:' Desactive le passe muraille Droite et Gauche
36 'AS=0:Adherence a l Ascenceur
37 SC=2:'Vitesse de scrolling
40 'DATAS des Patterns des Sprites***************
42 GOTO 1250
44 'Variables des Pattern des sprites*************
46 A=0:B=1:C=2:D=3:E=4
48 'variables Latitudes et Longitudes des sprites fixes
49 '
50 A1=24:A2=56:A3=88:A4=120:A5=152:A6=184:A7=216
51 AA=183:AB=183:AC=183:AD=183:AE=183:AF=183:AG=183
52 B1=24:B2=56:B3=73:B4=120:B5=137:B6=200:B7=216
53 BA=95:BB=95:BC=95:BD=63:BE=63:BF=111:BG=111
54 C1=24:C2=41:C3=57:C4=136:C5=168:C6=184:C7=216
55 CA=15:CB=15:CC=15:CD=-1:CE=-1:CF=31:CG=31
56 D1=24:D2=56:D3=88:D4=120:D5=152:D6=184:D7=216  
57 DA=15:DB=15:DC=15:DD=15:DE=15:DF=16:DG=15
65 'Projection des Sprites Fixes
66 '
70 PUTSPRITE1,(A1,AA),1,A:PUTSPRITE2,(A2,AB),1,A:PUTSPRITE3,(A3,AC),1,A:PUTSPRITE4,(A4,AD),1,A:PUTSPRITE5,(A5,AE),1,A:PUTSPRITE6,(A6,AF),1,A:PUTSPRITE7,(A7,AG),1,A
75 PUTSPRITE8,(B1,BA),1,A:PUTSPRITE9,(B2,BB),1,A:PUTSPRITE10,(B3,BC),15,C:PUTSPRITE11,(B4,BD),15,D:PUTSPRITE12,(B5,BE),15,C:PUTSPRITE13,(B6,BF),15,D:PUTSPRITE14,(B7,BG),1,A
80 PUTSPRITE15,(C1,CA),15,D:PUTSPRITE16,(C2,CB),1,A:PUTSPRITE17,(C3,CC),15,C:PUTSPRITE18,(C4,CD),15,D:PUTSPRITE19,(C5,CE),15,C:PUTSPRITE20,(C6,CF),15,D:PUTSPRITE21,(C7,CG),1,A
85 'PUTSPRITE22,(D1,DA),1,A:PUTSPRITE23,(D2,DB),1,A:PUTSPRITE24,(D3,DC),1,A:PUTSPRITE25,(D4,DD),1,A:PUTSPRITE26,(D5,DE),1,A:PUTSPRITE27,(D6,DF),1,A:PUTSPRITE28,(D7,DG),1,A
90 '
92 ' Choix de la première page à afficher
93 '
94 J=1:' J est le premier répertoire affiché
95 '
100 IF J=1THEN CALL CHDIR ("I-1"):GOTO 200
102 IF J=2THEN CALL CHDIR ("I-2"):GOTO 200
104 IF J=3THEN CALL CHDIR ("I-3"):GOTO 200
106 IF J=4THEN CALL CHDIR ("I-4"):GOTO 200
200 CALL CHDIR ("D"):VB=D
202 BLOAD"2",S:COPY(0,210)-(255,211),0TO(0,210),1:GOSUB 853
204 BLOAD"1",S:COPY(0,208)-(255,209),0TO(0,208),1:GOSUB 853
206 CALL CHDIR ("..")
300 CALL CHDIR ("C")
302 BLOAD"8",S:COPY(0,206)-(255,207),0TO(0,206),1:GOSUB 853
304 BLOAD"7",S:COPY(0,204)-(255,205),0TO(0,204),1:GOSUB 853
306 BLOAD"6",S:COPY(0,202)-(255,203),0TO(0,202),1:GOSUB 853
308 BLOAD"5",S:COPY(0,200)-(255,201),0TO(0,200),1:GOSUB 853
310 BLOAD"4",S:COPY(0,198)-(255,199),0TO(0,198),1:GOSUB 853
312 BLOAD"3",S:COPY(0,196)-(255,197),0TO(0,196),1:GOSUB 853
314 BLOAD"2",S:COPY(0,194)-(255,195),0TO(0,194),1:GOSUB 853
316 BLOAD"1",S:COPY(0,192)-(255,193),0TO(0,192),1:GOSUB 853
318 CALL CHDIR ("..")
320 CALL CHDIR ("B")
322 BLOAD"8",S:COPY(0,190)-(255,191),0TO(0,190),1:GOSUB 853
324 BLOAD"7",S:COPY(0,188)-(255,189),0TO(0,188),1:GOSUB 853
326 BLOAD"6",S:COPY(0,186)-(255,187),0TO(0,186),1:GOSUB 853
328 BLOAD"5",S:COPY(0,184)-(255,185),0TO(0,184),1:GOSUB 853
330 BLOAD"4",S:COPY(0,182)-(255,183),0TO(0,182),1:GOSUB 853
332 BLOAD"3",S:COPY(0,180)-(255,181),0TO(0,180),1:GOSUB 853
334 BLOAD"2",S:COPY(0,178)-(255,179),0TO(0,178),1:GOSUB 853
336 BLOAD"1",S:COPY(0,176)-(255,177),0TO(0,176),1:GOSUB 853
338 CALL CHDIR ("..")
340 CALL CHDIR ("A")
342 BLOAD"8",S:COPY(0,174)-(255,175),0TO(0,174),1:GOSUB 853
344 BLOAD"7",S:COPY(0,172)-(255,173),0TO(0,172),1:GOSUB 853
346 BLOAD"6",S:COPY(0,170)-(255,171),0TO(0,170),1:GOSUB 853
348 BLOAD"5",S:COPY(0,168)-(255,169),0TO(0,168),1:GOSUB 853
350 BLOAD"4",S:COPY(0,166)-(255,167),0TO(0,166),1:GOSUB 853
352 BLOAD"3",S:COPY(0,164)-(255,165),0TO(0,164),1:GOSUB 853
354 BLOAD"2",S:COPY(0,162)-(255,163),0TO(0,162),1:GOSUB 853
356 BLOAD"1",S:COPY(0,160)-(255,161),0TO(0,160),1:GOSUB 853
358 CALL CHDIR ("..")
360 CALL CHDIR ("9")
362 BLOAD"8",S:COPY(0,158)-(255,159),0TO(0,158),1:GOSUB 853
364 BLOAD"7",S:COPY(0,156)-(255,157),0TO(0,156),1:GOSUB 853
366 BLOAD"6",S:COPY(0,154)-(255,155),0TO(0,154),1:GOSUB 853
368 BLOAD"5",S:COPY(0,152)-(255,153),0TO(0,152),1:GOSUB 853
370 BLOAD"4",S:COPY(0,150)-(255,151),0TO(0,150),1:GOSUB 853
372 BLOAD"3",S:COPY(0,148)-(255,149),0TO(0,148),1:GOSUB 853
374 BLOAD"2",S:COPY(0,146)-(255,147),0TO(0,146),1:GOSUB 853
376 BLOAD"1",S:COPY(0,144)-(255,145),0TO(0,144),1:GOSUB 853
378 CALL CHDIR ("..")
380 CALL CHDIR ("8")
382 BLOAD"8",S:COPY(0,142)-(255,143),0TO(0,142),1:GOSUB 853
384 BLOAD"7",S:COPY(0,140)-(255,141),0TO(0,140),1:GOSUB 853
386 BLOAD"6",S:COPY(0,138)-(255,139),0TO(0,138),1:GOSUB 853
388 BLOAD"5",S:COPY(0,136)-(255,137),0TO(0,136),1:GOSUB 853
390 BLOAD"4",S:COPY(0,134)-(255,135),0TO(0,134),1:GOSUB 853
392 BLOAD"3",S:COPY(0,132)-(255,133),0TO(0,132),1:GOSUB 853
394 BLOAD"2",S:COPY(0,130)-(255,131),0TO(0,130),1:GOSUB 853
396 BLOAD"1",S:COPY(0,128)-(255,129),0TO(0,128),1:GOSUB 853
398 CALL CHDIR ("..")
400 CALL CHDIR ("7")
402 BLOAD"8",S:COPY(0,126)-(255,127),0TO(0,126),1:GOSUB 853
404 BLOAD"7",S:COPY(0,124)-(255,125),0TO(0,124),1:GOSUB 853
406 BLOAD"6",S:COPY(0,122)-(255,123),0TO(0,122),1:GOSUB 853
408 BLOAD"5",S:COPY(0,120)-(255,121),0TO(0,120),1:GOSUB 853
410 BLOAD"4",S:COPY(0,118)-(255,119),0TO(0,118),1:GOSUB 853
412 BLOAD"3",S:COPY(0,116)-(255,117),0TO(0,116),1:GOSUB 853
414 BLOAD"2",S:COPY(0,114)-(255,115),0TO(0,114),1:GOSUB 853
416 BLOAD"1",S:COPY(0,112)-(255,113),0TO(0,112),1:GOSUB 853
418 CALL CHDIR ("..")
420 CALL CHDIR ("6")
422 BLOAD"8",S:COPY(0,110)-(255,111),0TO(0,110),1:GOSUB 853
424 BLOAD"7",S:COPY(0,108)-(255,109),0TO(0,108),1:GOSUB 853
426 BLOAD"6",S:COPY(0,106)-(255,107),0TO(0,106),1:GOSUB 853
428 BLOAD"5",S:COPY(0,104)-(255,105),0TO(0,104),1:GOSUB 853
430 BLOAD"4",S:COPY(0,102)-(255,103),0TO(0,102),1:GOSUB 853
432 BLOAD"3",S:COPY(0,100)-(255,101),0TO(0,100),1:GOSUB 853
434 BLOAD"2",S:COPY(0,98)-(255,99),0TO(0,98),1:GOSUB 853
436 BLOAD"1",S:COPY(0,96)-(255,97),0TO(0,96),1:GOSUB 853
438 CALL CHDIR ("..")
440 CALL CHDIR ("5")
442 BLOAD"8",S:COPY(0,94)-(255,95),0TO(0,94),1:GOSUB 853
444 BLOAD"7",S:COPY(0,92)-(255,93),0TO(0,92),1:GOSUB 853
446 BLOAD"6",S:COPY(0,90)-(255,91),0TO(0,90),1:GOSUB 853
448 BLOAD"5",S:COPY(0,88)-(255,89),0TO(0,88),1:GOSUB 853
450 BLOAD"4",S:COPY(0,86)-(255,87),0TO(0,86),1:GOSUB 853
452 BLOAD"3",S:COPY(0,84)-(255,85),0TO(0,84),1:GOSUB 853
454 BLOAD"2",S:COPY(0,82)-(255,83),0TO(0,82),1:GOSUB 853
456 BLOAD"1",S:COPY(0,80)-(255,81),0TO(0,80),1:GOSUB 853
458 CALL CHDIR ("..")
460 CALL CHDIR ("4")
462 BLOAD"8",S:COPY(0,78)-(255,79),0TO(0,78),1:GOSUB 853
464 BLOAD"7",S:COPY(0,76)-(255,77),0TO(0,76),1:GOSUB 853
466 BLOAD"6",S:COPY(0,74)-(255,75),0TO(0,74),1:GOSUB 853
468 BLOAD"5",S:COPY(0,72)-(255,73),0TO(0,72),1:GOSUB 853
470 BLOAD"4",S:COPY(0,70)-(255,71),0TO(0,70),1:GOSUB 853
472 BLOAD"3",S:COPY(0,68)-(255,69),0TO(0,68),1:GOSUB 853
474 BLOAD"2",S:COPY(0,66)-(255,67),0TO(0,66),1:GOSUB 853
476 BLOAD"1",S:COPY(0,64)-(255,65),0TO(0,64),1:GOSUB 853
478 CALL CHDIR ("..")
480 CALL CHDIR ("3")
482 BLOAD"8",S:COPY(0,62)-(255,63),0TO(0,62),1:GOSUB 853
484 BLOAD"7",S:COPY(0,60)-(255,61),0TO(0,60),1:GOSUB 853
486 BLOAD"6",S:COPY(0,58)-(255,59),0TO(0,58),1:GOSUB 853
488 BLOAD"5",S:COPY(0,56)-(255,57),0TO(0,56),1:GOSUB 853
490 BLOAD"4",S:COPY(0,54)-(255,55),0TO(0,54),1:GOSUB 853
492 BLOAD"3",S:COPY(0,52)-(255,53),0TO(0,52),1:GOSUB 853
494 BLOAD"2",S:COPY(0,50)-(255,51),0TO(0,50),1:GOSUB 853
496 BLOAD"1",S:COPY(0,48)-(255,49),0TO(0,48),1:GOSUB 853
498 CALL CHDIR ("..")
500 CALL CHDIR ("2")
502 BLOAD"8",S:COPY(0,46)-(255,47),0TO(0,46),1:GOSUB 853
504 BLOAD"7",S:COPY(0,44)-(255,45),0TO(0,44),1:GOSUB 853
506 BLOAD"6",S:COPY(0,42)-(255,43),0TO(0,42),1:GOSUB 853
508 BLOAD"5",S:COPY(0,40)-(255,41),0TO(0,40),1:GOSUB 853
510 BLOAD"4",S:COPY(0,38)-(255,39),0TO(0,38),1:GOSUB 853
512 BLOAD"3",S:COPY(0,36)-(255,37),0TO(0,36),1:GOSUB 853
514 BLOAD"2",S:COPY(0,34)-(255,35),0TO(0,34),1:GOSUB 853
516 BLOAD"1",S:COPY(0,32)-(255,33),0TO(0,32),1:GOSUB 853
518 CALL CHDIR ("..")
520 CALL CHDIR ("1")
522 BLOAD"8",S:COPY(0,30)-(255,31),0TO(0,30),1:GOSUB 853
524 BLOAD"7",S:COPY(0,28)-(255,29),0TO(0,28),1:GOSUB 853
526 BLOAD"6",S:COPY(0,26)-(255,27),0TO(0,26),1:GOSUB 853
528 BLOAD"5",S:COPY(0,24)-(255,25),0TO(0,24),1:GOSUB 853
530 BLOAD"4",S:COPY(0,22)-(255,23),0TO(0,22),1:GOSUB 853
532 BLOAD"3",S:COPY(0,20)-(255,21),0TO(0,20),1:GOSUB 853
534 BLOAD"2",S:COPY(0,18)-(255,19),0TO(0,18),1:GOSUB 853
536 BLOAD"1",S:COPY(0,16)-(255,17),0TO(0,16),1:GOSUB 853
538 CALL CHDIR ("..")
540 CALL CHDIR ("0")
542 BLOAD"8",S:COPY(0,14)-(255,15),0TO(0,14),1:GOSUB 853
544 BLOAD"7",S:COPY(0,12)-(255,13),0TO(0,12),1:GOSUB 853
546 BLOAD"6",S:COPY(0,10)-(255,11),0TO(0,10),1:GOSUB 853
548 BLOAD"5",S:COPY(0,8)-(255,9),0TO(0,8),1:GOSUB 853
550 BLOAD"4",S:COPY(0,6)-(255,7),0TO(0,6),1:GOSUB 853
552 BLOAD"3",S:COPY(0,4)-(255,5),0TO(0,4),1:GOSUB 853
554 BLOAD"2",S:COPY(0,2)-(255,3),0TO(0,2),1:GOSUB 853
556 BLOAD"1",S:COPY(0,0)-(255,1),0TO(0,0),1:GOSUB 853
558 CALL CHDIR ("..")
559 IFJ=4THENSC=0:GOSUB853:GOTO559
560 CALL CHDIR ("F")
562  BLOAD"8",S:BLOAD"8",S,0+32768!:GOSUB 853
564  BLOAD"7",S:BLOAD"7",S,0+32768!:GOSUB 853
566  BLOAD"6",S:BLOAD"6",S,0+32768!:GOSUB 853
568  BLOAD"5",S:BLOAD"5",S,0+32768!:GOSUB 853
570 GOSUB853:'BLOAD"4",S:BLOAD"4",S,0+32768!:GOSUB 853
572 GOSUB853:'BLOAD"3",S:BLOAD"3",S,0+32768!:GOSUB 853
574  BLOAD"2",S:BLOAD"2",S,0+32768!:GOSUB 853
576 GOSUB853:'BLOAD"1",S:BLOAD"1",S,0+32768!:GOSUB 853:'Zone Sprites
578 CALL CHDIR ("..")
580 CALL CHDIR ("E")
582  BLOAD"8",S:BLOAD"8",S,0+32768!:GOSUB 853
584 GOSUB853:'BLOAD"7",S:BLOAD"7",S,0+32768!:GOSUB 853:'Zone Sprites
586 GOSUB853:'BLOAD"6",S:BLOAD"6",S,0+32768!:GOSUB 853:'Zone Sprites
588 GOSUB853:'BLOAD"5",S:BLOAD"5",S,0+32768!:GOSUB 853:'Zone Sprites
590  BLOAD"4",S:BLOAD"4",S,0+32768!:GOSUB 853
592  BLOAD"3",S:BLOAD"3",S,0+32768!:GOSUB 853
594  BLOAD"2",S:BLOAD"2",S,0+32768!:GOSUB 853
596  BLOAD"1",S:BLOAD"1",S,0+32768!:GOSUB 853
598 CALL CHDIR ("..")
600 CALL CHDIR ("D")
602  BLOAD"8",S:BLOAD"8",S,0+32768!:GOSUB 853
604  BLOAD"7",S:BLOAD"7",S,0+32768!:GOSUB 853
606  BLOAD"6",S:BLOAD"6",S,0+32768!:GOSUB 853
608  BLOAD"5",S:BLOAD"5",S,0+32768!:GOSUB 853
610  BLOAD"4",S:BLOAD"4",S,0+32768!:GOSUB 853
612  BLOAD"3",S:BLOAD"3",S,0+32768!:GOSUB 853
614 CALL CHDIR (".."):CALL CHDIR (".."):J=J+1:GOTO100
838 'Projection des Sprites Mobiles***************
839 '
840 'XB=XB+8AND255:'MOTEUR ASCENCEUR
841 'IFAS=1THENX=XB:'ADHERENCE ASCENCEUR 1
843 'PUTSPRITE29,(XB,YB),15,A:'ASCENCEUR 1
845 'IFY>YB-14THENIFY<YBTHENIFX>XB-4THENIFX<XB+8THENAS=1
847 '
850 'Moteur Principal
852 '
853 S=STICK(0):ONS+1GOSUB 860,870,880,890,860,860,860,930,940:'Renvoie selon Stick ZERO
854 VDP(24)=VDP(24)-SCAND255:RETURN
855 '
856 'Gestion des Mouvements
857 '
858 'STATIQUE
860 PUTSPRITE0,(X,Y),8,D:ONSPRITE GOSUB1000:SPRITEON:'Si colision aller a 1000
861 'IFRI=1THENP=1
862 'IFLE=1THENP=1
863 IFP=1THEN910:'Si pesanteur alors aller a ligne 210 (chute)
864 RETURN
867 '
868 'SAUT HAUT
870 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1010:SPRITEON:'Si colision aller a 1010
872 IFSH=5THEN910:'Si Saut boucle x fois alors aller a 210
873 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
874 Y=Y-VS:SH=SH+1:P=1:'Saut Haut utilise! Pesanteur active
876 RETURN
877 '
878 'SAUT DROITE
880 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1020:SPRITEON:'Si colision aller a 1020
882 IFSD=3THEN910:'Si Saut Droite deja utilise alors aller a 210
883 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
884 X=X+VS:Y=Y-VS:SD=SD+1:P=1:'Saut Droite utilise! Pesanteur active
886 RETURN
887 '
888 'DROITE
890 PUTSPRITE0,(X,Y),8,A:ONSPRITEGOSUB1030:SPRITEON:'Si colision aller a 1030
892 X=X+VH:'Deplacement a droite
893 '
894 IFP=1THEN910:'Si pesanteur alors aller a 210 (chute)
896 RETURN 
897 '
898 'CHUTE A DROITE
900 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1040:SPRITEON:'SI COLISION ALLER A 1040
902 X=X+VC:'Deplacement a Droite
903 IFUP=1THENY=Y+2:UP=0:'si saut utilise alors recalibrer Y
904 IFP=1THENY=Y+VC:'Si pesanteur alors chute de VC pixels
906 RETURN
907 '
908 'CHUTE
910 PUTSPRITE0,(X,Y),8,D:ONSPRITE GOSUB1050:SPRITEON:'Si colision alors 1050
911 IFLE=1THENEL=EL+1:P=1:'Si RI actif alors Pesanteur Actif
912 IFEL=2THENX=X+1:LE=0:EL=0
913 IFRI=1THENRI=0:P=1:'Si RI actif alors Pesanteur Actif
914 IFUP=1THENY=Y+2:UP=0:'Si saut utilise alors recalibrer Y
915 IFP=1THENY=Y+VC:'Si pesanteur alors chute de VC pixels
916 RETURN
917 '
918 'CHUTE A GAUCHE
920 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1060:SPRITEON:SI COLISION ALLER A 1060
922 X=X-16:'Deplacement a Gauche
923 IFUP=1THENY=Y+2:UP=0:SI SAUT UTILISE ALORS RECALIBRER Y
924 IFP=1THENY=Y+VC:'Si pesanteur alors chute de VC pixels
926 RETURN
927 '
928 'GAUCHE
930 PUTSPRITE0,(X,Y),8,B:ONSPRITE GOSUB1070:'SPRITEON:Si colision aller a 1070
932 X=X-VH:'Deplacement a Gauche
933 '
934 IFP=1THEN910:'Si pesanteur aller a 210 (chute)
936 RETURN
937 '
938 'SAUT GAUCHE
940 PUTSPRITE0,(X,Y),8,D:ONSPRITEGOSUB1080:SPRITEON:'Si colision aller a 1020
942 IFSG=3THEN910:'Si Saut Gauche deja utilise alors aller a 210
943 IFUP=1THENY=Y+2:UP=0:AS=0:'Si saut utilise alors recalibrer Y
944 X=X-VS:Y=Y-VS:SG=SG+1:P=1:'Saut Gauche utilisé! Pesanteur active
946 RETURN
998 '
999 'COLISION STATIQUE
1000 P=0:SH=0:SD=0:SG=0
1001 SPRITEOFF
1002 IFRI=1THENP=1
1003 IFLE=1THENP=1
1004 IFUP=0THENY=Y-2:UP=1
1005 RETURN
1008 '
1009 'COLISION SAUT HAUT
1010 P=0:SH=0:SD=0:SG=0
1011 SPRITEOFF
1013 IFUP=0THENY=Y-2:UP=1
1014 RETURN
1018 '
1019 'COLISION SAUT DROITE
1020 P=0:SH=0:SD=0:SG=0
1021 SPRITEOFF
1023 IFUP=0THENY=Y-2:UP=1
1024 RETURN
1028 '
1029 'COLISION DROITE
1030 IFP=1THENRETURN
1031 P=1:SH=0:SD=0:SG=0:RI=1
1032 SPRITEOFF
1033 IFUP=0THENY=Y-2:UP=1
1034 RETURN
1038 '
1039 'COLISION CHUTE A DROITE
1040 P=0:SH=0:SD=0:SG=0
1041 SPRITEOFF
1043 IFUP=0THENY=Y-2:UP=1
1044 RETURN
1048 '
1049 'COLISION BAS
1050 P=0:SH=0:SD=0:SG=0
1051 'SPRITEOFF
1053 IFUP=0THENY=Y-2:UP=1
1054 RETURN
1058 '
1059 'COLISION CHUTE A GAUCHE
1060 P=0:SH=1:SD=0:SG=0
1061 SPRITEOFF
1063 IFUP=0THENY=Y-2:UP=1
1064 RETURN
1068 '
1069 'COLISION GAUCHE
1070 IFP=1THENRETURN
1071 P=1:SH=0:SD=0:SG=0:LE=1
1072 X=X-16-1:SPRITEOFF
1073 IFUP=0THENY=Y-2:UP=1
1074 RETURN
1078 '
1079 'COLISION SAUT GAUCHE
1080 P=0:SH=0:SD=0:SG=0
1081 SPRITEOFF
1083 IFUP=0THENY=Y-2:UP=1
1084 RETURN
1088 '
1200 DESSIN DES SPRITES
1201 '
1250 FOR I=1TO16:READA$:S$=S$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTI
1252 ' DESSIN DES SPRITES
1260 RESTORE 1301
1270 FORI=1TO16:READA$:S$=S$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTI
1280 SPRITE$(0)=S$
1290 GOTO 1350
1301 DATA 0000000000000000
1302 DATA 0000000000000000
1303 DATA 0000000000000000
1304 DATA 0000000000000000
1305 DATA 0000000000000000
1306 DATA 0000000000000000
1307 DATA 0000000000000000
1308 DATA 0000000000000000
1309 DATA 1111111111111111
1310 DATA 1000000000000000
1311 DATA 0000000000000000
1312 DATA 0000000000000000
1313 DATA 0000000000000000
1314 DATA 0000000000000000
1315 DATA 0000000000000000
1316 DATA 0000000000000000
1350 FORJB=1TO16:READA$:T$=T$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTJB
1360 RESTORE 1401
1370 FORJB=1TO16:READA$:T$=T$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTJB
1380 SPRITE$(1)=T$
1390 GOTO 1450
1401 DATA 0000000000000000
1402 DATA 0000000000000000
1403 DATA 0000000000000000
1404 DATA 0000000000000000
1405 DATA 0000000000000000
1406 DATA 0000000000000000
1407 DATA 0000000000000000
1408 DATA 0000000000000000
1409 DATA 1111111111111111
1410 DATA 0000000000000001
1411 DATA 0000000000000000
1412 DATA 0000000000000000
1413 DATA 0000000000000000
1414 DATA 0000000000000000
1415 DATA 0000000000000000
1416 DATA 0000000000000000
1450 FORK=1TO16:READA$:U$=U$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTK
1460 RESTORE 1501
1470 FORK=1TO16:READA$:U$=U$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTK
1480 SPRITE$(2)=U$
1490 GOTO 1550
1501 DATA 0000000000000000
1502 DATA 0000000000000000
1503 DATA 0000000000000000
1504 DATA 0000000000000000
1505 DATA 0000000000000000
1506 DATA 0000000000000000
1507 DATA 0000000000000000
1508 DATA 0000000010000000
1509 DATA 1111111111111111
1510 DATA 0000000000000000
1511 DATA 0000000000000000
1512 DATA 0000000000000000
1513 DATA 0000000000000000
1514 DATA 0000000000000000
1515 DATA 0000000000000000
1516 DATA 0000000000000000
1550 FORL=1TO16:READA$:V$=V$+CHR$(VAL("&B"+LEFT$(A$,8))):NEXTL
1560 RESTORE 1601
1570 FORL=1TO16:READA$:V$=V$+CHR$(VAL("&B"+RIGHT$(A$,8))):NEXTL
1580 SPRITE$(3)=V$
1590 GOTO 44
1601 DATA 0000000000000000
1602 DATA 0000000000000000
1603 DATA 0000000000000000
1604 DATA 0000000000000000
1605 DATA 0000000000000000
1606 DATA 0000000000000000
1607 DATA 0000000000000000
1608 DATA 1000000000000000
1609 DATA 1111111111111111
1610 DATA 0000000000000000
1611 DATA 0000000000000000
1612 DATA 0000000000000000
1613 DATA 0000000000000000
1614 DATA 0000000000000000
1615 DATA 0000000000000000
1616 DATA 0000000000000000

 
Edité par igal Le 27/03/2015 à 12h05


Tiens... voila du boudin, voila du boudin, voila du boudin... :siffle
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie