Stap 4: Inzicht in de Code: de algemene idee
Het doel van dit programma is een bos van symbolen op het CMD-venster weergeven en bijhouden van hen terwijl zijnde kundig voor wijzigen in reactie op input. Het is zeer eenvoudig te maken van een diavoorstelling in batch, via scripts uit lange stukken van code waarin het programma ECHO symbolen op het scherm in een soort van foto's, het scherm opschoond, en maakt u een nieuwe afbeelding, blijven maken van een diashow als "Telnet-towel.blinkenlights.nl." De inhoud zal niet veranderen, echter, en kan niet reageren op input, alleen laten zien wat ze zijn geprogrammeerd om te laten zien. Dit programma bevestigt dat.
Het programma werkt door het instellen van een heleboel variabelen met symbolen, dan weer te geven in het CMD-venster. Het scherm heeft om bij te houden welke variabele is die en behoort waar, waardoor de weergave op te richten en de cursor te verplaatsen, en van de inhoud van de variabelen.
Eerstgenoemde is uitgevoerd met behulp van een talstelsel. Elke pixel in het scherm heeft een naam "v #," met de eerste pixel in het scherm wordt "v1," de tweede "v2," en zo verder. Het programma worden de getallen gebruikt om te bepalen welke pixel te maken een open ruimte, een belemmering of andere aanwijzing en de cursor te verplaatsen rond. De cursor is gegeven een ruimtelijke benaming (gehouden in de variabele ruimte %) waarmee het bestaan op het scherm. De cursor wordt gezien als een symbool, maar het symbool kunt wijzigen onder bepaalde voorwaarden, en de cijfers vertellen het programma waar de cursor zich momenteel bevindt. Bijvoorbeeld, als % van de ruimte op 343 ligt, bestaat vervolgens de cursor op pixel v343.
De laatste is uitgevoerd met behulp van symbolen. Wanneer u de cursor, zeggen uit de bovenstaande pixel v343 naar v344, een ruimte aan de rechterkant, het programma controleert en reageert op de inhoud van v344. Bijvoorbeeld, als v344 een barrière bevat, het programma zal dit herkennen en zo de volgende cyclus van ScreenLoop zal starten zonder het verplaatsen van de cursor, en dus plaats % blijft zoals 343 en de cursor op pixel v343 blijft. Als v344 lege ruimte is, ruimte % wordt 344 en de cursor wordt verplaatst naar v344. In een van de latere stappen, die ik heb geschreven code voor een spel waarin u probeert te doden een monster dat uw cursor is jagen door legdatum mijnen en het monster gaat door het zelfde proces van de check/reageren: terwijl het proberen om van v343 naar v344, als v344 lege ruimte bevat, zal het zich bewegen; Als v344 een barrière bevat, het zal proberen om te gaan rond het; als v344 een mijn bevat, het zal opblazen.
Het programma moet ook kunnen werken met zowel de symbolen en de nummers op hetzelfde moment. Getallen gebruikt om ruimtelijke locatie, symbolen om de inhoud te bepalen. Het % van de ruimte kan niet hebben, en zo de cursor, instellen als v343 en vervolgens Toon het cursor-symbool op de v265. Het programma heeft voor zitten kundig voor wijzigen van het symbool binnen een pixel, zoals het wijzigen van lege ruimte in het cursor-symbool, zodat u weet waar de cursor zich bevindt. Het heeft ook te kunnen pixels instellen wanneer de cursor hen verlaat: als u de cursor van v343 naar v344 verplaatst, v343 moet gaan terug tot de weergave van lege ruimte, of, zoals in het geval van het spel, een mijn die je hebt achtergelaten.