Att skapa en Pixel skärm i Batch (4 / 9 steg)
Steg 4: Förstå koden: den allmänna idén
Syftet med detta program är att visa en massa symboler på CMD fönster och hålla reda på dem samtidigt som de kan manipulera dem som svar på ingång. Det är mycket lätt att göra ett bildspel i parti av scripting ut långa bitar av kod som programmet ekon symboler på skärmen i någon form av bild, rensar skärmen och sedan skapar en ny bild, fortsätter att skapa en bild show som "telnet towel.blinkenlights.nl." Innehållet inte ändras, dock och inte reagerar på ingång, bara visar vad de är programmerade att Visa. Detta program fixar som.
Programmet fungerar genom att ställa in en massa variabler med symboler och sedan Visa dem i fönstret CMD. Skärmen har att hålla reda både av vilken variabel är som och hör hemma där, gör att displayen skall inrättas och markören för att flytta, och av innehållet i variablerna.
Det förra sker med hjälp av ett antal system. Varje pixel i skärmen har ett namn "v #," med den första pixeln på skärmen att vara "v1," den andra "v2," och så vidare. Siffrorna används för att avgöra vilken pixel att göra en öppen plats, en barriär eller annan beteckning, och att flytta markören. Markören är givet en spacial beteckning (hölls i variabeln % utrymme %) som gör att det finns på skärmen. Markören ses som en symbol, men symbolen kan ändra vissa villkor och siffrorna tala programmet där markören är för närvarande. Till exempel om % utrymme % ställs på 343, finns därefter markören på pixel v343.
Det senare sker med hjälp av symboler. När du flyttar markören, säga från den ovan pixel v343 till v344, en ruta till höger, kontrolleras och reagerar på innehållet i v344. Till exempel om v344 innehåller en barriär, programmet kommer att erkänna detta och så börjar nästa cykel ScreenLoop utan att flytta markören och så % plats kommer stanna som 343 och markören kommer att bo på pixel v343. Om v344 är tomt utrymme, space % blir 344 och markören flyttas till v344. I ett senare steg, jag har skrivit kod för ett spel där du försöker döda ett monster som jagar din markör av om gruvor, och monstret går igenom samma check/react process: samtidigt som man försöker för att flytta från v343 till v344, om v344 innehåller tomt utrymme, kommer den att flytta; om v344 innehåller ett hinder, det försök att gå runt det; om v344 innehåller en gruva, det kommer att blåsa.
Programmet måste också vara kompetent arbete med både symboler och siffror på samma gång. Nummer används för att bestämma spacial läge, symboler för att bestämma innehållet. Det kan inte ha % utrymme %, och så markören, som v343 och sedan Visa symbolen markören på v265. Programmet har för att kunna ändra symbol inuti en pixel, som att ändra tomt utrymme till markören symbol så att du vet där markören är placerad. Det har också för att kunna återställa pixlar som markören lämnar dem: när du flyttar markören från v343 till v344, v343 har att gå tillbaka till Visa tomt utrymme, eller, som i fallet med spelet, en gruva som du har kvar.