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

Il me semble avoir répondu à un challenge pour cette fin d'année.
voici mon projet
Pour le moment, faute de temps, je préfère ne pas me lancer dans un projet trop ambitieux.
Juste le Scrolling Vertical et Horizontal de tous les Stages du Jeu.
Si je trouve le temps d'en faire plus, j'essaierai d'ajouter les commandes de déplacement de Sprites
(Les différents Bacgrounds viennent de http://vgmaps.com/)
La Map World:

Stage 01:

Stage 02:

Stage 03:

Stage 04:

Stage 05:

Stage 06:

Stage 07:

(Les ripps ci dessous proviennent de http://www.spriters-resource.com/)
Les Héros:

Tirs et Items:

Bosses et Ennemis:

Les Filles Sauvées:

Femmes trainées par les cheuveux:

Le Village Kali:

Par la suite, si je trouve le moyen d'exploiter le Music Module en Multitache, on pourra espérer avec une bande son pour accompagner l'aventure
A suivre... Edité par igal Le 27/03/2015 à 12h11
voici mon projet

Pour le moment, faute de temps, je préfère ne pas me lancer dans un projet trop ambitieux.
Juste le Scrolling Vertical et Horizontal de tous les Stages du Jeu.
Si je trouve le temps d'en faire plus, j'essaierai d'ajouter les commandes de déplacement de Sprites

(Les différents Bacgrounds viennent de http://vgmaps.com/)
La Map World:

Stage 01:

Stage 02:

Stage 03:

Stage 04:

Stage 05:

Stage 06:

Stage 07:

(Les ripps ci dessous proviennent de http://www.spriters-resource.com/)
Les Héros:

Tirs et Items:

Bosses et Ennemis:

Les Filles Sauvées:

Femmes trainées par les cheuveux:

Le Village Kali:

Par la suite, si je trouve le moyen d'exploiter le Music Module en Multitache, on pourra espérer avec une bande son pour accompagner l'aventure

A suivre... Edité par igal Le 27/03/2015 à 12h11

Sacré Igal !
On doit faire une petite démo pour Noël et Monsieur Igal nous offre un remake !
Bravo, bravo, bravo quel cadeau !
En plus, un remake d'un chouette titre !
GE-NIAL !
On doit faire une petite démo pour Noël et Monsieur Igal nous offre un remake !
Bravo, bravo, bravo quel cadeau !
En plus, un remake d'un chouette titre !
GE-NIAL !




Attention 
Pour le moment, je souhaite juste reproduire les scroll Multidirectionnels des différents stages.
(Peut être en Screen 5 comme le suggérait Métalion de sorte à profiter d'un maximum de pages en Vram)
Ca c'est pour la petite demo de fin d'année.
Pour le reste, me faudrait un PC qui soit waterproof pour programmer sous la douche
Même aux toilettes je suis pressé
Edité par
igal
Le 23/12/2014 à 18h31

Pour le moment, je souhaite juste reproduire les scroll Multidirectionnels des différents stages.
(Peut être en Screen 5 comme le suggérait Métalion de sorte à profiter d'un maximum de pages en Vram)
Ca c'est pour la petite demo de fin d'année.
Pour le reste, me faudrait un PC qui soit waterproof pour programmer sous la douche

Même aux toilettes je suis pressé


TurboSEB :
C'est tellement énorme que je sais pas quoi dire 
et ca tiendra sur combien de disquettes?

et ca tiendra sur combien de disquettes?

disquette ? c'est quoi une disquette ?
tout mes encouragements Igal...


J'ai pu passe quelques heure sur le moteur permettant un Scrolling vertical de avec un point de départ bas.
Ce moteur est la suite logique du programme utilisé pour scroller OUTZONE mais en regroupant les bribes par paquets de 16 bribes contenues dans des répertoires et sous répertoires le tout nommé en hexadécimal pour un gain de vitesse quant à l'accès aux fichiers.
pour ce qui est du SCREEN, je vais rester en SCREEN10/11 puisque mon intention première est de démontrer les possibilités du msx avec une approche inexploitée tel un concept.
Le SCREEN 12 répond parfaitement aux plus exigeants puisqu'il y a que très peu de perte de détails lors des conversions BMP2MSX.
Le gain réel de vitesse peut demande de compétences que je n'ai pas mais une fois le concept démontré il ne reste qu'à une personne motivée pour optimiser le tout.
demain je posterai une video Edité par igal Le 27/12/2014 à 20h55
Ce moteur est la suite logique du programme utilisé pour scroller OUTZONE mais en regroupant les bribes par paquets de 16 bribes contenues dans des répertoires et sous répertoires le tout nommé en hexadécimal pour un gain de vitesse quant à l'accès aux fichiers.
pour ce qui est du SCREEN, je vais rester en SCREEN10/11 puisque mon intention première est de démontrer les possibilités du msx avec une approche inexploitée tel un concept.
Le SCREEN 12 répond parfaitement aux plus exigeants puisqu'il y a que très peu de perte de détails lors des conversions BMP2MSX.
Le gain réel de vitesse peut demande de compétences que je n'ai pas mais une fois le concept démontré il ne reste qu'à une personne motivée pour optimiser le tout.
demain je posterai une video Edité par igal Le 27/12/2014 à 20h55

Finalement, après pas mal d'essais, le SCREEN 5 semble être un super compromis.
J'ai donc modifié le générateur de bribes puisque le générateur SCREEN10/11 et 12 occupe 2 fois plus de mémoire que la même image en SCREEN 5.
Conséquence directe et flagrante, le Scroll est 2 fois plus rapide et ça c'est très cool puisque l'on obtient quelque chose de très dynamique.
Il me reste quelques détails à régler comme l'affichage sur la Zone de Sprites à savoir:
Afficher mes bribe au nombre de 22 faisant 2 pixels de haut avec une surface totale de 44 lignes.
Afficher ces 22 Bribes sur l'emplacement accessible en SCREEN 12 par la commande suivante:
602 BLOAD"f",S,0-11264:GOSUB 1510
En SCREEN 5 la valeur 0-11264 ne fonctionne pas ce qui est normal.
Par contre, en écrivant ce post, je me rend compte que je n'ai pas essayé de simplement diviser cette valeur par 2
ce qui devrait donner:
602 BLOAD"f",S,0-5632:GOSUB 1510
On verra bien.
D'autre par, j'ai aussi remodelé le "Player" pour ranger les bribes par Paquet de 8 bribes et non plus par paquet de 16 Bribes.
L'avantage étant que l'écran peut être dorénavant divisé en 16 paquets de 16 lignes.
soit 16 blocs haut de 16 pixels.
Par la suite, une fois que tout sera rodé, j'essaierai d'implémenter un scroll Horizontal.
En premier lieu, ce sera simplement un enchainement de scroll horizontal après que le Scroll vertical soit terminé.
Dans un second temps, j'essaierai de trouver une solution pour obtenir un scroll complètement libre dans toutes les directions
@ suivre...
J'ai donc modifié le générateur de bribes puisque le générateur SCREEN10/11 et 12 occupe 2 fois plus de mémoire que la même image en SCREEN 5.
Conséquence directe et flagrante, le Scroll est 2 fois plus rapide et ça c'est très cool puisque l'on obtient quelque chose de très dynamique.
Il me reste quelques détails à régler comme l'affichage sur la Zone de Sprites à savoir:
Afficher mes bribe au nombre de 22 faisant 2 pixels de haut avec une surface totale de 44 lignes.
Afficher ces 22 Bribes sur l'emplacement accessible en SCREEN 12 par la commande suivante:
602 BLOAD"f",S,0-11264:GOSUB 1510
En SCREEN 5 la valeur 0-11264 ne fonctionne pas ce qui est normal.
Par contre, en écrivant ce post, je me rend compte que je n'ai pas essayé de simplement diviser cette valeur par 2

ce qui devrait donner:
602 BLOAD"f",S,0-5632:GOSUB 1510
On verra bien.
D'autre par, j'ai aussi remodelé le "Player" pour ranger les bribes par Paquet de 8 bribes et non plus par paquet de 16 Bribes.
L'avantage étant que l'écran peut être dorénavant divisé en 16 paquets de 16 lignes.
soit 16 blocs haut de 16 pixels.
Par la suite, une fois que tout sera rodé, j'essaierai d'implémenter un scroll Horizontal.
En premier lieu, ce sera simplement un enchainement de scroll horizontal après que le Scroll vertical soit terminé.
Dans un second temps, j'essaierai de trouver une solution pour obtenir un scroll complètement libre dans toutes les directions

@ suivre...
infos sur le screen 5
la table des noms - 192 lignes 0000H - 5FFFH 24576 octets
- 212 lignes 0000H - 69FFH 27136 octets
table des attributs de sprite : - 7600H - 767FH 128 octets
table des formes de sprite : - 7800H - 7FFFH 2048 octets
table des couleurs de sprite : - 7400H - 75FFFH 512 octets
table de palette : - 7680H - 769FH 32 octets
la table des noms - 192 lignes 0000H - 5FFFH 24576 octets
- 212 lignes 0000H - 69FFH 27136 octets
table des attributs de sprite : - 7600H - 767FH 128 octets
table des formes de sprite : - 7800H - 7FFFH 2048 octets
table des couleurs de sprite : - 7400H - 75FFFH 512 octets
table de palette : - 7680H - 769FH 32 octets

Merci Jipe:
Il s'agit bien de:
BLOAD"BRIBE.SC5"S,0+27136
Par contre, je me rend compte d'une chose très intéressante:
Plutôt que d'intégrer différents paramètres au PLAYER pour afficher les bribes sur la zone des sprites par la formule suivante:
BLOAD"BRIBE.SC5"S,0+27136
Lors de mes essais, je me suis rendu compte qu'en créant les Bribes avec les paramètres du SCREEN12 pour une image en SCREEN5, toutes les Bribes sont "décallées" de 128 lignes!
Voici la formule qui affiche une Bribe SCREEN12 à la colonne ZERO, ligne ZERO:
100 BLOAD"00000000.SC5",S: BSAVE"000",256*0,256*2-1,S
Voici la formule qui affiche une Bribe SCREEN5 à la colonne ZERO ligne ZERO:
100 BLOAD"00000000.SC5",S: BSAVE"000",128*0,128*2-1,S
Si l'on utilise le générateur de bribes destiné au SCREEN12 avec une image en SCREEN5, toutes les bribes seront "décalées de 128 lignes plus loin!"
Je me demande si il est donc possible de générer des Bribes de telles sorte qu'elles s'affichent "spontanément" sur la ZONE des SPRITES => S,0+27136
De fait, le Player en serait très simplifié puisqu'il ne serait plus nécessaire de distinguer des bribes à afficher sur la zone "Standard" et les bribes à afficher sur la zone des "Sprites"!
un truc du genre pour du SCREEN 5:
100 BLOAD"00000000.SC5",S: BSAVE"000",128*0+27136,128*2-1+27136,S
Edité par
igal
Le 29/01/2015 à 11h05
Il s'agit bien de:
BLOAD"BRIBE.SC5"S,0+27136
Par contre, je me rend compte d'une chose très intéressante:
Plutôt que d'intégrer différents paramètres au PLAYER pour afficher les bribes sur la zone des sprites par la formule suivante:
BLOAD"BRIBE.SC5"S,0+27136
Lors de mes essais, je me suis rendu compte qu'en créant les Bribes avec les paramètres du SCREEN12 pour une image en SCREEN5, toutes les Bribes sont "décallées" de 128 lignes!
Voici la formule qui affiche une Bribe SCREEN12 à la colonne ZERO, ligne ZERO:
100 BLOAD"00000000.SC5",S: BSAVE"000",256*0,256*2-1,S
Voici la formule qui affiche une Bribe SCREEN5 à la colonne ZERO ligne ZERO:
100 BLOAD"00000000.SC5",S: BSAVE"000",128*0,128*2-1,S
Si l'on utilise le générateur de bribes destiné au SCREEN12 avec une image en SCREEN5, toutes les bribes seront "décalées de 128 lignes plus loin!"
Je me demande si il est donc possible de générer des Bribes de telles sorte qu'elles s'affichent "spontanément" sur la ZONE des SPRITES => S,0+27136
De fait, le Player en serait très simplifié puisqu'il ne serait plus nécessaire de distinguer des bribes à afficher sur la zone "Standard" et les bribes à afficher sur la zone des "Sprites"!
un truc du genre pour du SCREEN 5:
100 BLOAD"00000000.SC5",S: BSAVE"000",128*0+27136,128*2-1+27136,S




Cool.
En fait, il faut faire les choses en deux temps.
Ce qui suit ne concerne que la Zone à afficher dans la Zone des Sprite
1) Je LOAD l'image dans la zone des SPRITES située à +27136
2) Je BSAVE l'image dans la zone des SPRITES située à +27136
Nb: Evidemment, il faut inclure les paramètres du SEGMENT BRIBES à sauver!
Au final, on obtient une bribe ayant pour coordonnées la Partie Zone des Sprites
Dorénavant, le PLAYER peut être réduit à sa plus simple expression puisqu'il n'y a plus aucune particularité à prendre en compte
206 BLOAD"00000001.SC5",S,0+27136: BSAVE"106",128*0+27136,128*2-1+27136,S
207 BLOAD"00000001.SC5",S,0+27136: BSAVE"107",128*2+27136,128*4-1+27136,S
208 BLOAD"00000001.SC5",S,0+27136: BSAVE"108",128*4+27136,128*6-1+27136,S
209 BLOAD"00000001.SC5",S,0+27136: BSAVE"109",128*6+27136,128*8-1+27136,S
210 BLOAD"00000001.SC5",S,0+27136: BSAVE"110",128*8+27136,128*10-1+27136,S
211 BLOAD"00000001.SC5",S,0+27136: BSAVE"111",128*10+27136,128*12-1+27136,S
212 BLOAD"00000001.SC5",S,0+27136: BSAVE"112",128*12+27136,128*14-1+27136,S
213 BLOAD"00000001.SC5",S,0+27136: BSAVE"113",128*14+27136,128*16-1+27136,S
214 BLOAD"00000001.SC5",S,0+27136: BSAVE"114",128*16+27136,128*18-1+27136,S
215 BLOAD"00000001.SC5",S,0+27136: BSAVE"115",128*18+27136,128*20-1+27136,S
216 BLOAD"00000001.SC5",S,0+27136: BSAVE"116",128*20+27136,128*22-1+27136,S
217 BLOAD"00000001.SC5",S,0+27136: BSAVE"117",128*22+27136,128*24-1+27136,S
218 BLOAD"00000001.SC5",S,0+27136: BSAVE"118",128*24+27136,128*26-1+27136,S
219 BLOAD"00000001.SC5",S,0+27136: BSAVE"119",128*26+27136,128*28-1+27136,S
220 BLOAD"00000001.SC5",S,0+27136: BSAVE"120",128*28+27136,128*30-1+27136,S
221 BLOAD"00000001.SC5",S,0+27136: BSAVE"121",128*30+27136,128*32-1+27136,S
222 BLOAD"00000001.SC5",S,0+27136: BSAVE"122",128*32+27136,128*34-1+27136,S
223 BLOAD"00000001.SC5",S,0+27136: BSAVE"123",128*34+27136,128*36-1+27136,S
224 BLOAD"00000001.SC5",S,0+27136: BSAVE"124",128*36+27136,128*38-1+27136,S
225 BLOAD"00000001.SC5",S,0+27136: BSAVE"125",128*38+27136,128*40-1+27136,S
226 BLOAD"00000001.SC5",S,0+27136: BSAVE"126",128*40+27136,128*42-1+27136,S
227 BLOAD"00000001.SC5",S,0+27136: BSAVE"127",128*42+27136,128*44-1+27136,S
....A plus tard...Au magasin lol
En fait, il faut faire les choses en deux temps.
Ce qui suit ne concerne que la Zone à afficher dans la Zone des Sprite

1) Je LOAD l'image dans la zone des SPRITES située à +27136
2) Je BSAVE l'image dans la zone des SPRITES située à +27136
Nb: Evidemment, il faut inclure les paramètres du SEGMENT BRIBES à sauver!
Au final, on obtient une bribe ayant pour coordonnées la Partie Zone des Sprites

Dorénavant, le PLAYER peut être réduit à sa plus simple expression puisqu'il n'y a plus aucune particularité à prendre en compte



206 BLOAD"00000001.SC5",S,0+27136: BSAVE"106",128*0+27136,128*2-1+27136,S
207 BLOAD"00000001.SC5",S,0+27136: BSAVE"107",128*2+27136,128*4-1+27136,S
208 BLOAD"00000001.SC5",S,0+27136: BSAVE"108",128*4+27136,128*6-1+27136,S
209 BLOAD"00000001.SC5",S,0+27136: BSAVE"109",128*6+27136,128*8-1+27136,S
210 BLOAD"00000001.SC5",S,0+27136: BSAVE"110",128*8+27136,128*10-1+27136,S
211 BLOAD"00000001.SC5",S,0+27136: BSAVE"111",128*10+27136,128*12-1+27136,S
212 BLOAD"00000001.SC5",S,0+27136: BSAVE"112",128*12+27136,128*14-1+27136,S
213 BLOAD"00000001.SC5",S,0+27136: BSAVE"113",128*14+27136,128*16-1+27136,S
214 BLOAD"00000001.SC5",S,0+27136: BSAVE"114",128*16+27136,128*18-1+27136,S
215 BLOAD"00000001.SC5",S,0+27136: BSAVE"115",128*18+27136,128*20-1+27136,S
216 BLOAD"00000001.SC5",S,0+27136: BSAVE"116",128*20+27136,128*22-1+27136,S
217 BLOAD"00000001.SC5",S,0+27136: BSAVE"117",128*22+27136,128*24-1+27136,S
218 BLOAD"00000001.SC5",S,0+27136: BSAVE"118",128*24+27136,128*26-1+27136,S
219 BLOAD"00000001.SC5",S,0+27136: BSAVE"119",128*26+27136,128*28-1+27136,S
220 BLOAD"00000001.SC5",S,0+27136: BSAVE"120",128*28+27136,128*30-1+27136,S
221 BLOAD"00000001.SC5",S,0+27136: BSAVE"121",128*30+27136,128*32-1+27136,S
222 BLOAD"00000001.SC5",S,0+27136: BSAVE"122",128*32+27136,128*34-1+27136,S
223 BLOAD"00000001.SC5",S,0+27136: BSAVE"123",128*34+27136,128*36-1+27136,S
224 BLOAD"00000001.SC5",S,0+27136: BSAVE"124",128*36+27136,128*38-1+27136,S
225 BLOAD"00000001.SC5",S,0+27136: BSAVE"125",128*38+27136,128*40-1+27136,S
226 BLOAD"00000001.SC5",S,0+27136: BSAVE"126",128*40+27136,128*42-1+27136,S
227 BLOAD"00000001.SC5",S,0+27136: BSAVE"127",128*42+27136,128*44-1+27136,S
....A plus tard...Au magasin lol

Voici la nouvelle mouture du moteur.
Pour rappel, grace au générateur de bribes "copiées déplacées" et "déplacées collées", il n'est plus nécessaire de modifier le player pour afficher les bribes sur la zone des SPRITES.
Tout est fait au niveau du générateur.
voici le résulta en image:
http://youtu.be/7iPKc3mq-ik
Voici les générateurs:
Voici le nouveau player:
Pour rappel, grace au générateur de bribes "copiées déplacées" et "déplacées collées", il n'est plus nécessaire de modifier le player pour afficher les bribes sur la zone des SPRITES.
Tout est fait au niveau du générateur.
voici le résulta en image:
http://youtu.be/7iPKc3mq-ik
Voici les générateurs:
Code TEXT :
10 'SAVE"B2GEN0-1.asc",A 20 'generateur de bribes d'images 128 X 2 simplifié version 2.0 22' 30 ' Mode Graphique utilisé 32 VDP(10)=0: SCREEN 5 70 'Charger image ZERO [212X256] depuis la ligne Zero vers Zero 72 BLOAD"00000000.SC5",S: COLOR=RESTORE 74 ' 76 'Creer et entrer dans le repertoire I-1 [Image Un] 78 CALL MKDIR ("I-1"):CALL CHDIR ("I-1") 80 ' 90 'Creer repertoires de 0 a F et y générer 7 bribes hautes de 2 lignes. 100 CALL MKDIR ("0"):CALL CHDIR ("0"):BSAVE"0",128*0,128*2-1,S 101 BSAVE"1",128*2,128*4-1,S 102 BSAVE"2",128*4,128*6-1,S 103 BSAVE"3",128*6,128*8-1,S 104 BSAVE"4",128*8,128*10-1,S 105 BSAVE"5",128*10,128*12-1,S 106 BSAVE"6",128*12,128*14-1,S 107 BSAVE"7",128*14,128*16-1,S:CALL CHDIR ("..") 108 CALL MKDIR ("1"):CALL CHDIR ("1"):BSAVE"0",128*16,128*18-1,S 109 BSAVE"1",128*18,128*20-1,S 110 BSAVE"2",128*20,128*22-1,S 111 BSAVE"3",128*22,128*24-1,S 112 BSAVE"4",128*24,128*26-1,S 113 BSAVE"5",128*26,128*28-1,S 114 BSAVE"6",128*28,128*30-1,S 115 BSAVE"7",128*30,128*32-1,S:CALL CHDIR ("..") 116 CALL MKDIR ("2"):CALL CHDIR ("2"):BSAVE"0",128*32,128*34-1,S 117 BSAVE"1",128*34,128*36-1,S 118 BSAVE"2",128*36,128*38-1,S 119 BSAVE"3",128*38,128*40-1,S 120 BSAVE"4",128*40,128*42-1,S 121 BSAVE"5",128*42,128*44-1,S 122 BSAVE"6",128*44,128*46-1,S 123 BSAVE"7",128*46,128*48-1,S:CALL CHDIR ("..") 124 CALL MKDIR ("3"):CALL CHDIR ("3"): BSAVE"0",128*48,128*50-1,S 125 BSAVE"1",128*50,128*52-1,S 126 BSAVE"2",128*52,128*54-1,S 127 BSAVE"3",128*54,128*56-1,S 128 BSAVE"4",128*56,128*58-1,S 129 BSAVE"5",128*58,128*60-1,S 130 BSAVE"6",128*60,128*62-1,S 131 BSAVE"7",128*62,128*64-1,S:CALL CHDIR ("..") 132 CALL MKDIR ("4"):CALL CHDIR ("4"): BSAVE"0",128*64,128*66-1,S 133 BSAVE"1",128*66,128*68-1,S 134 BSAVE"2",128*68,128*70-1,S 135 BSAVE"3",128*70,128*72-1,S 136 BSAVE"4",128*72,128*74-1,S 137 BSAVE"5",128*74,128*76-1,S 138 BSAVE"6",128*76,128*78-1,S 139 BSAVE"7",128*78,128*80-1,S:CALL CHDIR ("..") 140 CALL MKDIR ("5"):CALL CHDIR ("5"): BSAVE"0",128*80,128*82-1,S 141 BSAVE"1",128*82,128*84-1,S 142 BSAVE"2",128*84,128*86-1,S 143 BSAVE"3",128*86,128*88-1,S 144 BSAVE"4",128*88,128*90-1,S 145 BSAVE"5",128*90,128*92-1,S 146 BSAVE"6",128*92,128*94-1,S 147 BSAVE"7",128*94,128*96-1,S:CALL CHDIR ("..") 148 CALL MKDIR ("6"):CALL CHDIR ("6"): BSAVE"0",128*96,128*98-1,S 149 BSAVE"1",128*98,128*100-1,S 150 BSAVE"2",128*100,128*102-1,S 151 BSAVE"3",128*102,128*104-1,S 152 BSAVE"4",128*104,128*106-1,S 153 BSAVE"5",128*106,128*108-1,S 154 BSAVE"6",128*108,128*110-1,S 155 BSAVE"7",128*110,128*112-1,S:CALL CHDIR ("..") 156 CALL MKDIR ("7"):CALL CHDIR ("7"): BSAVE"0",128*112,128*114-1,S 157 BSAVE"1",128*114,128*116-1,S 158 BSAVE"2",128*116,128*118-1,S 159 BSAVE"3",128*118,128*120-1,S 160 BSAVE"4",128*120,128*122-1,S 161 BSAVE"5",128*122,128*124-1,S 162 BSAVE"6",128*124,128*126-1,S 163 BSAVE"7",128*126,128*128-1,S:CALL CHDIR ("..") 164 CALL MKDIR ("8"):CALL CHDIR ("8"): BSAVE"0",128*128,128*130-1,S 165 BSAVE"1",128*130,128*132-1,S 166 BSAVE"2",128*132,128*134-1,S 167 BSAVE"3",128*134,128*136-1,S 168 BSAVE"4",128*136,128*138-1,S 169 BSAVE"5",128*138,128*140-1,S 170 BSAVE"6",128*140,128*142-1,S 171 BSAVE"7",128*142,128*144-1,S:CALL CHDIR ("..") 172 CALL MKDIR ("9"):CALL CHDIR ("9"): BSAVE"0",128*144,128*146-1,S 173 BSAVE"1",128*146,128*148-1,S 174 BSAVE"2",128*148,128*150-1,S 175 BSAVE"3",128*150,128*152-1,S 176 BSAVE"4",128*152,128*154-1,S 177 BSAVE"5",128*154,128*156-1,S 178 BSAVE"6",128*156,128*158-1,S 179 BSAVE"7",128*158,128*160-1,S:CALL CHDIR ("..") 180 CALL MKDIR ("A"):CALL CHDIR ("A"): BSAVE"0",128*160,128*162-1,S 181 BSAVE"1",128*162,128*164-1,S 182 BSAVE"2",128*164,128*166-1,S 183 BSAVE"3",128*166,128*168-1,S 184 BSAVE"4",128*168,128*170-1,S 185 BSAVE"5",128*170,128*172-1,S 186 BSAVE"6",128*172,128*174-1,S 187 BSAVE"7",128*174,128*176-1,S:CALL CHDIR ("..") 188 CALL MKDIR ("B"):CALL CHDIR ("B"): BSAVE"0",128*176,128*178-1,S 189 BSAVE"1",128*178,128*180-1,S 190 BSAVE"2",128*180,128*182-1,S 191 BSAVE"3",128*182,128*184-1,S 192 BSAVE"4",128*184,128*186-1,S 193 BSAVE"5",128*186,128*188-1,S 194 BSAVE"6",128*188,128*190-1,S 195 BSAVE"7",128*190,128*192-1,S:CALL CHDIR ("..") 196 CALL MKDIR ("C"):CALL CHDIR ("C"): BSAVE"0",128*192,128*194-1,S 197 BSAVE"1",128*194,128*196-1,S 198 BSAVE"2",128*196,128*198-1,S 199 BSAVE"3",128*198,128*200-1,S 200 BSAVE"4",128*200,128*202-1,S 201 BSAVE"5",128*202,128*204-1,S 202 BSAVE"6",128*204,128*206-1,S 203 BSAVE"7",128*206,128*208-1,S:CALL CHDIR ("..") 204 CALL MKDIR ("D"):CALL CHDIR ("D"): BSAVE"0",128*208,128*210-1,S 205 BSAVE"1",128*210,128*212-1,S:CALL CHDIR ("..") 1000 'Revenir à la racine du disque 1002 CALL CHDIR ("..") 1004' 1070 'Charger image UN [44X256] depuis la ligne Zero vers Zero + 27136 bytes de décalage 1072 BLOAD"00000001.SC5",S,0+27136: COLOR=RESTORE 1074 ' 1076 'Entrer dans le repertoire I-1 [Image Un] 1078 CALL CHDIR ("I-1") 1080 ' 1090 'Creer repertoires de D a F et y générer 7 bribes hautes de 2 lignes. 1092 'Sauver les bribes lignes Zero vers Zero + 27136 bytes de décalage. 1206 CALL CHDIR ("D"): BSAVE"2",128*0+27136,128*2-1+27136,S 1207 BSAVE"3",128*2+27136,128*4-1+27136,S 1208 BSAVE"4",128*4+27136,128*6-1+27136,S 1209 BSAVE"5",128*6+27136,128*8-1+27136,S 1210 BSAVE"6",128*8+27136,128*10-1+27136,S 1211 BSAVE"7",128*10+27136,128*12-1+27136,S:CALL CHDIR ("..") 1212 CALL MKDIR ("E"):CALL CHDIR ("E"): BSAVE"0",128*12+27136,128*14-1+27136,S 1213 BSAVE"1",128*14+27136,128*16-1+27136,S 1214 BSAVE"2",128*16+27136,128*18-1+27136,S 1215 BSAVE"3",128*18+27136,128*20-1+27136,S 1216 BSAVE"4",128*20+27136,128*22-1+27136,S 1217 BSAVE"5",128*22+27136,128*24-1+27136,S 1218 BSAVE"6",128*24+27136,128*26-1+27136,S 1219 BSAVE"7",128*26+27136,128*28-1+27136,S:CALL CHDIR ("..") 1220 CALL MKDIR ("F"):CALL CHDIR ("F"): BSAVE"0",128*28+27136,128*30-1+27136,S 1221 BSAVE"1",128*30+27136,128*32-1+27136,S 1222 BSAVE"2",128*32+27136,128*34-1+27136,S 1223 BSAVE"3",128*34+27136,128*36-1+27136,S 1224 BSAVE"4",128*36+27136,128*38-1+27136,S 1225 BSAVE"5",128*38+27136,128*40-1+27136,S 1226 BSAVE"6",128*40+27136,128*42-1+27136,S 1227 BSAVE"7",128*42+27136,128*44-1+27136,S:CALL CHDIR ("..") 1264 'Revenir a la racine 1265 CALL CHDIR("..")
Voici le nouveau player:
Code TEXT :
Edité par
igal
Le 30/01/2015 à 17h52
10 'SAVE"RPLAY17.asc",A 12 'Version 002 14 'PLAYER DE BRIBES VERICALES[(106 X 2) + (22 X 256)] 16 VDP(10)=0:SCREEN 5:VDP(24)=VDP(24)+212:VDP(9)=VDP(9)OR2 18 N=2:P=0:RB=D:X=100:Y=100 20 BLOAD"ALPHA.SC5",S:COLOR=RESTORE:COLOR ,1,1:CLS 100 IF I=0THEN CALL CHDIR ("I-1"):GOTO 200 102 IF I=1THEN CALL CHDIR ("I-2"):GOTO 200 104 IF I=2THEN CALL CHDIR ("I-3"):GOTO 200 106 IF I=3THEN CALL CHDIR ("I-4"):GOTO 200 200 CALL CHDIR ("D"):VB=D 202 BLOAD"1",S:GOSUB 1510 204 BLOAD"0",S:GOSUB 1510 206 CALL CHDIR ("..") 300 CALL CHDIR ("C"):VB=C 302 BLOAD"7",S:GOSUB 1510 304 BLOAD"6",S:GOSUB 1510 306 BLOAD"5",S:GOSUB 1510 308 BLOAD"4",S:GOSUB 1510 310 BLOAD"3",S:GOSUB 1510 312 BLOAD"2",S:GOSUB 1510 314 BLOAD"1",S:GOSUB 1510 316 BLOAD"0",S:GOSUB 1510 318 CALL CHDIR ("..") 320 CALL CHDIR ("B"):VB=B 322 BLOAD"7",S:GOSUB 1510 324 BLOAD"6",S:GOSUB 1510 326 BLOAD"5",S:GOSUB 1510 328 BLOAD"4",S:GOSUB 1510 330 BLOAD"3",S:GOSUB 1510 332 BLOAD"2",S:GOSUB 1510 334 BLOAD"1",S:GOSUB 1510 336 BLOAD"0",S:GOSUB 1510 338 CALL CHDIR ("..") 340 CALL CHDIR ("A"):VB=A 342 BLOAD"7",S:GOSUB 1510 344 BLOAD"6",S:GOSUB 1510 346 BLOAD"5",S:GOSUB 1510 348 BLOAD"4",S:GOSUB 1510 350 BLOAD"3",S:GOSUB 1510 352 BLOAD"2",S:GOSUB 1510 354 BLOAD"1",S:GOSUB 1510 356 BLOAD"0",S:GOSUB 1510 358 CALL CHDIR ("..") 360 CALL CHDIR ("9"):VB=9 362 BLOAD"7",S:GOSUB 1510 364 BLOAD"6",S:GOSUB 1510 366 BLOAD"5",S:GOSUB 1510 368 BLOAD"4",S:GOSUB 1510 370 BLOAD"3",S:GOSUB 1510 372 BLOAD"2",S:GOSUB 1510 374 BLOAD"1",S:GOSUB 1510 376 BLOAD"0",S:GOSUB 1510 378 CALL CHDIR ("..") 380 CALL CHDIR ("8"):VB=8 382 BLOAD"7",S:GOSUB 1510 384 BLOAD"6",S:GOSUB 1510 386 BLOAD"5",S:GOSUB 1510 388 BLOAD"4",S:GOSUB 1510 390 BLOAD"3",S:GOSUB 1510 392 BLOAD"2",S:GOSUB 1510 394 BLOAD"1",S:GOSUB 1510 396 BLOAD"0",S:GOSUB 1510 398 CALL CHDIR ("..") 400 CALL CHDIR ("7"):VB=7 402 BLOAD"7",S:GOSUB 1510 404 BLOAD"6",S:GOSUB 1510 406 BLOAD"5",S:GOSUB 1510 408 BLOAD"4",S:GOSUB 1510 410 BLOAD"3",S:GOSUB 1510 412 BLOAD"2",S:GOSUB 1510 414 BLOAD"1",S:GOSUB 1510 416 BLOAD"0",S:GOSUB 1510 418 CALL CHDIR ("..") 420 CALL CHDIR ("6"):VB=6 422 BLOAD"7",S:GOSUB 1510 424 BLOAD"6",S:GOSUB 1510 426 BLOAD"5",S:GOSUB 1510 428 BLOAD"4",S:GOSUB 1510 430 BLOAD"3",S:GOSUB 1510 432 BLOAD"2",S:GOSUB 1510 434 BLOAD"1",S:GOSUB 1510 436 BLOAD"0",S:GOSUB 1510 438 CALL CHDIR ("..") 440 CALL CHDIR ("5"):VB=5 442 BLOAD"7",S:GOSUB 1510 444 BLOAD"6",S:GOSUB 1510 446 BLOAD"5",S:GOSUB 1510 448 BLOAD"4",S:GOSUB 1510 450 BLOAD"3",S:GOSUB 1510 452 BLOAD"2",S:GOSUB 1510 454 BLOAD"1",S:GOSUB 1510 456 BLOAD"0",S:GOSUB 1510 458 CALL CHDIR ("..") 460 CALL CHDIR ("4"):VB=4 462 BLOAD"7",S:GOSUB 1510 464 BLOAD"6",S:GOSUB 1510 466 BLOAD"5",S:GOSUB 1510 468 BLOAD"4",S:GOSUB 1510 470 BLOAD"3",S:GOSUB 1510 472 BLOAD"2",S:GOSUB 1510 474 BLOAD"1",S:GOSUB 1510 476 BLOAD"0",S:GOSUB 1510 478 CALL CHDIR ("..") 480 CALL CHDIR ("3"):VB=3 482 BLOAD"7",S:GOSUB 1510 484 BLOAD"6",S:GOSUB 1510 486 BLOAD"5",S:GOSUB 1510 488 BLOAD"4",S:GOSUB 1510 490 BLOAD"3",S:GOSUB 1510 492 BLOAD"2",S:GOSUB 1510 494 BLOAD"1",S:GOSUB 1510 496 BLOAD"0",S:GOSUB 1510 498 CALL CHDIR ("..") 500 CALL CHDIR ("2"):VB=2 502 BLOAD"7",S:GOSUB 1510 504 BLOAD"6",S:GOSUB 1510 506 BLOAD"5",S:GOSUB 1510 508 BLOAD"4",S:GOSUB 1510 510 BLOAD"3",S:GOSUB 1510 512 BLOAD"2",S:GOSUB 1510 514 BLOAD"1",S:GOSUB 1510 516 BLOAD"0",S:GOSUB 1510 518 CALL CHDIR ("..") 520 CALL CHDIR ("1"):VB=1 522 BLOAD"7",S:GOSUB 1510 524 BLOAD"6",S:GOSUB 1510 526 BLOAD"5",S:GOSUB 1510 528 BLOAD"4",S:GOSUB 1510 530 BLOAD"3",S:GOSUB 1510 532 BLOAD"2",S:GOSUB 1510 534 BLOAD"1",S:GOSUB 1510 536 BLOAD"0",S:GOSUB 1510 538 CALL CHDIR ("..") 540 CALL CHDIR ("0"):VB=0 542 BLOAD"7",S:GOSUB 1510 544 BLOAD"6",S:GOSUB 1510 546 BLOAD"5",S:GOSUB 1510 548 BLOAD"4",S:GOSUB 1510 550 BLOAD"3",S:GOSUB 1510 552 BLOAD"2",S:GOSUB 1510 554 BLOAD"1",S:GOSUB 1510 556 BLOAD"0",S:GOSUB 1510 558 CALL CHDIR (".."):IF I=4 GOTO2000 560 CALL CHDIR ("F"):VB=F 562 BLOAD"7",S:GOSUB 1510 564 BLOAD"6",S:GOSUB 1510 566 BLOAD"5",S:GOSUB 1510 568 BLOAD"4",S:GOSUB 1510 570 BLOAD"3",S:GOSUB 1510 572 BLOAD"2",S:GOSUB 1510 574 BLOAD"1",S:GOSUB 1510 576 BLOAD"0",S:GOSUB 1510 578 CALL CHDIR ("..") 580 CALL CHDIR ("E"):VB=E 582 BLOAD"7",S:GOSUB 1510 584 BLOAD"6",S:GOSUB 1510 586 BLOAD"5",S:GOSUB 1510 588 BLOAD"4",S:GOSUB 1510 590 BLOAD"3",S:GOSUB 1510 592 BLOAD"2",S:GOSUB 1510 594 BLOAD"1",S:GOSUB 1510 596 BLOAD"0",S:GOSUB 1510 598 CALL CHDIR ("..") 600 CALL CHDIR ("D"):VB=D 602 BLOAD"7",S:GOSUB 1510 604 BLOAD"6",S:GOSUB 1510 606 BLOAD"5",S:GOSUB 1510 608 BLOAD"4",S:GOSUB 1510 610 BLOAD"3",S:GOSUB 1510 612 BLOAD"2",S:GOSUB 1510 614 CALL CHDIR (".."):CALL CHDIR (".."):I=I+1:GOTO100 1500 ' 1510 'PUTSPRITE 0,(X,Y),4,0:IFSTRIG(0)THENPUTSPRITE0,(X,Y-20),9,0 1515 S=STICK(0):ONS+1 GOSUB 1530,1560,1590,1620,1650,1690,1720,1750,1780:RETURN 1520 ' 1530 'STATIQUE 1540 VDP(24)=VDP(24)-2AND255:Y=Y-2AND255:RETURN 1550 ' 1560 'HAUT 1570 VDP(24)=VDP(24)-2AND255:Y=Y-4AND255:RETURN 1580 ' 1590 'DIAGO HAUT DROITE 1600 VDP(24)=VDP(24)-2AND255:X=X+4AND255:Y=Y-4AND255:RETURN 1610 ' 1620 'DROITE 1630 VDP(24)=VDP(24)-2AND255:X=X+4AND255:RETURN 1640 ' 1650 'DROITE BAS 1660 VDP(24)=VDP(24)+2AND255:X=X+4AND255:Y=Y+4AND255:RETURN 1670 ' 1680 ' 1690 'BAS 1700 VDP(24)=VDP(24)+2AND255:Y=Y+4AND255:RETURN 1710 ' 1720 'DIAGO BAS GAUCHE 1730 VDP(24)=VDP(24)+2AND255:X=X-4AND255:Y=Y+4AND255:RETURN 1740 ' 1750 'GAUCHE 1760 VDP(24)=VDP(24)-2AND255:X=X-4AND255:RETURN 1770 ' 1780 'DIAGO HAUT GAUCHE 1790 VDP(24)=VDP(24)-2AND255:X=X-4AND255:Y=Y-4AND255:RETURN

j'ai automatisé toute la partie MSX et il ne faut que 10 minutes pour faire ceci
Ca vous plait
voici les sources
JOE&MAC.rar Edité par igal Le 30/01/2015 à 19h10

Ca vous plait

voici les sources

JOE&MAC.rar Edité par igal Le 30/01/2015 à 19h10


J'ai un petit soucis pour jouer la bonne animation du Héro.

Pour l'animation Droite et gauche:
Chaque étape fait 40 pixels de Large sur 46 Pixels de Haut.
Puisqu'il y a 4 étapes, on à dont un total de 160 pixels.
Avec la condition IF, l'animation fonctionne de façon cohérente.
----------------------------------
900 S=STICK(0):ONS+1 GOSUB 1000,1100,1200,1300,1400,1500,1600,1700,1800:RETURN
1300 'DROITE******************
1310 VDP(24)=VDP(24)-2AND255
1320 B=0:COPY(A,B)-(A+39,B+45),1TO(X,Y),0:A=A+40:IFA=160THENA=0
1330 RETURN
------------------------------------
Cependant, IF ralenti le processus et je voudrai le remplacer par AND.
Voici comment je procède:
-----------------------------------
900 S=STICK(0):ONS+1 GOSUB 1000,1100,1200,1300,1400,1500,1600,1700,1800:RETURN
1300 'DROITE******************
1310 VDP(24)=VDP(24)-2AND255
1320 B=0:COPY(A,B)-(A+39,B+45),1TO(X,Y),0:A=A+40AND160
1330 RETURN
-------------------------------------
Cette fois, l'animation est incohérente et ne tombe jamais juste!
AND160 remet pourtant A à ZERO si sa valeur atteint 160!
Je comprends pas pourquoi ca marche pas
Edité par
igal
Le 03/02/2015 à 12h04

Pour l'animation Droite et gauche:
Chaque étape fait 40 pixels de Large sur 46 Pixels de Haut.
Puisqu'il y a 4 étapes, on à dont un total de 160 pixels.
Avec la condition IF, l'animation fonctionne de façon cohérente.
----------------------------------
900 S=STICK(0):ONS+1 GOSUB 1000,1100,1200,1300,1400,1500,1600,1700,1800:RETURN
1300 'DROITE******************
1310 VDP(24)=VDP(24)-2AND255
1320 B=0:COPY(A,B)-(A+39,B+45),1TO(X,Y),0:A=A+40:IFA=160THENA=0
1330 RETURN
------------------------------------
Cependant, IF ralenti le processus et je voudrai le remplacer par AND.
Voici comment je procède:
-----------------------------------
900 S=STICK(0):ONS+1 GOSUB 1000,1100,1200,1300,1400,1500,1600,1700,1800:RETURN
1300 'DROITE******************
1310 VDP(24)=VDP(24)-2AND255
1320 B=0:COPY(A,B)-(A+39,B+45),1TO(X,Y),0:A=A+40AND160
1330 RETURN
-------------------------------------
Cette fois, l'animation est incohérente et ne tombe jamais juste!
AND160 remet pourtant A à ZERO si sa valeur atteint 160!
Je comprends pas pourquoi ca marche pas

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie