Inhoudsopgave:
- Stap 1: Schermgrootte en kleur
- Stap 2: Gebruiksaanwijzing
- Stap 3: Venster sluiten Commando
- Stap 4: Willekeurige spelbibliotheek
- Stap 5: Teller verplaatsen
- Stap 6: Coderen
- Stap 7: Sla het bestand op
- Stap 8: Observaties & Samenvatting
Video: Virtuele schuifpuzzel: 8 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
Inleiding Een paar jaar geleden zag ik deze eenvoudige schuifpuzzel voor batchgames ['Origineel instructable https://www.instructables.com/id/Batch-Game-Slide…], het was cool. Ik heb het gemaakt, een paar keer gespeeld, maar ik verloor mijn interesse vanwege de eenvoud. Met dat in gedachten dacht ik dat ik het kon aanpassen en wat extra functies kon toevoegen. Hier is het resultaat van die gedachte.
Deze game is geschreven in de batchscripttaal van Windows, het heeft zeer eenvoudige commando's en bewerkingen, maar is supereenvoudig en behoorlijk effectief in de toepassing. Batchbestanden worden vaak gebruikt om software-installatie en -updates te automatiseren, te kopiëren en uit te voeren, directory's te zoeken en te vinden, enz. Met elke codeertaal wordt het maken van games gebruikt om het leren te helpen en te versterken. Ook al is het een basistaal, er is ruimte voor uw aanpassingen en voor uw entertainmentplezier.
Aanpassingen: • Gebruiksaanwijzing. • Schermgrootte en kleur. • Venster sluiten opdracht. • Willekeurige spelbibliotheek. • Teller verplaatsen.
Bouw vaardigheidsniveau:Eenvoudig
Tijd om te bouwen: 5 minuten
Spelvaardigheidsniveau: gemakkelijk tot moeilijk
Tijd om te spelen: 3 – 8 minuten
Laten we een virtuele schuifpuzzel gaan maken.
Volgende schermgrootte en kleur
Stap 1: Schermgrootte en kleur
De 1e wijziging, dit deel van de code is alleen voor het uiterlijk toegevoegd, zonder de breedte en hoogte in te stellen, je hebt een groot gebied van niets, met onnodig onroerend goed. U hoeft het niet in te stellen, maar het draagt bij aan de algehele presentatie. Verder valt een klein bord minder op als je even pauze neemt op het werk. Deze staat aan het begin van de code.
' stel de schermgrootte van het spel in [Breedte, Hoogte] Modus 58, 28
Wat betreft Kleur heb je verschillende keuzes. Kleurattributen worden gespecificeerd door 2 hexadecimale cijfers - de 1e is de achtergrond; de 2e is de tekst. U hoeft de achtergrond en tekst niet in te stellen, maar de kleur is mooi. Je kunt het op elk moment bellen en de tekstkleur wijzigen om de aandacht te vestigen op iets belangrijks. Hoe je dat doet, zul je moeten lezen. In dit geval wordt het eenvoudig aangeroepen door de onderstaande regel toe te voegen.
' Kleur blauwe achtergrond met gele tekstkleur 1e
Achtergrond0= Zwart1= Marineblauw 2 = Groen3 = Aqua4 = Rood5 = Paars6 = Geel7 = Wit8 = Grijs9 = Blauw
TekstA = LichtgroenB = Licht AquaC = LichtroodD = LichtpaarsE = LichtgeelF = Helderwit
Volgende gebruiksaanwijzing
Stap 2: Gebruiksaanwijzing
De 2e wijziging, dit deel van de code is toegevoegd zodat ik me kon herinneren wat "ASDW" betekende. Bovendien dragen gebruikersinstructies bij aan de algehele presentatie.
"Echo" wordt gebruikt om precies weer te geven wat volgt.
Opmerking: Er zijn spaties of tabs na echo om het bord weg van de linkerkant van de rand uit te lijnen. Als die spaties of tabs niet correct worden gekopieerd, voeg dan gewoon spaties of tabs toe om het bord uit te lijnen waar je het wilt hebben. Er is geen centreringsoptie binnen Windows batchscripting. De eenvoudigste manier om het bord en de tekst op één lijn te brengen, is door spaties en tabs te gebruiken.
echo Gebruik de klaviertoetsen "ASDW" om echo een getal naar het aangrenzende lege vierkant te verplaatsen
echo.echo A = Schuif naar linksecho S = Schuif omlaag R = Reset Gameboardecho D = Schuif naar rechts C = Sluit Gameecho W = Schuif omhoog
echo Typ de richting waarin u het nummer wilt schuiven.echo ("A" - Links "S" - Omlaag "D" - Rechts "W" - Omhoog)
Volgende Venster sluiten Commando
Stap 3: Venster sluiten Commando
De 3e wijziging, dit deel van de code is toegevoegd om het spel gemakkelijk te kunnen afsluiten zonder de muis of sneltoetsen te gebruiken. Het is een leuke eigenschap. Het kan op verschillende manieren worden genoemd, maar de basiscode is als volgt.
'Sluit Commandexit /B
In dit spel heb ik de keuze toegevoegd aan de bestaande opties. Binnen de keuzeopties heb ik om de voor de hand liggende reden "C" geselecteerd en vervolgens toegewezen wat ik moest doen als "C" was geselecteerd.
keuze /c WASDRC /nif %errorlevel% == 1 ga naar moveWif %errorlevel% == 2 ga naar moveAif %errorlevel% == 3 ga naar moveSif %errorlevel% == 4 ga naar moveDif %errorlevel% == 5 ga naar resetif %errorlevel% = = 6 uitgang /B
Volgende Willekeurige Spelbibliotheek
Stap 4: Willekeurige spelbibliotheek
De 4e Modificatie, dit deel van de code is toegevoegd om de gamer andere speelborden te geven. Willekeurig in Windows batch-scripting is niet zo willekeurig als de naam doet vermoeden, en het is ook niet zo coderingsvriendelijk als andere talen. Met dat in gedachten heb ik uiteindelijk een bibliotheek van 13 borden gemaakt. Om een willekeurig spel te selecteren, selecteer je "R" en er wordt een getal tussen 0 en 12 gemaakt en de code gaat naar die bibliotheekoptie en het spel wordt weergegeven.
:reset' Randomizerset /a rand=%willekeurig% %%12ga naar %rand%
Als de Random Number Generator "0" selecteert, gaat de code naar:0
Bibliotheek: 0set slide1=1set slide2=7etc.
Teller volgende zet
Stap 5: Teller verplaatsen
De 5e wijziging, dit deel van de code is toegevoegd om de gamer een extra uitdaging te geven. Ik word graag uitgedaagd en dus gaf een "Move Counter" me een manier om het aantal zetten dat ik maak bij te houden.
' Tellertelling = 0
Voeg vervolgens de tellercode toe zodat 1 wordt toegevoegd aan het totaal nadat de zet is gedaan.
set /a count=%count%+1
Stap 6: Coderen
Hier is de hele code. Volg de instructies voor het maken van het bestand.
Opmerking: er zijn spaties of tabs na echo om het bord weg van de linkerkant van de rand uit te lijnen. Als die spaties of tabs niet correct worden gekopieerd, voeg dan gewoon spaties of tabs toe om het bord uit te lijnen waar je het wilt hebben. Er is geen centreringsoptie binnen Windows batchscripting. De eenvoudigste manier om het bord en de tekst op één lijn te brengen, is door spaties en tabs te gebruiken.
Vanwege het bovenstaande html-tabblad en ruimteprobleem in coping heb ik het bestand bijgevoegd. U kunt de onderstaande code nog steeds kopiëren, maar u moet de afstand aanpassen.
1) Open de Kladblok-toepassing: klik op de venstertoets => typ Kladblok en selecteer vervolgens Kladblok-app in de lijst met Beste match Of Klik op het vensterpictogram => typ Kladblok en selecteer vervolgens Kladblok-app in de lijst met Beste matchOfKlik op de venster-toets + R => klik Uitvoeren => Typ Kladblok in het invoervak Uitvoeren en klik vervolgens op OK.
2) Kopieer de code onder de regel Apostrophe en Asterisks en plak deze in Kladblok.
' *********************************************
@echo offtitle Slide Puzzlesetlocal enabledelayedexpansion
' stel de schermgrootte van het spel in [Breedte, Hoogte] Modus 58, 28
set default= %set pos=9set loop=1
' Tellertelling = 0
' Kleur [Veldtekst]kleur 1e
:reset' Randomizerset /a rand=%willekeurig% %%12ga naar %rand%
:displayclsecho.echo Gebruik de klaviertoetsen "ASDW" om een nummer naar het aangrenzende lege vierkant te verplaatsen.
echo.echo A = Schuif naar linksecho S = Schuif omlaag R = Reset Gameboardecho D = Schuif naar rechts C = Sluit Gameecho W = Schuif omhoog.
echo _ _ _echo ^| ^| ^| ^|echo ^| %dia1% ^| %dia2% ^| %slide3% ^|echo ^|_^|_^|_^|echo ^| ^| ^| ^|echo ^| %dia4% ^| %dia5% ^| %slide6% ^|echo ^|_^|_^|_^|echo ^| ^| ^| ^|echo ^| %dia7% ^| %dia8% ^| %slide9% ^|echo ^|_^|_^|_^|echo.echo Typ de richting waarin u het nummer wilt schuiven.echo ("A"- Links "S"- Omlaag "D"- Rechts "W" - Up)echo.echo Aantal zetten dat je hebt gemaakt %count%
keuze /c wasdrc /nif %errorlevel% == 1 ga naar movewif %errorlevel% == 2 ga naar moveaif %errorlevel% == 3 ga naar movesif %errorlevel% == 4 ga naar verplaatstif %errorlevel% == 5 ga naar resetif %errorlevel% = = 6 uitgang /B
:movewif %pos% GEQ 7 ga naar displayset /a helper=%pos% + 3set /a slide%pos%=!slide%helper%!set slide%helper%=%default%set /a pos=%pos% + 3
set /a count=%count%+1ga naar weergave
:moveaif %pos% == 3 ga naar displayif %pos% == 6 ga naar displayif %pos% == 9 ga naar displayset /a helper=%pos% + 1set /a slide%pos%=!slide%helper%!set slide %helper%=%default%set /a pos=%pos% + 1
set /a count=%count%+1ga naar weergave
:movesif %pos% LEQ 3 ga naar displayset /a helper=%pos% - 3set /a slide%pos%=!slide%helper%!set slide%helper%=%default%set /a pos=%pos% - 3
set /a count=%count%+1ga naar weergave
:movedif %pos% == 1 ga naar displayif %pos% == 4 ga naar displayif %pos% == 7 ga naar displayset /a helper=%pos% - 1set /a slide%pos%=!slide%helper%!set slide %helper%=%default%set /a pos=%pos% - 1
set /a count=%count%+1ga naar weergave
Bibliotheek: 0set slide1=1set slide2=7set slide3=3set slide4=5set slide5=8set slide6=4set slide7=2set slide8=6set slide9=%default%set pos=9set count=0ga naar weergave
: 1set slide1=7set slide2=1set slide3=6set slide4=2set slide5=5set slide6=4set slide7=3set slide8=%default%set slide9=8set pos=8set count=0ga naar weergave
:2set slide1=8set slide2=%default%set slide3=2set slide4=5set slide5=7set slide6=3set slide7=6set slide8=4set slide9=1set pos=2set count=0ga naar weergave
:3set slide1=2set slide2=8set slide3=%default%set slide4=5set slide5=6set slide6=1set slide7=4set slide8=7set slide9=3set pos=3set count=0ga naar weergave
:4set slide1=4set slide2=8set slide3=2set slide4=%default%set slide5=5set slide6=1set slide7=7set slide8=3set slide9=6set pos=4set count=0ga naar weergave
:5set slide1=6set slide2=8set slide3=5set slide4=3set slide5=%default%set slide6=1set slide7=7set slide8=2set slide9=4set pos=5set count=0ga naar weergave
:6set slide1=3set slide2=8set slide3=5set slide4=7set slide5=1set slide6=%default%set slide7=2set slide8=6set slide9=4set pos=5set count=0ga naar weergave
:7set slide1=1set slide2=8set slide3=3set slide4=7set slide5=5set slide6=%default%set slide7=6set slide8=2set slide9=4set pos=6set count=0ga naar weergave
:8set slide1=8set slide2=%default%set slide3=6set slide4=5set slide5=4set slide6=7set slide7=3set slide8=2set slide9=1set pos=2set count=0ga naar weergave
:9set slide1=1set slide2=8set slide3=%default%set slide4=4set slide5=3set slide6=2set slide7=5set slide8=7set slide9=6set pos=3set count=0ga naar weergave
:10set slide1=3set slide2=6set slide3=8set slide4=5set slide5=1set slide6=7set slide7=2set slide8=4set slide9=%default%set pos=9set count=0ga naar weergave
:11set slide1=2set slide2=7set slide3=%default%set slide4=5set slide5=1set slide6=4set slide7=3set slide8=8set slide9=6set pos=3set count=0ga naar weergave
: 12set slide1=1set slide2=8set slide3=2set slide4=%default%set slide5=4set slide6=3set slide7=7set slide8=6set slide9=5set pos=4set count=0ga naar weergave
Stap 7: Sla het bestand op
1) Klik op Bestand, 2) Klik op Opslaan, 3) Kies de locatie waar u dit bestand wilt opslaan, 4) Wijzig Opslaan als type: van Tekstdocumenten (*.txt) in "Alle bestanden", 5) Geef het bestand een naam, bijv. Schuif Puzzle.bat, 6) Klik op Opslaan.
Gefeliciteerd, je bent klaar!
Om af te spelen ga je naar de map waar je het bestand hebt geplaatst en open of dubbelklik je op het bestand. Speel dan.
Stap 8: Observaties & Samenvatting
Waarschuwing: Als u de verkeerde wijziging aanbrengt in de bovengenoemde code. Je zou in het ergste geval je dag kunnen verpesten. Het is niet leuk om op fouten te jagen. Wat ik heb geleerd is dat het meestal een simpele fout is. Soms kan het kopiëren van code uit html ongebruikelijke tekens of spaties toevoegen, wat de bewerking zou kunnen verstoren. Disclaimer: Wijzigen op eigen risico.
Observaties1) Leuk en uitdagend, 2) Makkelijk te maken en aan te passen.3) Als het niet werkt. Kopieer vervolgens de bovengenoemde code opnieuw en plak deze in de Kladblok-toepassing en sla het bestand vervolgens op met de extensie.bat.
Samenvatting Dit is een leuke kleine app. Ik ben tevreden met de resultaten van deze Slide Puzzle.bat
Luister naar raad en ontvang instructies, zodat u wijs kunt zijn in uw laatste doel.
Aanbevolen:
Virtuele aanwezigheidsrobot: 15 stappen
Virtual Presence Robot: Deze mobiele robot interageert met zijn fysieke omgeving door de "virtuele aanwezigheid" weer te geven. van de persoon die het op afstand bestuurt. Het is voor iedereen, waar ook ter wereld, toegankelijk om lekkernijen uit te delen en met je te spelen. Het werk dat hij
Virtuele manometer deel 1.: 4 stappen
Virtuele manometer deel 1.: Manometers worden gebruikt in industrieën zoals olievelden. Ik heb tijdens mijn dagelijkse werk vaak manometers gebruikt, vooral bij hydraulische machines. En ik vroeg me af hoe ik een virtuele manometer kan maken. Dit project is een 2-par
Hoe u een USB-modem omleidt naar een VMware ESXi virtuele machine: 14 stappen
Hoe een USB-modem om te leiden naar een VMware ESXi virtuele machine: Hallo allemaal! Vandaag zal ik je vertellen hoe je een USB-modem omleidt naar een virtuele VMware ESXi-machine. Op dezelfde manier kunt u een geheugenstick en sommige andere USB-apparaten omleiden. Deze al lang bestaande VMware-functie heeft zijn voor- en nadelen, dus we
Virtuele manometer deel 2.: 4 stappen
Virtuele manometer deel 2.: Dit project is het tweede deel van een project dat ik eerder heb gemaakt. In het eerste deel heb ik een virtuele manometer ontworpen die kan worden bediend met de UP- en DOWN-toetsen op het toetsenbord van uw computer. zie Virtuele Manometer Part1Deze keer zullen we contro
Virtualbox virtuele machine: 6 stappen
Virtualbox Virtual Machine: Welkom bij de tutorial over het installeren en gebruiken van VirtualBox