Webentwicklung

Beispiel Spielentwicklung: Vier Gewinnt

Vincent Kilchherr 17. April 2026 8 Min Lesezeit

Vier Gewinnt direkt im Browser spielen – mit KI-Gegner (Minimax-Algorithmus). Dazu eine Erklärung, wie das Spiel in JavaScript programmiert wurde: Spielfeld-Logik, Gewinnbedingung und KI.

Vier Gewinnt ist ein klassisches Strategiespiel für zwei Spieler. Das Ziel: Als Erster vier Spielsteine in einer Reihe platzieren – horizontal, vertikal oder diagonal. Unten kannst du das Spiel direkt ausprobieren, danach erkläre ich, wie es in JavaScript programmiert wurde.

Starte das Spiel!

Wie funktioniert das Spiel?

Das Spiel ist vollständig in JavaScript mit dem Canvas-Element umgesetzt – keine externen Bibliotheken, kein Framework. Hier die wichtigsten Konzepte:

Das Spielfeld als 2D-Array

Das Spielfeld (6 Zeilen × 7 Spalten) wird als verschachteltes Array gespeichert:

// Spielfeld initialisieren
let board = Array.from({length: 6}, () => Array(7).fill(0));
// 0 = leer, 1 = Spieler 1 (Rot), 2 = Spieler 2 / Computer (Gelb)

Stein fallen lassen

Beim Klick auf eine Spalte wird der unterste freie Platz gesucht – die Gravitation wird also einfach von unten nach oben geprüft:

function dropPiece(col) {
    for (let row = ROWS - 1; row >= 0; row--) {
        if (board[row][col] === 0) {
            board[row][col] = currentPlayer;
            return row;
        }
    }
    return -1; // Spalte voll
}

Gewinnbedingung prüfen

Nach jedem Zug werden alle vier Richtungen (horizontal, vertikal, beide Diagonalen) auf vier aufeinanderfolgende Steine desselben Spielers geprüft:

const directions = [[0,1], [1,0], [1,1], [1,-1]];

for (const [dr, dc] of directions) {
    let cells = [[row, col]];
    for (let i = 1; i < 4; i++) {
        const nr = row + dr * i, nc = col + dc * i;
        if (board[nr]?.[nc] !== player) break;
        cells.push([nr, nc]);
    }
    if (cells.length === 4) return cells; // Gewinner!
}

Die KI: Minimax mit Alpha-Beta-Pruning

Der schwere Modus verwendet den Minimax-Algorithmus mit Alpha-Beta-Pruning. Der Computer simuliert dabei alle möglichen Zugfolgen bis zu einer bestimmten Tiefe (hier 5 Züge voraus) und wählt den besten Zug:

function minimax(depth, alpha, beta, maximizing) {
    if (checkWin(2)) return {score: 100000 + depth}; // Computer gewinnt
    if (checkWin(1)) return {score: -(100000 + depth)}; // Spieler gewinnt
    if (depth === 0 || isBoardFull()) return {score: scoreBoard()};

    if (maximizing) {
        let best = {score: -Infinity};
        for (const col of getValidCols()) {
            const row = dropPiece(col); board[row][col] = 2;
            const result = minimax(depth - 1, alpha, beta, false);
            board[row][col] = 0; // Zug rückgängig
            if (result.score > best.score) best = {score: result.score, col};
            alpha = Math.max(alpha, best.score);
            if (alpha >= beta) break; // Pruning
        }
        return best;
    }
    // ... minimizing analog
}

Alpha-Beta-Pruning beschleunigt die Suche erheblich: Züge, die schlechter sind als bereits gefundene Optionen, werden nicht weiter untersucht.

Stellungsbewertung

Wenn die maximale Suchtiefe erreicht wird, bewertet eine Heuristik die aktuelle Stellung. Sie zählt, wie viele günstige 4er-Fenster jeder Spieler hat:

function scoreWindow(window, player) {
    const pCount = window.filter(v => v === player).length;
    const eCount = window.filter(v => v === 0).length;
    if (pCount === 4) return 100;
    if (pCount === 3 && eCount === 1) return 5;
    if (pCount === 2 && eCount === 2) return 2;
    return 0;
}

Fazit

Mit etwa 250 Zeilen JavaScript lässt sich ein vollständiges, spielbares Vier-Gewinnt mit KI realisieren. Der Minimax-Algorithmus ist dabei das Herzstück – er ist auch die Basis für viele andere Brettspiele wie Schach oder Dame.

Ich entwickle auf webaufbau.ch individuelle Webanwendungen – von interaktiven Tools bis hin zu komplexen Webapplikationen. Sag mir, was du brauchst.

Die Spielentwicklung von Vier Gewinnt in JavaScript ist ein spannendes Beispiel für die Kombination von klassischem Gameplay und modernen Technologien. Hier habe ich das Minimax-Algorithmus implementiert, um eine künstliche Intelligenz zu konzipieren, die dir sowohl einfache als auch herausfordernde Gegner bietet. Diese Umsetzung zeigt nicht nur, wie man interaktive Elemente erstellt, sondern auch, wie Algorithmen strategisches Denken im Spiel fördern können.

War dieser Artikel hilfreich?

Vincent Kilchherr
Vincent Kilchherr

Fullstack & AI Entwickler

Informatiker EFZ Applikationsentwicklung mit Berufsmaturität - Informatikmittelschule Basel (IMS)

Kontakt aufnehmen

Ähnliche Beiträge

Webentwicklung
Smoke Testing: Was du wissen musst

Entdecke, wie Smoke Testing dir hilft, Softwareprobleme frühzeitig zu erkennen und warum es für S...

03. Apr 2026
Webentwicklung
Von WordPress zu CodeIgniter: Wann macht Migration Sinn?

Entdecke die entscheidenden Faktoren für eine Migration von WordPress zu CodeIgniter und wann die...

30. Jan 2026
Webentwicklung
Website-Security: Die häufigsten Fehler und wie du sie vermeidest

Entdecke die häufigsten Sicherheitslücken auf Webseiten und lerne, wie du sie effektiv vermeidest...

09. Jan 2026