Étape 5: Comprendre le Code : l’installation et la LawLoop
hors
Écran de titre
couleur 0 a
Set/a largeur = 40
hauteur de jeu/a = 20
Set/a lastlaw = % largeur * hauteur %
Set/a bottombarrier = % lastlaw % - % de la largeur
Set/a droit = 0
Echelles de Set/a = % largeur + 1
Set/a face de b: largeur = % * 2
Set de marqueur = O
barrière fixe = #
la valeur vide =-
la valeur derrière = vide %
ensemble/un lieu = 222
écho.
titre d’écran % hauteur largeur x % %
: LawLoop
Si % Loi % == % lastlaw % goto ObjectPlace
Set/a droit = % droit + 1
Si % Loi % LEQ % largeur () %
Set droit v% % = barrière %
Goto LawLoop
)
Si % Loi % GTR % bottombarrier % (
Set droit v% % = barrière %
Goto LawLoop
)
Si % Loi % == () % % Echelles
Set droit v% % = barrière %
Echelles de Set/a = Echelles % + % largeur
Goto LawLoop
)
Si % Loi % == % face b: % (
Set droit v% % = barrière %
Set/a face de b: = face b: % + % largeur
ECHO *
Goto LawLoop
) () autre
Set droit v% % = % vide
Goto LawLoop
)
: ObjectPlace
lieu de Set v % = marqueur %
La première partie est chargée de désigner la signification des symboles et les valeurs de départ des Echelles %, face b: %, lieu % et % de la Loi.
Set/a largeur = 40
hauteur de jeu/a = 20
Set/a lastlaw = % largeur * hauteur %
Set/a bottombarrier = % lastlaw % - % de la largeur
Set/a droit = 0
Echelles de Set/a = % largeur + 1
Set/a face de b: largeur = % * 2
Set de marqueur = O
barrière fixe = #
la valeur vide =-
la valeur derrière = vide %
ensemble/un lieu = 222
écho.
Tout au long de l’alphabet, les symboles sont désignés par variables. Le curseur est marqueur %, et comme je l’ai écrit, marqueur % = O. Plus tard dans le code, lorsque l'on passe de v343 v344 et le programme doit v344 avec la valeur pour afficher O, symbole du curseur, il fait donc, en utilisant
Définissez v344 = marqueur %
Depuis le marqueur % = O, v344 % contiendra également O. Faire cela que si vous souhaitez modifier le symbole d’une fonction particulière, par exemple, pour utiliser pour montrer le curseur au lieu de O, vous seulement devez changer O @ dans ce morceau haut de la page de code plutôt que de chasser dans le script pour chaque ligne qui traite avec le curseur.
* Note : le programme ne peut pas comprendre un espace (barre d’espace) comme un symbole. Si vous utilisez un, le programme plantera. J’utilise "-" au lieu de cela, et il rend l’écran facile à lire.
Une autre caractéristique importante de la présente partie du code est la largeur % et % hauteur % variables qui contiennent, derp, la largeur et la hauteur de l’écran et sont utilisés à travers l’ensemble du programme à mettre en place l’écran et déplacez le curseur.
LawLoop est une pièce principale de la phase d’installation. Son travail consiste à prendre chaque variable de pixel sur l’écran, depuis le v1 % à v800 % pour notre écran de 40 x 20 et définissez-le avec le symbole approprié. Cela dépend du nombre de la variable, c’est pourquoi tous les pixels sont nommés « v #. » % de droit commence à 0 et décompte progressif, rendant la première v1 variable. Le code fonctionne comme ceci :
Set droit v% % = symbole %
Au début, Loi % est égal à 1, alors cette ligne a vraiment dit
jeu de v1 = symbole %
ayant un symbole % être quoi que symbole la fi/ensuite appel à des conditions. Après réglage v1, le code effectue une boucle et ajoute 1 % de la Loi. Maintenant % Loi % = 2 et le code se lit
la valeur de v2 = symbole %
% de droit continue à compter jusqu'à ce qu’il atteigne le dernier v800 variable, de 40 x 20, à quel point le code passe à ScreenLoop et commence à courir.
Ce que l’écran ressemble à une fois la mise en place dépend si/alors des déclarations. Le programme utilise la loi % % nombres pour déterminer quel pixel devrait contenir ce qui. Il y a deux sections de la présente. les principaux LawLoop et ObjectPlace.
: LawLoop
Si % Loi % == % lastlaw % goto ObjectPlace
Set/a droit = % droit + 1
Si % Loi % LEQ % largeur () %
Set droit v% % = barrière %
Goto LawLoop
)
Si % Loi % GTR % bottombarrier % (
Set droit v% % = barrière %
Goto LawLoop
)
Si % Loi % == () % % Echelles
Set droit v% % = barrière %
Echelles de Set/a = Echelles % + % largeur
Goto LawLoop
)
Si % Loi % == % face b: % (
Set droit v% % = barrière %
Set/a face de b: = face b: % + % largeur
ECHO *
Goto LawLoop
) () autre
Set droit v% % = % vide
Goto LawLoop
)
LawLoop est conçu pour créer les bases de l’écran : une limite de barrière symboles espace vide environnant. Il a quatre principaux éléments de code la maintenez les segments de la barrière autour de la bordure à l’aide de la variable % droit de construction et si/alors des déclarations. Les deux premiers créent les barrières en haut et en bas, en définissant des barrières dans chaque variable avec un nombre de % % droit qui pose sur le haut ou le bas de ligne de l’écran. Pour notre écran de 40 x 20, la ligne supérieure est composée de pixels avec loi % % nombres 1-40 (40 variable par ligne) et le fond des numéros 800 761, afin que le programme utilise
Si % Loi LEQ % largeur %
et
Si % Loi RTM % bottombarrier %
pour régler une barrière sur des pixels en haut et en bas de ligne de l’écran.
Les barrières latérales sont créées à l’aide de la face b: % variables et Echelles %. Echelles % contrôle le côté gauche et est initialement définie par le nombre de % % loi de la variable du poing sur la deuxième ligne (la première ligne a été pris en charge avec l’instruction LEQ). Lorsque la loi % équivaut à Echelles %, le programme définit ce premier pixel comme une barrière, puis ajoute 40 à Echelles % afin que comme loi % % augmente il définira le premier pixel de la troisième ligne comme une barrière, après dont 40 un autre est ajouté au Echelles % pour le premier pixel de la quatrième ligne, et ainsi de suite jusqu'à ce que les lieux nombre de % % droit une variable dans la dernière ligne de l’écran , à quel point l’instruction RTM prend le relais. face b: % fonctionne de la même manière, désignant le dernier pixel sur chaque ligne comme une barrière et en créant la limite droite.
La dernière partie de l’installation est ObjectPlace, qui définit des variables pour contenir des symboles pour le curseur et toute autre condition initiale.
: ObjectPlace
lieu de Set v % = marqueur %
Cette ligne définit quelque pixel a la % droit % nombre égal à la valeur d’espace %, l’emplacement du curseur, dans l’espace avec le symbole désignant le curseur. Vous devez programmer la présente partie du code vous-même, à l’aide de déclarations comme ceci pour créer un environnement à l’écran, tels que les barrières au milieu de l’écran. Pour quelque chose comme le jeu par la suite, vous pouvez créer plusieurs fichiers de commandes différentes avec des listes de conditions pour créer différents niveaux et utiliser « appellent level1.bat » pour configurer le niveau.