In welcher Programmiersprache kann man Schach programmieren?
In welcher Programmiersprache kann ich Schach programmieren? Und wie genau geht das?
5 Antworten
Das geht in nahezu jeder Programmiersprachen. (...und zieh bitte keine weiteren "Nichtprogrammiersprachen" aus dem Hut. Brainfuck ginge, dann bekämst Du den Nobelpreis oder eine Zwangsjacke)
Natürlich sollte diese ausreichend schnell sein um möglichst viele zugvarianten zu bewerten. Das sollte jedoch für das begreifen der funktionsweise die geringste Rolle spielen.
Und wie genau geht das?
Es würde ein ganzes Buch füllen das zu erklären. dergleichen musst Du Dir schon selbst erarbeiten.
hier ein paar nützliche Links:
- https://chess24.com/de/lesen/news/wie-denkt-ein-schachprogramm
- https://t2informatik.de/wissen-kompakt/entscheidungsbaum/
- https://de.wikipedia.org/wiki/Minimax-Algorithmus
- https://www.mathe2.uni-bayreuth.de/20er/pdf/schachprogramme.pdf
- https://www.chess.at/downloads/KOJ/2020_VWA/Funktionsweise_Schachcomputer.pdf
- https://thesmartcoder.dev/build-a-simple-chess-ai-in-javascript/
- https://www.codeproject.com/Articles/36112/Chess-Program-in-C
- https://www.chessprogramming.org/Main_Page
du musst ja nicht zwingend das Rad neu erfinden, es gibt auch fertige Engine-Bibliotheken:
- https://github.com/Geras1mleo/Chess
- https://python-chess.readthedocs.io/en/latest/
- https://pypi.org/project/python-chess/0.15.0/
- usw.
Das Thema ist dermaßen komplex, das es für jemanden der eine Frage wie die Deine stellen muss gleich 10 Nummern zu groß ist.
Ich würde Dir erstmal empfehlen überhaupt mit den Grundlagen einer Programmiersprache anzufangen und dich dann uber einfache Projekte wie:
- TickTacToe
- Reversie
- minesweeper
- Schffeversenken
- ...
...dem Thema Entscheidungsalgorithmen zu nähern...
Komt drauf an wie du es programmieren willst.
Willst du eine toll ausgefeilte grafische Oberfläche macht es natürlich sinn auf eine Sprache zu gehen wo das gut funktioniert.
Willst du ne Datenbankanbindung um spieleergebnisse abzuspeichern oder eine ablegen als Datei kann es auch sinn machen zu schauen welche sprachen das gut können.
Willst du einen Computer gegenspieler der von sich sinnvolle und vernünftige züge macht stellt das anforderungen an die Sprache.
Willst du nur Konsoleneingaben i.d.F. Schwarz Figurname von a nach b und das Programm merkt sich das, kontrolliert ob der zug legitim ist (ist die Farbe drann, steht die Figur an a, darf die Figur sich nach b bewegen) und streicht ggf figuren wenn die geschlagen wurde geht das mehr oder weniger komfortabel in verschiedenen sprachen.
Je geringer die Anforderungen desto mehr sprachen erfüllen die.
Es macht also sinn erstmal genau zu überlegen was am ende raus kommen soll. Dann kannst du schauen welche sprache besonders nett ist um den anforderungskatalog umzusetzen.
Hallo,
nichts für ungut, aber von Deinen Kommentaren her hast Du 0 Ahnung von Programmieren. Du möchtest hier einen 100 km Hürdenlauf hinlegen und kannst noch nicht mal krabbeln. Ich kann Dir jetzt schon sagen das dabei garnichts rauskommt!
Fange klein an, suche Dir eine einfache Programmiersprache z.B. Java oder Python, suche Dir entsprechende Tutorials und Bücher. Damit hast Du das nächste halbe Jahr genug damit zu tun um Grundkenntnisse zu erlangen.
Du kannst es in so gut wie jeder gängigen Programmiersprache implementieren. Wie genau kann man dir nicht vorkauen, gibt bestimmt einige Tutorials / Bücher etc. darüber - bei Fehlern und wie man sie behebt hilft man dir bestimmt eher.
Das ist keine Programmiersprache. Gibt aber abgewandelte Sprachen, die auf SQL aufbauen, in denen man das machen kann.
Nichtsdestotrotz kann man das an sich auch in SQL "programmieren", schlicht mit Queries Werte setzen/Figuren bewegen. Und mittels Trigger kann man sich evtl.sogar eine sehr einfache KI bauen.
Häh, wieso ist SQL keine Programmiersprache?
Weil du damit nicht programmierst, sondern Datenbanken verwaltest.
Ja, man verwaltet Datenbanken durch programmieren
Da gibt es einige, aber da kenne ich mich nicht wirklich aus. Ich denke die meisten Datenbankverwaltungssoftwares unterstützen auch jeweils eigene SQL-Dialekte, die das Programmieren erlauben.
CSS unterstützt dich dabei, das ganze in JS zu programmieren und dann visuell mit HTML darzustellen.
Nein, in CSS geht das garnicht. CSS kann noch deutliich weniger als SQL.
CSS ist quasi nur als statische Sprache für Styling gedacht.
Was meinst du mit trollen? Ich brauche nur Hilfe.
in sql gibst du nur befehle an die datenbank weiter. beim programmieren kommunizierst du dem pc was du machen möchtest und wie
Hi Gutofruto,
das geht in nahezu fast allen Programmiersprachen. Dabei unterscheidet man zwischen Programmiersprachen wie JavaScript, Python und C++. Die einen sind Interpretersprachen und das andere Compiler-Sprachen. Mit fast jeder Sprache lässt sich ein Schachspiel programmieren/realisieren. Ob es dann sinnvoll ist in einer bestimmten Sprache dies zu machen ist eine andere Frage.
Geht auch SQL?