Een eenvoudig computerspel bouwen met batchscript

Inhoudsopgave:

Een eenvoudig computerspel bouwen met batchscript
Een eenvoudig computerspel bouwen met batchscript

Video: Een eenvoudig computerspel bouwen met batchscript

Video: Een eenvoudig computerspel bouwen met batchscript
Video: Keep Evernote organized by removing or deleting old tags 2024, Maart
Anonim

Batchscript is een basisscripttaal die op elk Windows- of MS DOS-besturingssysteem draait, de functies zijn gebaseerd op de opdrachten voor de opdrachtregels in deze besturingssystemen. Het is ook best cool! Een spel maken met dit script is niet zo moeilijk, het kost alleen wat tijd en creativiteit. Let op: om dit project goed te laten werken, hebt u Windows 2000 of hoger nodig, aangezien dit niet werkt in eerdere versies van Windows of MS DOS, aangezien MS DOS niet compatibel is met moderne batchscripts.

Stappen

610238 1 1
610238 1 1

Stap 1. Bepaal een spel

Voordat u besluit een schietspel of een aanwijs-en-klikspel te maken, moet u weten dat zelfs met MS DOS 8 het batchscript ernstige beperkingen heeft aan zijn mogelijkheden. U kunt niet meer een spel maken dan een op tekst gebaseerd spel. Het kan een quiz of een scenariospel zijn, maar je hebt alleen tekst. Of je al dan niet ASCII-graphics wilt hebben, is aan jou, maar het spel zal nog steeds volledig gebaseerd zijn op tekstinvoer.

610238 2 1
610238 2 1

Stap 2. Leer het script

Het script is niet zo moeilijk te leren, je kunt het zelfs leren door simpelweg naar een programma te kijken. Om een scripttaal te kennen, moet u mogelijk enkele basiscommando's in de opdrachtregel van uw computer kennen. Voor deze opdrachtregel zijn de basisopdrachten die u nodig hebt:

  • echo

  • kleur

  • titel

  • ga naar

  • indien

  • set

  • labelen (geen commando, maar hoe te labelen)

610238 3
610238 3

Stap 3. Leer hoe u de bovenstaande opdrachten gebruikt

  • Het echo-commando wordt gebruikt om tekst naar de console af te drukken. Hieronder drukt het echo-commando "Hallo, wereld!" af:

    610238 3b1
    610238 3b1
  • De kleuropdracht wordt gebruikt om de kleur van de tekst in de opdrachtregel te wijzigen. Dit is niet erg handig, en je zou er waarschijnlijk pas op moeten focussen als je het spel zelf hebt uitgespeeld, maar de resultaten van de kleurverandering kunnen behoorlijk aantrekkelijk zijn. Kleuren in DOS-opdrachtregels zijn genummerd, er is een tabel met de kleuren aan het einde van dit artikel. Met de volgende opdracht wordt de tekstkleur gewijzigd in een zwarte achtergrond met groene tekst:

    610238 3b2
    610238 3b2
  • Het titelcommando verandert eenvoudig de naam van het venster op de titelbalk en de taakbalk, en is in geen geval nuttig, maar het kan uw programma er professioneel uit laten zien. Als u het zo gebruikt, verandert de titel van het venster in "Fun Program":

    610238 3b3
    610238 3b3
  • Het goto-commando wordt gebruikt om naar een bepaald deel van het programma te gaan. Je gaat het gebruiken om te bepalen wat er zal gebeuren als bepaalde antwoorden worden gekozen uit vragen. Om het goto-commando te gebruiken om naar een label met de naam "WRONG" te gaan:

    610238 3b4
    610238 3b4
  • Het if-commando wordt gebruikt om te bepalen wat er zal gebeuren als een bepaalde gebeurtenis plaatsvindt. Na het if statement (if [something]) volgt een commando. Bij het if-statement, als een bepaalde gebeurtenis waar is, wordt het commando in het statement uitgevoerd. U gebruikt deze instructie om te bepalen welk goto-commando moet worden gebruikt. Dit if-statement is waar als de invoer gelijk is aan 12:

    610238 3b5
    610238 3b5
  • Het set-commando is eigenlijk best ingewikkeld, omdat het op veel manieren kan worden gebruikt. Voorlopig heb je het alleen nodig om de computer invoer te laten ontvangen. Om dit te doen:

    610238 3b6
    610238 3b6
  • Eindelijk, etikettering. Labelen kan bepaalde delen van het programma een naam geven, zodat u het goto-commando kunt gebruiken. Je kunt bepaalde delen van het programma een naam geven, zolang de naam geen commando is. Typ het volgende om een sectie "hoofd" te noemen:
  • :HOOFD

    • Gelabelde secties bevatten het label zelf en alle code die erop volgt totdat een ander label aanwezig is of het bestand het einde bereikt! Zorg ervoor dat je het label plaatst voordat de sectie die wordt gelabeld, en een ander label dat erop volgt, zodat de computer begrijpt welke sectie wordt gelabeld! Voorbeeld hieronder:
    • @echo uit:LABEL1 echo DIT IS EEN TEST VAN TEKST set/p input=DIT IS EEN TEST INPUT_ if %input%==1 ga naar LABEL1 ga naar LABEL2:LABEL2 echo TEST

    • De eerste regel van het bovenstaande programma kan voor u verwarrend zijn geweest. Deze regel schakelt de weergave van de code in het bestand uit, zodat het niet lijkt alsof het allemaal op een console is getypt. Vanaf nu is dat onbelangrijk, op dit moment zou je moeten bepalen wat het bovenstaande programma zal doen (negeer de eerste regel). Het programma zal de tekst "THIS IS A TEST OF TEKST" weergeven en vervolgens om invoer vragen. Als de invoer "1" is (wat betekent dat u 1) hebt ingetypt, keert het programma terug naar LABEL1 en worden de onderstaande commando's herhaald. Als niet aan de voorwaarde in het if-statement wordt voldaan, zal de computer tekst naar de console "TEST" afdrukken. Kopieer het bovenstaande programma naar twee verschillende vensters met Kladblok. In één, sla het op als TEST1 in een willekeurige map en voer het uit. Let op hoe de tekst wordt weergegeven. Wis in het tweede venster de eerste regel en sla deze op als TEST2 en voer deze uit. Merk je het verschil?
  • Als u eenmaal een algemeen begrip heeft van hoe de bovenstaande opdrachten kunnen worden gebruikt, kunt u doorgaan naar de volgende stap.
610238 4 1
610238 4 1

Stap 4. Begin met het scripten van je game

Het wordt aanbevolen dat een beginner kladblok gebruikt, maar als je MS DOS EDIT wilt gebruiken, is dat ook prima. Het wordt ook aangeraden aan een beginner om te beginnen met een basisquizspel, dus dit is wat dit artikel je laat zien hoe je dat moet doen. Vergeet niet om te beginnen met het uitschakelen van de echo. Introduceer dan je spel met wat tekst via het echo-commando en gebruik vervolgens set om invoer toe te staan met het goto-commando. Dit klinkt misschien verwarrend, dus kijk hierboven (Opmerking: het commando REM maakt opmerkingen, d.w.z. opmerkingen voor de ontwikkelaar die niet in het eindresultaat worden weergegeven):

610238 5 1
610238 5 1

Stap 5. Werk aan de instructiepagina

Op dit punt moet je je bestand opslaan (opslaan als iets.bat) en het in een map plaatsen die je voor het spel hebt gemaakt. Nadat u het hebt opgeslagen, voert u het uit en controleert u of het werkt.

  • Vanaf dit punt heb je meerdere bestanden per spel (vooral als je ASCII-graphics wilt hebben). U kunt het batchscript krijgen om de inhoud van elk bestand op het scherm af te drukken met het type-commando. Het onderstaande zal de inhoud van TEST.txt afdrukken:

    610238 5b1
    610238 5b1

    Het is belangrijk om te onthouden om de bestandsextensie op te nemen, anders werkt de opdracht mogelijk niet goed

  • Maak een instructiepagina in Kladblok. Het zou iets moeten zeggen als:

    610238 5b2
    610238 5b2
  • Sla dit op als INST.txt in de map van het batchbestand en zorg ervoor dat je game de tekst op de instructiepagina op de console afdrukt:

    610238 5b3
    610238 5b3
  • Voer het programma uit en zorg ervoor dat het werkt.

    610238 5b4
    610238 5b4
610238 6 1
610238 6 1

Stap 6. Werk aan de inhoud van het spel zelf

Dit is waar het grootste deel van je creativiteit/onderzoek, werk en tijd wordt besteed aan het werken aan de game, evenals waar de meeste scripting van de game zou moeten zijn. Er moet een plek zijn waar je heen kunt gaan als je een fout antwoord hebt, en een manier om door te gaan naar de volgende vraag als je het juiste antwoord hebt gegeven. Het bovenstaande zal fundamentele vragen hebben over het exterieur van een auto. Je kunt ze vervangen door wat je leuk vindt.

Voer het programma uit en zorg ervoor dat het werkt

610238 7 1
610238 7 1

Stap 7. Maak een winnend scherm

Het maken van een winnend scherm is net zo eenvoudig als het instructiescherm. Maak een tekstdocument met lof voor het winnen en sla het op als WIN.txt in de batchmap. Voeg de volgende regels toe aan het einde van je spel voor het winnende scherm:

610238 8 1
610238 8 1

Stap 8. Je spel zou er nu uit moeten zien als de bovenstaande code:

Voer het programma uit en zorg ervoor dat het werkt

610238 9 1
610238 9 1

Stap 9. Werk uw bestand bij

Begin door naar elk label te gaan en de opdracht cls erachter te plaatsen. Hiermee wordt het scherm bij elk label leeggemaakt, zodat je geen scherm vol onnodige informatie hebt.

610238 10 1
610238 10 1

Stap 10. Corrigeer de grammatica waar nodig

Maak desgewenst alle antwoorden op de lijst volledige zinnen. LET OP DAT U CONTRACTIES IN DE BATCH SCRIPT ECHO COMMAND MOET VERMIJDEN!

U moet ook schuine strepen en groter dan/kleiner dan symbolen, sterren, procentsymbolen en andere ongebruikelijke symbolen vermijden. Deze symbolen zullen een syntaxisfout veroorzaken die ervoor zorgt dat het programma stopt, achterblijft of crasht.

610238 11 1
610238 11 1

Stap 11. Maak desgewenst afbeeldingen voor het spel

Genereer ASCII-kunst in afzonderlijke tekstdocumenten en gebruik het type-commando om ze in het programma weer te geven:

610238 12 1
610238 12 1

Stap 12. Corrigeer eventuele typefouten die u kunt vinden

Bedenk je eigen dingen om te corrigeren. Voeg vervolgens uw kleur toe met het kleurcommando. Het wordt aanbevolen om het aan het begin van het programma te plaatsen, zodat het hele programma deze kleur heeft. Hier is de uitleg over hoe u het rechtstreeks vanaf de opdrachtregel kunt gebruiken:

Stelt de standaard voor- en achtergrondkleuren van de console in.

KLEUR [attr]

attr Specificeert kleurkenmerk van console-uitvoer

Kleurattributen worden gespecificeerd door TWEE hexadecimale cijfers - de eerste komt overeen met de achtergrond; de tweede de voorgrond. Elk cijfer kan een van de volgende waarden zijn:

0 = Zwart 8 = Grijs 1 = Blauw 9 = Lichtblauw 2 = Groen A = Lichtgroen 3 = Aqua B = Licht Aqua 4 = Rood C = Lichtrood 5 = Paars D = Lichtpaars 6 = Geel E = Lichtgeel 7 = Wit F = Helder Wit

Als er geen argument wordt gegeven, herstelt deze opdracht de kleur naar wat het was toen CMD. EXE werd gestart. Deze waarde is afkomstig van het huidige consolevenster, de opdrachtregeloptie /T of van de registerwaarde Standaardkleur.

  • Met andere woorden, als je een helderwitte achtergrond en zwarte tekst wilt:
  • @echo uit kleur f0:MAIN cls echo.

610238 13 1
610238 13 1

Stap 13. Gefeliciteerd, je hebt zojuist een eenvoudig computerspel met batchscript gemaakt

Tips

  • Als u iets als batchbestand wilt opslaan, maar het nog niet wilt voltooien, kunt u het bestand opnieuw bewerken door met de rechtermuisknop te klikken en "Bewerken" te selecteren.
  • Batch is een leuke manier om te beginnen met het schrijven van programma's. Probeer de programmeertaal Python om naar iets toe te gaan dat net iets moeilijker maar veel krachtiger is.

Op youtube kun je gratis video's vinden om elke programmeertaal te leren.

  • Zorg er bij het opslaan voor dat u het vervolgkeuzemenu onder het invoervak voor de bestandsnaam wijzigt van "tekst (txt) document" in "Alle bestanden". Zorg er daarna voor dat uw bestandsnaam altijd eindigt op.bat.
  • Spaar regelmatig. Je kunt er spijt van krijgen als je het niet doet.
  • Als je meerdere programma's hebt die hand in hand werken, kun je de opdracht "call" gebruiken om een ander batchbestand te starten vanuit het batchbestand dat je gebruikt.
  • Probeer meerdere versies van het spel te maken terwijl je bezig bent, zodat je ze kunt vergelijken en kijken of er fouten zijn. Maak je geen zorgen over hoeveel ruimte het in beslag zal nemen, batchbestanden zijn erg klein.
  • U kunt een variabele instellen door "set variable name=value" in te voeren, of u kunt gebruikers ertoe brengen variabelen in te stellen door "set /p input=Input text:" in te voeren. "Invoertekst" kan worden vervangen door alles wat u wilt dat ze zien bij het instellen van deze variabele.

Waarschuwingen

  • Er wordt vaak gezegd dat het illegaal is om batchbestanden via internet te verzenden. Dit is in geen geval waar, maar houd er rekening mee dat u in de problemen kunt komen voor het verzenden van gevaarlijke batchbestanden via internet (bijv. batchbestanden die de computer laten crashen, vitale systeembestanden verwijderen, enz …). Ze worden geen virussen genoemd, maar ze zijn nog steeds schadelijk en je kunt er ernstige problemen mee krijgen.
  • Plaats NOOIT MS DOS-commando's in het echo-commando, omdat ze zullen worden uitgevoerd. Onthoud dat alles dat wordt weergegeven door de opdrachtregel een echo is!
  • Plaats NOOIT MS DOS-commando's in de tekstbestanden die naar de console worden getypt. Tekstbestanden lossen een aantal problemen op, zoals de schuine strepen en sterren, maar de commando's daarin worden nog steeds door het systeem uitgevoerd.
  • Wees op uw hoede voor het commando "del". Hoewel het kan worden gebruikt om bijvoorbeeld gebruikers voor een langer spel te verwijderen, is het onbeperkt en kan het worden gebruikt om alles te verwijderen, inclusief vitale bestanden. Gebruik dit commando NOOIT totdat je echt weet wat je ermee doet.

Aanbevolen: