Batch-Spiele-Sammlung

Palladin007

assimiliert
Moinsens^^


Ich hab letztens mal aus langeweile angefangen, ein Karten-Spiel, was wir in den Schul-Pausen sehr gerne spielen, mit Batch zu programmieren. Als nächstes sollte dann Mau-Mau dran kommen.

Das ist schon ziemlich schwer, weil ich ja jede Regel mit einbauen muss, aber dann hab ich wieder was zum knobeln^^


Aber ich wollte eigentlich fragen, ob jemand Lust hat, da mit zu machen.
Dann schreibt jeder, der mit macht, ein Spiel und ich werde die dann alle einfügen und im Start-Menü fest legen.

Als Belonung winkt dann zwar nur eine Dankeschön im Programm, aber es soll ja auch Spaß machen^^



Also, wenn jemand Lust hat, mich anschreiben. Ich werde dann das Spiel aufschreiben und schon mal sporadisch im Start-Menü einbauen.


Was dabei aber jeder beachten müsste:
  • Vor dem Spiel müssen alle verwendeten Variablen auf Null gesetzt werden. Denn wenn jemand die selben verwendet, könnte das zu Fehlern führen. Oder jeder schreibt den Namen des Spieles mit einem Unterstricht vor die Variable. So werde ich das auch machen.
  • Ein Menü, sowie Anleitungen, eventuelle Einstellungen und andere Dinge müssten selber geschrieben werden.
  • Es soll möglichst nur Batch verwendet werden. Auch, wenn es uneffektiv ist. Denn es soll ja eine Sammlung von Batch-Spielen sein^^ Wenn das teilweise nicht möglich ist, wie z.B. bei Snake, werde ich dazu nochmal das Spiel Tetris unten posten. Das enthält Dinge, die kein Batch sind, sich aber schon verwenden lassen sollten, wenn mir jemand erklärt, wie das funktioniert^^



So, hier das Spiel Tetris:
TetrisBatchBySmartGenius
Da sind 3 bat-Dateien, eine exe-Datei, eine COM-Datei und eine png-Datei drin.
Die drei bat-Dateien werd ich mir noch durch schauen, vielleicht versteh ich dann das Prinzip. Was eine COM-Datei ist, weiß ich nicht und wie ich die exe zum Quell-Code zurück führen kann, weiß ich auch nicht.

Vielleicht schaffe ich es, die beiden unbekannten Dateien irgendwie anhand der bat-Dateien zu verstehen, aber das wage ich zu bezweifeln.

Auf jeden Fall ist es getestet und es funktioniert. Zwar braucht es ne Menge Leistung, aber das ist ja nicht anders zu erwarten, bei Batch.


Neben dem Spiel habe ich noch ein Hütchen-Spiel und irgendwo hatte ich auch mal Monopolie.
 

Anhänge

  • TetrisBatchBySmartGenius.rar
    67,5 KB · Aufrufe: 2.180
Hallo,
wegen der spielesammlung (falls das noch aktuell ist...).
würde mich freuen, wenn du mir per E-Mail mal das Mau-Mau spiel schicken könntest.
Viel spass mit dem Tic-Tac-Toe Spiel!

Code:
@echo off
:menu
cls
echo Hauptmenue
echo 1 Spieler, druecke 1
echo 2 Spieler, druecke 2
echo Beenden, druecke 3
set /p menu=
if not defined menu goto menu
if /i %menu% equ 1 (
set menu=
cls
goto 1p
)
if /i %menu% equ 2 (
set menu=
cls
goto 2p
)
if /i %menu% equ 3 (
goto end
)
set menu=
goto menu

:1p
set turns=0
set x1=0
set x2=0
set x3=0
set x4=0
set x5=0
set x6=0
set x7=0
set x8=0
set x9=0
set o1=0
set o2=0
set o3=0
set o4=0
set o5=0
set o6=0
set o7=0
set o8=0
set o9=0



set d1=1
set d2=2
set d3=3
set d4=4
set d5=5
set d6=6
set d7=7
set d8=8
set d9=9


set rnumber=%random%
set rnumber2=%rnumber%
set /a rnumber= %rnumber% / 2
set /a rnumber= %rnumber% * 2


if %rnumber%==%rnumber2% (
echo X spielt zuerst
echo Du bist 0
pause>nul
set rnumber=
set rnumber2=
set go=1xgame
goto 1display
) else (
echo 0 spielt zuerst
echo Du bist 0
pause>nul
set rnumber=
set rnumber2=
set go=1ogame
goto 1display
)

:1display
cls
echo %d1% %d2% %d3%
echo %d4% %d5% %d6%
echo %d7% %d8% %d9%
if /i %turns% equ 9 (goto draw)
echo.
echo Du bist dran.
echo.
goto %go%


:1ogame
echo Druecke die Nummer die du waehlen moechtest.
set guess=
set /p guess=
if not defined guess goto 1display
set guess=%guess:~0,1%
if /i not %guess% leq 9 goto 1display
if /i not %guess% gtr 0 goto 1display
if /i !d%guess%! neq %guess% goto 1display
goto 1o%guess%

:1o1
set o1=1
set x1=1000
set d1=O
goto 1oprocess
:1o2
set o2=10
set x2=1000
set d2=O
goto 1oprocess
:1o3
set o3=100
set x3=1000
set d3=O
goto 1oprocess
:1o4
set o4=1
set x4=1000
set d4=O
goto 1oprocess
:1o5
set o5=10
set x5=1000
set d5=O
goto 1oprocess
:1o6
set o6=100
set x6=1000
set d6=O
goto 1oprocess
:1o7
set o7=1
set x7=1000
set d7=O
goto 1oprocess
:1o8
set o8=10
set x8=1000
set d8=O
goto 1oprocess
:1o9
set o9=100
set x9=1000
set d9=O
goto 1oprocess

:1oprocess
set /a line1= %o1% + %o2% + %o3%
if /i %line1% equ 111 (goto owin)

set /a line2= %o4% + %o5% + %o6%
if /i %line2% equ 111 (goto owin)

set /a line3= %o7% + %o8% + %o9%
if /i %line3% equ 111 (goto owin)

set /a line4= %o1% + %o5% + %o9%
if /i %line4% equ 111 (goto owin)

set /a line5= %o3% + %o5% + %o7%
if /i %line5% equ 111 (goto owin)

set /a line6= %o1% + %o4% + %o7%
if /i %line6% equ 3 (goto owin)

set /a line7= %o2% + %o5% + %o8%
if /i %line7% equ 30 (goto owin)

set /a line8= %o3% + %o6% + %o9%
if /i %line8% equ 300 (goto owin)

set go=1xgame
set guess=
set /a turns= %turns% + 1
goto 1display





:1xgame

set /a line1= %x1% + %x2% + %x3%
if /i %line1% equ 11 (
set guess=3
goto 1ac
)

set /a line1= %x1% + %x2% + %x3%
if /i %line1% equ 101 (
set guess=2
goto 1ac
)

set /a line1= %x1% + %x2% + %x3%
if /i %line1% equ 110 (
set guess=1
goto 1ac
)


set /a line1= %x4% + %x5% + %x6%
if /i %line1% equ 11 (
set guess=6
goto 1ac
)

set /a line1= %x4% + %x5% + %x6%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %x4% + %x5% + %x6%
if /i %line1% equ 110 (
set guess=4
goto 1ac
)

set /a line1= %x7% + %x8% + %x9%
if /i %line1% equ 11 (
set guess=9
goto 1ac
)

set /a line1= %x7% + %x8% + %x9%
if /i %line1% equ 101 (
set guess=8
goto 1ac
)

set /a line1= %x7% + %x8% + %x9%
if /i %line1% equ 110 (
set guess=7
goto 1ac
)

set /a line1= %x1% + %x5% + %x9%
if /i %line1% equ 11 (
set guess=9
goto 1ac
)

set /a line1= %x1% + %x5% + %x9%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %x1% + %x5% + %x9%
if /i %line1% equ 110 (
set guess=1
goto 1ac
)

set /a line1= %x3% + %x5% + %x7%
if /i %line1% equ 11 (
set guess=3
goto 1ac
)

set /a line1= %x3% + %x5% + %x7%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %x3% + %x5% + %x7%
if /i %line1% equ 110 (
set guess=7
goto 1ac
)

set /a line1= %x1% + %x4% + %x7%
if /i %line1% equ 2 (
if /i %d1% equ 1 (
set guess=1
goto 1ac
)
if /i %d4% equ 4 (
set guess=4
goto 1ac
)
if /i %d7% equ 7 (
set guess=7
goto 1ac
)
)

set /a line1= %x2% + %x5% + %x8%
if /i %line1% equ 20 (
if /i %d2% equ 2 (
set guess=2
goto 1ac
)
if /i %d5% equ 5 (
set guess=5
goto 1ac
)
if /i %d8% equ 8 (
set guess=8
goto 1ac
)
)

set /a line1= %x3% + %x6% + %x9%
if /i %line1% equ 200 (
if /i %d3% equ 3 (
set guess=3
goto 1ac
)
if /i %d6% equ 6 (
set guess=6
goto 1ac
)
if /i %d9% equ 9 (
set guess=9
goto 1ac
)
)


set /a line1= %o1% + %o2% + %o3%
if /i %line1% equ 11 (
set guess=3
goto 1ac
)

set /a line1= %o1% + %o2% + %o3%
if /i %line1% equ 101 (
set guess=2
goto 1ac
)

set /a line1= %o1% + %o2% + %o3%
if /i %line1% equ 110 (
set guess=1
goto 1ac
)


set /a line1= %o4% + %o5% + %o6%
if /i %line1% equ 11 (
set guess=6
goto 1ac
)

set /a line1= %o4% + %o5% + %o6%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %o4% + %o5% + %o6%
if /i %line1% equ 110 (
set guess=4
goto 1ac
)

set /a line1= %o7% + %o8% + %o9%
if /i %line1% equ 11 (
set guess=9
goto 1ac
)

set /a line1= %o7% + %o8% + %o9%
if /i %line1% equ 101 (
set guess=8
goto 1ac
)

set /a line1= %o7% + %o8% + %o9%
if /i %line1% equ 110 (
set guess=7
goto 1ac
)

set /a line1= %o1% + %o5% + %o9%
if /i %line1% equ 11 (
set guess=9
goto 1ac
)

set /a line1= %o1% + %o5% + %o9%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %o1% + %o5% + %o9%
if /i %line1% equ 110 (
set guess=1
goto 1ac
)

set /a line1= %o3% + %o5% + %o7%
if /i %line1% equ 11 (
set guess=3
goto 1ac
)

set /a line1= %o3% + %o5% + %o7%
if /i %line1% equ 101 (
set guess=5
goto 1ac
)

set /a line1= %o3% + %o5% + %o7%
if /i %line1% equ 110 (
set guess=7
goto 1ac
)

set /a line1= %o1% + %o4% + %o7%
if /i %line1% equ 2 (
if /i %d1% equ 1 (
set guess=1
goto 1ac
)
if /i %d4% equ 4 (
set guess=4
goto 1ac
)
if /i %d7% equ 7 (
set guess=7
goto 1ac
)
)

set /a line1= %o2% + %o5% + %o8%
if /i %line1% equ 20 (
if /i %d2% equ 2 (
set guess=2
goto 1ac
)
if /i %d5% equ 5 (
set guess=5
goto 1ac
)
if /i %d8% equ 8 (
set guess=8
goto 1ac
)
)

set /a line1= %o3% + %o6% + %o9%
if /i %line1% equ 200 (
if /i %d3% equ 3 (
set guess=3
goto 1ac
)
if /i %d6% equ 6 (
set guess=6
goto 1ac
)
if /i %d9% equ 9 (
set guess=9
goto 1ac
)
)


set guess=%time:~9,1%


:1ac
if /i %guess% equ 0 goto 1display
echo !d%guess%!
if /i NOT !d%guess%!==%guess% goto 1display
goto 1x%guess%


:1x1
set x1=1
set o1=1000
set d1=X
goto 1xprocess
:1x2
set x2=10
set o2=1000
set d2=X
goto 1xprocess
:1x3
set x3=100
set o3=1000
set d3=X
goto 1xprocess
:1x4
set x4=1
set o4=1000
set d4=X
goto 1xprocess
:1x5
set x5=10
set o5=1000
set d5=X
goto 1xprocess
:1x6
set x6=100
set o6=1000
set d6=X
goto 1xprocess
:1x7
set x7=1
set o7=1000
set d7=X
goto 1xprocess
:1x8
set x8=10
set o8=1000
set d8=X
goto 1xprocess
:1x9
set x9=100
set o9=1000
set d9=X
goto 1xprocess


:1xprocess
set /a line1= %x1% + %x2% + %x3%
if /i %line1% equ 111 (goto xwin)

set /a line2= %x4% + %x5% + %x6%
if /i %line2% equ 111 (goto xwin)

set /a line3= %x7% + %x8% + %x9%
if /i %line3% equ 111 (goto xwin)

set /a line4= %x1% + %x5% + %x9%
if /i %line4% equ 111 (goto xwin)

set /a line5= %x3% + %x5% + %x7%
if /i %line5% equ 111 (goto xwin)

set /a line6= %x1% + %x4% + %x7%
if /i %line6% equ 3 (goto xwin)

set /a line7= %x2% + %x5% + %x8%
if /i %line7% equ 30 (goto xwin)

set /a line8= %x3% + %x6% + %x9%
if /i %line8% equ 300 (goto xwin)

set go=1ogame
set /a turns= %turns% + 1
goto 1display
 
Zuletzt bearbeitet von einem Moderator:
Ne, ist leider nicht mehr aktuell, ist aber auch schon ein Weilchen her. ^^

Ich merke auch, dass ich teilweise echt Probleme habe, dahin zurück zu kommen, wo ich vorher einmal bei Batch war.
Mittlerweile arbeite ich nur noch mit C# und hab mir auch die streng typisierte und stark objektorientierte Denkweise angewöhnt, was mir das verstehen von Batch nicht gerade einfacher macht. :D
Ich glaube auch, ich würde mich eher zu C# zurück sehnen, als motiviert genug zu sein, etwas komplexeres zu schreiben :D

Zum weiter führen fehlt mir außerdem auch die Zeit, daher wird das nichts mehr.


Du kannst das Projekt aber gerne weiter führen, an sich sind es ja "nur" Spiele, die durch ein kleines Menü zusammen gehängt werden, nichts weiter.
Das Menü kann ich auch mal schnell schreiben, aber darüber hinaus wird's wohl nichts mehr.


Das Mau Mau Spiel habe ich leider auch nicht mehr, ist irgendwann in der Flut an Dateien beim Sichern der Daten unter gegangen, weil ich es nicht mehr gebraucht habe.




PS:
Ich finde es aber cool, dass es doch noch Leute gibt, die genauso extrem motiviert bei Batch unterwegs sind, wie ich vor ein paar Jahren, hab mich damals ja nicht abbringen lassen, alles in Batch zu schreiben. :D
Wenn du also selber noch etwas sammelst, dann viel Erfolg und Spaß ^^
 
Oben