Création A Pixel écran en lot (6 / 9 étapes)

Étape 6: Comprendre le Code : programme mécanique et Spotcheck

LawLoop une fois terminée, tous les pixels de l’écran contient des symboles et le programme entre dans ScreenLoop, où il se fait l’écho les pixels sur l’écran et attend pour l’entrée :

: ScreenLoop
CLS
appel screen.bat
shove Set = y
REM début move.vbs
pousser ensemble/p =

Si % pousser % == () w
jeu de pousser largeur = %
Goto Move
)
Si % pousser % == () s
shove Set = + % de la largeur
Goto Move
)
Si % pousser % == d)
shove Set = + 1
Goto Move
)
Si % pousser % == une)
jeu de pousser =-1
Goto Move
)
Goto ScreenLoop

: Déménagement
Set/a spotcheck = % lieu %%d shove %
vérificateur de Set = %% v % spotcheck %%%
echo la valeur spotcheck = checker % > spotcheck.bat
appel spotcheck.bat
Si % spotcheck % == % barrière % goto ScreenLoop
lieu de Set v % = % derrière %
ensemble/un lieu = % lieu %%d shove %
lieu de Set v % = marqueur %
REM si % derrière % == % jeu de symboles % derrière = le symbole %
la valeur derrière = % spotcheck %
Goto ScreenLoop

Encore une fois, il y a deux sections, la principale section ScreenLoop et Move.

ScreenLoop est assez simple.  Chaque fois qu’il exécute, elle efface l’écran et actualise l’image créée par les pixels, affichage de tout changement dans les variables.  La boucle désigne alors une nouvelle variable, shove %, pour l’entrée.  les touches « w », de ', « a », et avait "sont utilisés comme des flèches et déterminer quel article du code, le programme va à.

Les quatre morceaux de code que ScreenLoop les liens vers sont utilisées pour définir des variables que le programme utilise pour déterminer quelles variables pour vérifier le contenu de changer l’emplacement du curseur % espace % et de changer le symbole dans le pixel déplacé sur et le pixel étant laissé.  La variable % de shove est réinitialisée pour contenir le morceau de code permettant de modifier la variable % place dans la section de passage du code.  Il devient + /-1 si le curseur se déplace de gauche ou de droite et +/-% de la largeur (+/-40 pour notre écran de 40 x 20) si le curseur est déplacé vers le haut ou vers le bas.

La section de passage est le bit de code qui permet au programme de réagir au contenu des variables, et c’est là la loi % % nombres des pixels entrent en jeu avec les symboles, ainsi que la partie du code qui utilise le troisième fichier, spotcheck.bat.

Déménagement a aussi deux sections.  Le premier est le script qui vérifie la valeur du pixel qui essaie de passer le curseur.

: Déménagement
Set/a spotcheck = % lieu %%d shove %
vérificateur de Set = %% v % spotcheck %%%
echo la valeur spotcheck = checker % > spotcheck.bat
appel spotcheck.bat
Si % spotcheck % == % barrière % goto ScreenLoop

Il y a plusieurs étapes dans ce processus.  Tout d’abord, le programme définit % spotcheck % % en tenant lieu %, le nombre de % % droit du pixel contenant le curseur et ajoute ou soustrait largeur % ou 1, basé sur les valeurs définies pour shove % de la commande saisie, pour désigner le nombre de % % droit du pixel essaie de passer le curseur.  Par exemple, si nous sommes sur v343 et déplacement sur v344, le programme va prendre place %, qui est 343, et ajouter 1 (puisque nous nous dirigeons vers la droite) pour obtenir un % droit % nombre de 344, qui désigne le v344 pixel.

Maintenant que le programme connaît le nombre de pixel pour vérifier, il faut vérifier la valeur du pixel v344.  Il s’agit d’une tâche difficile techniquement car nous avons besoin de connaître la valeur du pixel v344, qui est un lot variable % v344 %, mais l’ordinateur seulement connaît le nombre de pixel par % spotcheck % mais doit le nom complet de v344 %.  C’est un problème parce que le programme aurait vérifier le contenu d’une variable qui est désigné par une variable, et vous finiriez avec

Si %v % spotcheck %% == symbole %

% spotcheck % étant le nombre de % % droit du pixel que nous allons vérifier.  L’ordinateur ne peut pas faire n’importe quel sens cela, alors il faut faire un peu d’alchimie sur le code.  Nous le faisons avec une deuxième variable, % checker :

vérificateur de Set = %% v % spotcheck %%%

Cette ligne définit checker % égal au texte "%v #%," "#" correspondant à la valeur de % % droit du pixel sur que nous nous dirigeons.  Si nous allons encore de v343 v344, vérificateur % contiendra le texte « v344 %, » qui n’est pas une valeur que le programme peut utiliser à l’heure actuelle, mais qui est un morceau de code que l’ordinateur reconnaît : la variable % v344 % est le pixel dont le programme a besoin d’identifier la valeur.  Maintenant, il suffit de placer ce script dans une ligne de code, que l’ordinateur peut utiliser pour vérifier contenu du pixel.

C’est là que spotcheck.bat intervient :

echo la valeur spotcheck = checker % > spotcheck.bat
appel spotcheck.bat

Ces lignes exporter le texte "set spotcheck = % checker » à spotcheck.bat.  N’oubliez pas, checker % contient maintenant le texte « v344 %, » afin que la ligne de texte qui est exporté vers le nouveau fichier .bat est

Set spotcheck = % v344

qui est une ligne de commande utilisable.  Après exporter cette ligne de texte, le programme puis appelle spotcheck.bat et exécute cette ligne du script, et tout à coup spotcheck % contient le même symbole comme le v344 pixel et peut être testé avec un if/puis code.

Vous pouvez programmer ce pour vérifier n’importe quel symbole vous voulez et que vous créez n’importe quelle valeur que vous voulez ; dans le jeu, si le monstre se déplace sur un pixel contenant une mine, il perd une vie.  Il n’y a qu’une seule chose que ce script vérifie par nature, cependant, et c’est une barrière :

Si % spotcheck % == % barrière % goto ScreenLoop

Si pixel v344 contient une barrière, puis le programme ne déplace pas le curseur mais remonte à ScreenLoop pour recevoir une autre commande.

S’il n’y a aucun obstacle à la circulation, alors le programme exécute les lignes suivantes, la seconde moitié du déménagement, afin de déplacer le curseur dans le nouveau pixel :

lieu de Set v % = % vide
ensemble/un lieu = lieu % %% compasssymbol %% compassamount %
lieu de Set v % = marqueur %
REM si % derrière % == % jeu de symboles % derrière = le symbole %
la valeur derrière = % spotcheck %
Goto ScreenLoop

La première ligne réinitialise le symbole pour le pixel sur que vous êtes actuellement.  Il fait ceci en définissant v lieu %, votre variable actuelle de pixel, égale à % derrière %, ce qui est de la teneur de ce pixel avant de vous installer sur celui-ci (lorsque le programme démarre, % derrière % est définie égale à % de l’espace, ou tout autre symbole que vous voulez existent dans le pixel de départ).  Maintenant la prochaine fois que ScreenLoop s’exécute et les actualisations d’écran, le pixel que vous laissé montrera le contenu qui était là avant au lieu du symbole de curseur.

Vient ensuite le mouvement réel.  Le programme prend la place de %, la variable qui contient le nombre de pixel désigné comme le curseur, et ajoute ou soustrait 1 ou % largeur % selon la valeur de % montant %.  Maintenant lieu % correspond au nombre d’un pixel ci-dessus, ci-dessous, à droite ou à gauche de celle qui que vient de nous quitter.  lieu % était égal à 343 ; maintenant, il est égal à 344.  Le curseur a un nouvel emplacement.

La dernière étape consiste à faire ce nouveau pixel afficher le symbole du curseur.  C’est simple :

lieu de Set v % = marqueur %

Maintenant le pixel v # ou v344 dans notre exemple, contient le symbole pour le curseur et montrera quand fait écho à l’écran.

Il y a une dernière chose que doit faite : nous avons besoin d’un nouveau % derrière % valeur afin que ce nouveau pixel peut réinitialiser lorsque nous passons au loin de lui.  Pour ce faire, nous mettre en % derrière % égale à % spotcheck %, ce qui est toujours défini sur le symbole du pixel, avant de nous installer sur celui-ci.  Dire que pixel v344 était égale à la lettre « F »: quand le programme vérifié contenu de v344 pour voir si elle pourrait s’y installer, elle définie égale à F % spotcheck % afin d’exécuter des instructions if/then, et maintenant % derrière % fixera lui-même égal à F.  Maintenant, lorsque nous quittons v344 le pixel se fixera pour afficher le symbole, qu'il a montré avant de nous installer sur celui-ci.  Il y a également une ligne de code qui vous permet de modifier les pixels comme vous le laisser.  Supprimer « rem » de la ligne et le script se réinitialisera le pixel à un nouveau symbole, basé sur un if/déclaration puis (si pixel était F, laissez-le comme G).  Vous pouviez également ce lien à une commande dans ScreenLoop :

Si % pousser % == % ensemble de commandes % derrière = le symbole %

Une fois % derrière % est définie, le déplacement est terminé et ScreenLoop se répète.

Articles Liés

Sérigraphie partie leçon 2: Création d’un écran d’impression

Sérigraphie partie leçon 2: Création d’un écran d’impression

c'est la deuxième d'une série de trois tutoriaux impression écran, dans lequel je vais vous décrire le processus que j'utilise pour créer la main imprimé Articles en vente dans ma boutique Etsy , Le chien de la maison. Au cours des tutoriels je vais
Guide de fichier de lot

Guide de fichier de lot

Salut ! Bienvenue sur mon Guide de fichier Batch, je suis relativement nouveau à la langue de traitement par lots.  Ce n'est pas un guide extrêmement détaillé, car je crois qu'il est bon d'apprendre à ce sujet une grande partie du lot et ensuite comm
Effet dans lot de chargement

Effet dans lot de chargement

il s'agit Deuxièmement instructable... toujours, donc allez-y doucement sur moi... TyCe script est un script de chargement... Eh bien il seulement ressemble à un, il ne charge pas en fait n'importe quoi... son si vous voulez juste l'effet de quelque
Lumière LED pixel

Lumière LED pixel

pointolite PASSION LED, lampe à LED pixel – COBBLE™ est un flexible modulaire LED pixel guirlande lumineuse, qui est conçu pour l'éclairage d'accentuation et l'éclairage de périmètre. Ce pixel LED lumière génère des effets extraordinaires sans les co
Codes de lot génial

Codes de lot génial

Si vous avez vu les codes de lot que vous avez vu que la calculatrice de base, la matrice et le dossier Locker mais voici quelques-uns spéciaux, que je parie que vous n'avez jamais vu y compris une matrice qui ne monte pas vers le bas, d'un créateur
Créer votre première Table multi-touch

Créer votre première Table multi-touch

ça fait longtemps que j'ai contribué à ce site Web--passait à une année près--j'essayais d'atteindre un objectif personnel qui était en gestation depuis mes premières années de lycée. Cette instructable a pris 2 ans de recherches indépendantes et des
Module de contrôle de feu d’artifice

Module de contrôle de feu d’artifice

Il y a quelques années, je suis tombé sur un module de contrôle de feu d'artifice construit par utilisateur Instructables : systemf92. Son module était un grand dessein (trouvé ici) et je savais que j'ai un jour devra construire quelque chose de semb
Comment faire un rouleau dés électroniques

Comment faire un rouleau dés électroniques

Ce message décrit en détail un projet que j'ai terminé l'été dernier, un rouleau de dé électronique. Dans ce post, je vais aller sur comment et pourquoi je l'ai créé, et comment vous pouvez faire un de trop !Étape 1: Pourquoi construire un rouleau dé
BRICOLAGE numérisé planche à dessin

BRICOLAGE numérisé planche à dessin

Nous sommes IoTalabs et nous sommes un groupe de passionnés de l'Internet des choses qui aiment le piratage ensemble différents périphériques. Nous avons travaillé sur de nombreux projets (vérifiez notre cours de projet http://doteverything.co/) et n
Taxidermie de souris

Taxidermie de souris

comment farcir une souris. Avertissement : un tutoriel très graphique impliquant des souris mortes.Voir LED Throwie rongeurs, souris de Twin jointes et canard souris pour des projets plus avancés...Étape 1: Se procurer des souris Vous aurez besoin de
Communicator Watch

Communicator Watch

Dispositifs de Teeny tiny communication que vous pouvez épingler sur votre poitrine, la sangle à votre bras, ou pop dans votre oreille sont depuis longtemps un trope de science-fiction. Tandis que porté sur le poignet « talkie walkie » ont principale
Bracelet bambou incroyable

Bracelet bambou incroyable

Sommaire de cette instructable : comment façonner une bande de bambou puis chauffer coude au façonnement forment, collage il et il lisser vous laissant avec un bracelet bambou unique.En regardant les propriétés fantastiques de bambou s'inspire split
Comment faire un bon marché Pad Multitouch

Comment faire un bon marché Pad Multitouch

TOUTES LES MISES À JOUR MATÉRIELLES ET LOGICIELLES SERONT SUR MON BLOG :http://sethsandler.com/multitouch/mtmini/Ce qui est une MTmini ?Un Mini Multitouch, MTmini en abrégé, est un pad multitouch pas cher, petit, portatif. Il peut être utilisé pour t
Horloge synchronisée réseau pour Arduino

Horloge synchronisée réseau pour Arduino

Voici un exemple de comment construire horloge Arduino qui est synchronisée avec l'heure de donnée serveur HTTP dans le filet. Mon plan était de construire la plus simple possible internet synchronisée horloge. J'ai voulu synchroniser mon horloge Ard