NNimClover
KI-Arbeitsumgebung für Code

Nim-Züge im Normalspiel

Wähle einen Gewinnzug im normalen Nim aus höchstens 128 Haufen mit null bis einer Milliarde Objekten.

● ● ●NimClover●
Arbeitsabläufe · Nim-Züge im Normalspiel ×
def nim_move(piles):
    if type(piles) not in (list, tuple) or len(piles) > 128 or any(type(v) is not int or not 0 <= v <= 10**9 for v in piles):
        raise ValueError("nim.piles")
    balance = 0
    for pile in piles:
        balance ^= pile
    if balance == 0:
        return None
    for index, pile in enumerate(piles):
        reduced = pile ^ balance
        if reduced < pile:
            return index, reduced
✳Wähle einen Gewinnzug im normalen Nim aus höchstens 128 Haufen mit null bis einer Milliarde Objekten.
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
  1. Projekt

    Prüfe leere und verlorene Stellungen, liefere bei xor null keinen Zug und lehne negative oder boolesche Haufengrößen ab.

  2. Vor dem Anwenden prüfen

    Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.

  3. Modelle

    Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.

Arbeitsabläufe

Nim-Züge im Normalspiel

Arbeitsabläufe ↗
Arbeitsabläufe
def nim_move(piles):
    if type(piles) not in (list, tuple) or len(piles) > 128 or any(type(v) is not int or not 0 <= v <= 10**9 for v in piles):
        raise ValueError("nim.piles")
    balance = 0
    for pile in piles:
        balance ^= pile
    if balance == 0:
        return None
    for index, pile in enumerate(piles):
        reduced = pile ^ balance
        if reduced < pile:
            return index, reduced
KI-Arbeitsumgebung für Code

Tragen Sie eine Regeländerung bis in die nutzende Anwendung

NimClover ist ein KI-Programmierarbeitsbereich für Windows zur Entwicklung von Software mit ausdrücklichen Regeln und Entscheidungen. Wählen Sie den Projektordner und beschreiben Sie die zu implementierende oder zu korrigierende Regel. Der verbundene Assistent kann den relevanten Quellcode untersuchen und einen Vorschlag besprechen; akzeptierte Eingaben und beobachtbare Ergebnisse bleiben im Gespräch für Ihre Prüfung verfügbar.

Das Beispiel nim.py kann eine Aufgabe zur Zugauswahl unter Normalspielregeln konkretisieren. Fragen Sie, wie die Anwendung einen Zug darstellt, was sie tut, wenn die Hilfsroutine keine Auswahl zurückgibt, und ob das aktive Regelwerk den Annahmen der Funktion entspricht. Untersuchen Sie mit diesen Fragen Ihr eigenes Projekt. So wird eine kleine Beispielfunktion zur Softwareintegrationsaufgabe, ohne zu behaupten, eine Spiel-Engine gehöre zum Arbeitsbereich.

Für die Wahl eines uneingeschränkten KI-Modells verbinden Sie ein verfügbares Modell über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt. Geben Sie bei Bedarf Zugangsdaten an und prüfen Sie die tatsächlichen Fähigkeiten. Testen Sie nach Prüfung der Änderungsvorschläge sowohl einen zurückgegebenen Zug als auch den Pfad ohne Auswahl über deren Aufrufer. Prüfen Sie, ob Zustandsänderungen zur zurückgegebenen Darstellung passen. Das hilfreiche Ergebnis ist eine durch Prüfungen gestützte, stimmige Funktion Ihrer Anwendung statt eines isolierten Algorithmus, der die Oberfläche nie korrekt erreicht.

Fragen zur Integration regelbasierter Entscheidungen

Bedeutet keine Zugauswahl, dass es keine legalen Züge gibt?

Nicht unbedingt. Interpretieren Sie den Rückgabewert der Hilfsroutine gemäß ihrem Vertrag und dem aktuellen Spielzustand. Klären Sie, wie der aufrufende Code Strategie und Legalität unterscheidet, bevor eine fehlende Auswahl zu einer Meldung oder zum Ende der Interaktion führt.

Was sollte ich zum Regelwerk angeben?

Nennen Sie Siegbedingung und Variantenregeln, die gültige Entscheidungen beeinflussen. Das Beispiel setzt Normalspiel voraus. Eine andere Regel für den letzten Zug benötigt eigene Überlegungen und Prüfungen statt einer unveränderten Hilfsroutine mit neuer Oberflächenbeschriftung.

Wie sollte ich einen zurückgegebenen Zug testen?

Prüfen Sie, ob der angegebene Eintrag existiert, der neue Wert zulässig ist und der Aufrufer ihn wie vorgesehen anwendet. Berücksichtigen Sie den resultierenden Anwendungszustand. Ein gültiges Paar aus der Hilfsroutine belegt nicht, dass die Oberfläche den richtigen Eintrag aktualisiert.

Kann dieser Ablauf zu einem vollständigen Spiel erweitert werden?

Weitere Projektfunktionen können Sie in zusätzlichen abgegrenzten Aufgaben entwickeln. Definieren Sie Darstellung, Eingabeverarbeitung und Zustandsübergänge separat und testen Sie ihre Integration. Der Programmierarbeitsbereich und ein Strategiebeispiel belegen nicht, dass diese Funktionen bereits implementiert sind.

Für Windows herunterladen ↗

NimClover · Aktualisiert 2026-10-25