WinFuture-Forum.de: Batch porgrammierung | Hilfe: - WinFuture-Forum.de

Zum Inhalt wechseln

Windows 10: Alle News, der Download sowie zahlreiche Screenshots und Videos zum neuen Betriebssystem von Microsoft. Jetzt im WinFuture Windows 10 - Special informieren!
Seite 1 von 1

Batch porgrammierung | Hilfe:


#1 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 17. Februar 18
  • Reputation: 0

geschrieben 17. Februar 2018 - 12:44

Hallo liebe WinFuture user: Ich programmiere grad ein Batch Spiel aber brauche einen Syntax der mir unbekannt ist. Hier
eine Erklärung zum hüpf Spiel: Du bist eine Figur (Im dem Fall bei mir die "0") und vor dir kommen Hindernisse. Diese bewegen sich auf dich zu. Du musst dann über die hüpfen (mit "W") und wenn du ein berührst hast du verloren. Ich brauche aber einen Syntax der erkennt wenn diese "0" Das Zeichen berührt soll das passieren. Wenn das nicht funktioniert dann bitte hilft mir vielleicht mit: Wenn der Buchstabe/Zeichen dort ist = goto Verloren. Hier ist was ich bisher programmiert habe:


@echo off
cls
echo Das Spiel wird gestartet...
timeout -t 2
:Game
cls
echo.
echo.
echo 0
echo.

CHOICE /C:W /N >nul
REM CHOICE /C W /N >nul
If "%errorlevel%"=="1" (Goto :hupfen)
Goto :Game

:hupfen
cls
echo.
echo 0
echo.
echo.
timeout -t 1 >nul
goto :Game

Ich hoffe ihr könnt mir helfen.

mfg cool_brick24
0

Anzeige

#2 Mitglied ist offline   Holger_N 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.363
  • Beigetreten: 11. September 10
  • Reputation: 238

geschrieben 17. Februar 2018 - 13:51

Hab da auch wenig Ahnung von dieser Form der Programmierung aber rein vom Prinzip her - Kann man eine Positionsabfrage machen? Haben 0 und das zu überhüpfenden Zeichen den selben x-Wert, muß der y-Wert für die 0 entsprechend größer sein als die Höhe des Zeichens, wäre dann mein Ansatz. Oder Andersrum an das Problem gegangen, wenn x- und y-Wert für beide Zeichen gleich sind, ist die Sache ungehupft verloren.

Dieser Beitrag wurde von Holger_N bearbeitet: 17. Februar 2018 - 13:51

Ich bin ein sehr ordentlicher, fleißiger und reinlicher Mensch, nur leider gefangen im Körper eines schmuddeligen Faulpelzes … tja, kann man nix machen …
0

#3 Mitglied ist offline   cool_brick24 

  • Gruppe: Mitglieder
  • Beiträge: 2
  • Beigetreten: 17. Februar 18
  • Reputation: 0

geschrieben 17. Februar 2018 - 14:00

Ok danke schön aber wie finde ich die Position heraus?
0

#4 Mitglied ist offline   Gispelmob 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.679
  • Beigetreten: 14. August 15
  • Reputation: 149

geschrieben 17. Februar 2018 - 17:03

Es ist DOS. Befehle um Postionen von Objekte bzw. Zeichen zu ermitteln gibt es da nicht. Aber, wenn du einen Takt einführst mit dem dein Spiel läuft, kannst du selbst berechnen wo welche Objekte bei jedem Takt sind und dann auch Kollisionen ermitteln. Ob sich daraus ein Spiel entwickeln lässt ist eine andere Frage.

Dieser Beitrag wurde von Gispelmob bearbeitet: 17. Februar 2018 - 17:04

0

#5 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.097
  • Beigetreten: 03. Januar 09
  • Reputation: 529

geschrieben 17. Februar 2018 - 17:07

Mittels set kannst du eine Variable als Entfernung einbauen, dass sich nähert. zB:
set entfernung=5
:Game
set /a entfernung-=1
if "%entfernung%"=="0" goto :spielende
echo Entfernung zum Hinderniss: %entfernung% Felder
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


ACTA] | IPRED | SOPA | PIPA | CISPA | INDECT | TPP | TAFTA | Stop CETA + Stop TTIP
> Mein Hells Toolbox CMD Script <
0

#6 Mitglied ist offline   RalphS 

  • Gruppe: VIP Mitglieder
  • Beiträge: 8.170
  • Beigetreten: 20. Juli 07
  • Reputation: 923

geschrieben 17. Februar 2018 - 18:26

Vergiß Batch. Schon deswegen, weil die Ausgabe zum Krampf wird.

... Das heißt, unter der Annahme, daß nach wie vor ANSI-Befehle nicht unterstützt werden; ich meine mich sehr dunkel zu erinnern, da was zum Thema gehört zu haben. Aber definitiv nicht sicher.


Ohne den ANSI-Support kannst Du auf dem Bildschirm nichts "laufen" lassen, sprich die 0 um eins hoch oder links oder rechts setzen. Du mußt stattdessen den gesamten Bildschirm neu zeichnen (mit cls) und wieder komplett vollschreiben.


Eventuell wäre in einer MSYS-Umgebung eine Idee, oder wenn Du sonst eine Terminalemulation findest, welche ANSI unterstützt (msys nutzt dazu mintty).

Wenn Du an Batch festhalten möchtest, aus welchen Gründen auch immer, dann empfehle ich, das Spiel in kleine Fragmente zu zerlegen - einzelne Batchdateien, welche einzelne Spielteile abbilden. Die können dann mit CALL dateiname.bat (oder .cmd) aufgerufen werden. Sei Dir aber im Klaren darüber, daß "Terminal vollschreiben, CLS, Terminal wieder vollschreiben" sehr lange dauert und man vergleichsweise gut dabei zuschauen kann. Schnelle Änderungen sind damit nicht möglich.
"If you give a man a fish he is hungry again in an hour. If you teach him to catch a fish you do him a good turn."-- Anne Isabella Thackeray Ritchie

Eingefügtes Bild
Eingefügtes Bild
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0