Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch 4 Gewinnt.

Frage Entwicklung Batch & Shell

Mitglied: Budders

Budders (Level 1) - Jetzt verbinden

05.05.2014 um 11:12 Uhr, 1591 Aufrufe, 1 Kommentar

Hallo liebes Administrator-Forum.

Ich bin gerade dabei das Spiel "4 Gewinnt" in Batch zu programmieren.

Soweit so gut, bin auch schon recht weit, nur beisse ich mir die Zähne an den Diagonalen aus, der Rest steht.

Sprich ich möchte mein Feld auswerten, ob 4 gleiche Steine in einer Diagonale liegen.

Das Feld sieht so aus:
01.
   A B C D E F G  
02.
 1 %a1% %b1% %c1% %d1% %e1% %f1% %g1% 
03.
 2 %a2% %b2% %c2% %d2% %e2% %f2% %g2% 
04.
 3 %a3% %b3% %c3% %d3% %e3% %f3% %g3% 
05.
 4 %a4% %b4% %c4% %d4% %e4% %f4% %g4% 
06.
 5 %a5% %b5% %c5% %d5% %e5% %f5% %g5% 
07.
 6 %a6% %b6% %c6% %d6% %e6% %f6% %g6%
Und die "Funktionen" zum auswerten der Horizontalen und Vertikalen sehen so aus:
01.
::Horizontal 
02.
for /l %%e in (1,1,6) do ( 
03.
	for %%d in (A,B,C,D,E,F,G) do ( 
04.
		if !%%d%%e!==X set /a X%%e+=1 && set /a O%%e=0 
05.
		if !%%d%%e!==O set /a O%%e+=1 && set /a X%%e=0 
06.
		if "!%%d%%e!"==" " set /a O%%e=0 && set /a X%%e=0 
07.
		if !X%%e!==4 ( 
08.
			cls 
09.
			call :board 
10.
			echo Spieler 2 hat GEWONNEN!  
11.
			pause>nul 
12.
			exit 
13.
14.
		if !O%%e!==4 ( 
15.
			cls 
16.
			call :board 
17.
			echo Spieler 1 hat GEWONNEN!  
18.
			pause>nul 
19.
			exit 
20.
21.
22.
23.
::Vertikal 
24.
for %%f in (A,B,C,D,E,F,G) do ( 
25.
	for /l %%g in (1,1,6) do ( 
26.
		if !%%f%%g!==X set /a X%%f+=1 && set /a O%%f=0 
27.
		if !%%f%%g!==O set /a O%%f+=1 && set /a X%%g=0 
28.
		if "!%%f%%g!"==" " set /a O%%f=0 && set /a X%%g=0 
29.
		if !X%%g!==4 ( 
30.
			cls 
31.
			call :board 
32.
			echo Spieler 2 hat GEWONNEN!  
33.
			pause>nul 
34.
			exit 
35.
36.
		if !O%%f!==4 ( 
37.
			cls 
38.
			call :board 
39.
			echo Spieler 1 hat GEWONNEN!  
40.
			pause>nul 
41.
			exit 
42.
43.
44.
45.
exit/b
Habt ihr spontan eine Idee, wie ich das am besten realisieren kann?
Würde mich über jeden Gedankenanstoß freuen.

Hier ist der komplette Code, wollte nicht alles in den Thread posten.
http://pastebin.com/Lx7Hr38m

Mit freundlichsten Grüßen,
Budders/Gerrit
Mitglied: Budders
05.05.2014 um 13:23 Uhr
Sollten Fragen zum Code bestehen könnt ihr natürlich gerne fragen
Ich tu mein bestes sie zu beantworten
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(1)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
Verschachtelte For Schleife für Batch Neuling (1)

Frage von yperiu zum Thema Batch & Shell ...

Batch & Shell
gelöst Alle Ordner bis auf die letzten 3 per Batch löschen (5)

Frage von Stefan2733 zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Batch & Shell
gelöst Systemvariable über Batch nicht abrufbar! (7)

Frage von Brotkasten zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (41)

Frage von Winuser zum Thema Hyper-V ...

Linux Netzwerk
gelöst DHCP vergibt keine Adressen (30)

Frage von Maik82 zum Thema Linux Netzwerk ...

Exchange Server
gelöst Bestehende eMails autoamatisch weiterleiten (22)

Frage von metal-shot zum Thema Exchange Server ...

Apache Server
gelöst Lets Encrypt SSL mit Apache2 (20)

Frage von banane31 zum Thema Apache Server ...