-
Continue reading →: Schachprogrammierung (Teil 4 von 4)
In Teil 1 haben wir uns angesehen, wie man die Stellung auf dem Schachbrett als Klassen und Objekte darstellt, in Teil 2, wie man in einer gegebenen Stellung alle gültigen Züge generiert und in Teil 3, wie man eine Stellung bewertet und herausfindet, welche Seite im Vorteil ist. In diesem…
-
Continue reading →: Schachprogrammierung (Teil 3 von 4)
In diesem Teil soll es darum gehen, eine gegebene Stellung zu bewerten und festzustellen, welche Seite im Vorteil ist. Ihr ahnt vielleicht schon, was wir tun werden: Bauerneinheiten zählen. Das gehört oft zu den ersten Dingen, die man über Schachstrategie lernt. Typischerweise zählt man Springer und Läufer jeweils als 3,…
-
Continue reading →: Schachprogrammierung (Teil 2 von 4)
Im ersten Teil haben wir uns angeschaut, wie wir das Schachbrett in Nullen und Einsen übersetzen. Jetzt wollen wir für eine gegebene Stellung alle möglichen Züge generieren. Die Vorgehensweise sieht grob skizziert so aus: Der Teufel steckt im Detail Ich habe nach bestem Wissen und Gewissen alle Schachregeln implementiert, daher…
-
Continue reading →: Schachprogrammierung (Teil 1 von 4)
Das wird der erste Teil einer voraussichtlich vierteiligen Artikelserie, in denen ich euch zeige, wie man dem Computer das Schachspielen beibringt. Wie jedes auch nur mittelgroße Programmierprojekt teilt man es sich am besten in kleinere Teilaufgaben ein. Beim Schach bietet sich folgende Aufteilung an: Und daran wird sich diese Artikelserie…
-
Continue reading →: WAVE-Dateien
Schall ist bekanntlich eine Welle, die man grafisch als sinusförmige Funktion darstellen kann. Komplexe Geräusche sind Überlagerungen vieler solcher Wellen und könnten in etwa so aussehen: Wie kann man so etwas digitalisieren? Oder anders gefragt: Wie machen wir daraus eine Datei mit Nullen und Einsen? Sampling Rate, Bittiefe, Kanäle Wir…
-
Continue reading →: Schachvarianten
Neben dem bekannten Standardschach gibt es unzählige Schachvarianten. Stöbert ruhig mal auf chessvariants.com, um einen Eindruck davon zu bekommen. Hier soll es aber nicht um einzelne Varianten gehen. Wir gehen heute der Frage nach, warum Schach so ein variantenreiches Spiel ist, und wie man eigene Varianten erfinden kann. Von Springern…
-
Continue reading →: Keplers Gesetze
Ich sage immer, Geburtstage sind Feiertage zu Ehren von Keplers Gesetzen, nach denen sich die Erde um die Sonne dreht. Sie lauten: Also, was bedeutet das alles? Ellipsen Eine Ellipse ist, salopp gesagt, ein „gequetschter“ Kreis. Während ein Kreis durch seinen Radius charakterisiert ist, sind es bei einer Ellipse die…
-
Continue reading →: Der Abstand zweier Punkte auf der Erdoberfläche
Gegeben sind zwei Punkte auf der Erdoberfläche, jeweils mit Länge (λ1 und λ2) und Breite (ϕ1 und ϕ2). Wie weit sind sie voneinander entfernt? Zunächst rechnen wir die Koordinaten in kartesische x-, y– und z-Koordinaten um. Wie das geht, haben wir uns schon einmal angeschaut. Diesmal können wir den Erdradius…
-
Continue reading →: Wie viele Kalenderjahre gibt es?
(Achtung, Informatiklehrys, das ist vielleicht als Übungsaufgabe geeignet.) Auf den ersten Blick scheinen Kalenderjahre höchst unterschiedlich zu sein. Manche sind Gemeinjahre, andere Schaltjahre. Die Wochentage liegen anders und die beweglichen Feiertage fallen auf andere Daten. Man hat den Eindruck, dass jedes Kalenderjahr einen individuellen „Fingerabdruck“ hat und sie sich vielleicht…
-
Continue reading →: Koordinatensysteme in der Astronomie
Fangen wir ganz von vorne an. In der Ebene hat bekanntlich jeder Punkt kartesische x– und y-Koordinaten. Alternativ können wir die Lage eines Punkts aber auch in Polarkoordinaten angeben – r ist der Abstand des Punkts vom Ursprung und λ sein „Richtungswinkel“, gemessen von der positiven x-Achse in Richtung der…