★ CODING ★ AVENTURES AVANT TOUT (IV) ★ |
Aventures avant tout IV (ACPC n°16) |
Saluons aujourd'hui la tribu des assoiffés d'aventure en quête de connaissance, qui depuis trois mois déjà se nourrissent des programmes parus dans leur journal préféré. Réjouissez-vous car, ce mois-ci, la lumière sera (comme dirait Yann, rrr...), et vous allez enfin pouvoir inclure dans votre jeu des images de votre cru.Vous savez tous, j'en suis sûr, comment on sauve une image écran sur la disquette à partir du Basic. En effet, une ligne de programme du type 'SAVE “IMAGE”, B, &C000, &4000', crée sur le dise un fichier binaire de 17 Ko. qui peut être rappelé à l'écran par 'LOAD“IMAGE.BIN”,&C000' Si nous devions insérer ce type de fichiers dans les jeux d'aventures, cela poserait de gros problèmes. D'une part, une attente assez longue (toujours trop longue) pour le chargement de l'image et, d'autre part, sur une disquette formatée à 178 Ko, on ne pourra pas mettre plus de dix images par face, ce qui représente pour un jeu de type classique, trois disquettes, avec en plus, toutes les trente secondes, une phrase du genre 'INSEREZ LA FACE MACHIN DU JEU'. Imaginez l'angoisse de jouer sur de tels jeux. Très bien, on est d'accord, il faut absolument trouver une autre solution. Vous vous doutez bien que, si je parle de ce genre d'inconvénients, c'est que je suis capable d'apporter une solution à ce problème (qui a dit chiche ?). LA SOLUTION En examinant la page d'un jeu d'aventures quelconque, vous verrez que les dessins qui sont attribués à chaque lieu ne remplissent pas la totalité de l'écran, et qu'une fenêtre est réservée à un endroit bien précis pour les accueillir. En se penchant très légèrement sur le problème et en réfléchissant un peu, on peut en déduire qu'il n'est pas nécessaire de sauvegarder l'écran en entier, mais seulement la fenêtre dans laquelle sera positionnée cette image. Je vous préviens tout de suite, nous devons, pour cela, faire quelques petites galipettes, en sautillant sur un trampoline nommé assembleur et non pas désir. A TRAVERS LES FENETRES Avant toute chose, vous allez définir la fenêtre dans laquelle seront affichés les dessins. La commande "WINDOWS vous la connaissez tous. Vous allez sous Basic définir une fenêtre et calculer sa taille, à savoir qu'en 'MODE 1' on doit multiplier la longueur de la fenêtre (le nombre de caractères affichables sur une rangée) par sa hauteur (le nombre de rangées), pour avoir ainsi le nombre total de caractères affichables dans cette fenêtre. Sachant qu'un caractère occupe exactement 16 octets en mémoire, on multiplie par 16 le chiffre précédemment calculé et on obtient la taille de notre fenêtre graphique. Faites maintenant un petit essai, supposons que la taille de la fenêtre soit égale à TAILLE', entrez au clavier directement : SAVE“ESSAI”,b,10000,TAILLE+4 Vous venez de sauver en mode direct une zone mémoire allant de l'adresse 10000, sur une longueur égale à celle de votre fenêtre graphique, par l'instruction 'CAT. Vérifiez la présence du fichier 'ESSAI.BIN' et notez sa taille, en divisant le nombre de Ko disponibles sous le format classique (qui est de 178 Ko) par la taille du fichier 'ESSAI.BIN'. Vous obtenez, ô miracle, le nombre de dessins stockables sur la ace de votre disquette. Si vous trouvez que le nombre d'écrans est insuffisant, alors réduisez la taille de votre fenêtre, et cela jusqu'à entière satisfaction. Ne vous faites pas trop d'illusions, une disquette sera saturée avec une trentaine d'images de 5 Ko chacune, ce qui, à mon avis, est un juste compromis entre le nombre d'images et leur taille. Lors de la sauvegarde, nous avons réservé quatre misérables octets en plus, car il seront occupés par les quatre couleurs attribuées à chaque image. A VOS PINCEAUX Pour faire vos jolis dessins, il faudra respecter quelques petits détails : vos créations graphiques seront toujours à un même emplacement et seront toutes de même taille. Pour cela, après avoir défini une fenêtre par la commande 'WINDOW, entrez directement au clavier 'PAPER 3:CLS:SAVE “FENETRE”,B,&C000,&4000'. Ainsi, vous aurez sur votre disquette de travail une page de 17 Ko avec, en fond de couleur n°3, l'emplacement de votre dessin. A partir de là, avec n'importe quel logiciel graphique, vous pouvez faire de jolis dessins qui émerveillerons les joueurs futurs de votre jeu par leur beauté. Si vous ne possédez pas de logiciel graphique, je vous conseille de vous procurer The Advanced OCP Art Studio. Juré, je ne suis pas payé par l'éditeur (Rainbird, en l'occurrence), mais c'est à mon avis le meilleur sur le marché Amstrad, et sera décapité par Sined, celui qui prétendra le contraire. POUM'S BIDOUILLES Le premier listing vous permettra de sauvegarder sur disquette vos dessins, le deuxième sera utilisé pour la lecture des images à partir du dise. C'est ce dernier qui sera inclus dans votre jeu. Pour ne pas vous imposer l'emplacement des images sur l'écran, les deux listings (1 et 2) sont écrits de façon incomplète, et vous constatez que chacun comporte cinq étoiles dans sa ligne de DATA, qu'il faudra remplacer en fonction de l'emplacement de votre fenêtre. Pour cela, lancez le troisième listing, répondez correctement aux questions et remplacez les étoiles par les valeurs données dans le dernier petit programme. Les deux variables TAILLE' et ADRESSE' sont également remplacées par les deux valeurs qui seront indiquées en fin du troisième programme (ça en fait des programmes et des listings !...). 1er listing : 10 INPUT "NOM DE L'IMAGE DE 17 KILOES";IM$ |
|
Page précédente : Aventures avant tout III |
|