DDiagonalIbis
Spațiu de programare cu AI

Raze diagonale blocate pe tablă

Trasează patru raze diagonale dintr-una dintre 64 de poziții printr-o mască de ocupare fără semn pe 64 de biți.

● ● ●DiagonalIbis●
Fluxuri de lucru · Raze diagonale blocate pe tablă ×
def diagonal_rays(square, occupied):
    if type(square) is not int or not 0 <= square < 64 or type(occupied) is not int or not 0 <= occupied < 2**64:
        raise ValueError("rays.input")
    row, column = divmod(square, 8)
    result = 0
    for dr, dc in ((1, 1), (1, -1), (-1, 1), (-1, -1)):
        r, c = row+dr, column+dc
        while 0 <= r < 8 and 0 <= c < 8:
            bit = 1 << (8*r+c)
            result |= bit
            if occupied & bit:
                break
            r, c = r+dr, c+dc
    return result
✳Raze diagonale blocate pe tablă
✓ ModificăriVerifică înainte de aplicare ↗
Ilustrarea spațiului de lucru
Verifică înainte de aplicareCompară comportamentul real cu rezultatul așteptat. Dacă o verificare eșuează, cercetează cauza înainte de alte modificări.
ModeleConfigurează un endpoint compatibil OpenAI sau Anthropic cu URL-ul de bază și cheia API, dacă este necesară. Testează conexiunea. Serverul local trebuie să ruleze; instrumentele externe pot transmite date separat.
ProiectTestează colțuri și obstacole imediate, include primul obstacol și respinge întregi invalizi fără verificarea completă a legalității mutărilor.
Fluxuri de lucru

Raze diagonale blocate pe tablă

Fluxuri de lucru ↗
Fluxuri de lucru
def diagonal_rays(square, occupied):
    if type(square) is not int or not 0 <= square < 64 or type(occupied) is not int or not 0 <= occupied < 2**64:
        raise ValueError("rays.input")
    row, column = divmod(square, 8)
    result = 0
    for dr, dc in ((1, 1), (1, -1), (-1, 1), (-1, -1)):
        r, c = row+dr, column+dc
        while 0 <= r < 8 and 0 <= c < 8:
            bit = 1 << (8*r+c)
            result |= bit
            if occupied & bit:
                break
            r, c = r+dr, c+dc
    return result
Spațiu de programare cu AI

Urmărește o modificare geometrică prin indexare și obstacole

DiagonalIbis oferă un spațiu de programare cu IA pentru Windows destinat modificărilor mici ale sursei cu ipoteze vizibile. O solicitare privind geometria tablei trebuie să înceapă cu convenția de numerotare a pătratelor și sensul pozițiilor ocupate. Pune aceste detalii lângă codul proiectului și cere modelului conectat să examineze calculul actual înainte de a propune o modificare.

De exemplu, o sarcină cu raze diagonale poate urmări patru direcții dintr-un pătrat până la prima poziție ocupată, incluzând acel obstacol în rezultat. Precizează intervalul măștii de ocupare fără semn și include colțuri și obstacole imediate în discuție. Aceasta descrie o rutină geometrică de întreținut, nu un sistem complet de legalitate a mutărilor sau un joc furnizat de spațiul de lucru.

Analizează ieșirea propusă folosind teste ale căror pătrate așteptate le poți identifica independent. Verifică dacă razele se opresc la marginea tablei și nu trec ciclic între rânduri, apoi examinează tratarea întregilor nevalizi. Rulează cazurile în propriul mediu de proiect. Dacă un consumator de nivel superior interpretează masca drept mutări legale, analizează acea logică suplimentară separat de calculul razelor.

DiagonalIbis se conectează la endpointuri compatibile OpenAI sau Anthropic acceptate, folosind acreditări unde sunt necesare. Un model IA nefiltrat poate fi selectat dacă endpointul îl oferă. Restricțiile reale, instrumentele și contextul său depind de model și server; convenția de indexare și verificările acceptării rămân cerințe controlate de tine.

Înainte de a accepta o modificare a geometriei tablei

Ce detalii de indexare trebuie incluse în sarcină?

Precizează cum sunt mapate pătratele la indici și cum avansează rândurile și coloanele. Include un exemplu de colț cu destinații așteptate. Modelul conectat are astfel o convenție explicită de urmat, iar tu poți analiza masca propusă fără a-i ghici orientarea.

Primul obstacol trebuie să apară în ieșire?

Pentru acest exemplu, da: raza include acel pătrat și se oprește dincolo de el. Explicitează regula și testează un obstacol imediat. Un consumator de nivel superior poate interpreta altfel ocuparea, așa că analizează separat acea logică, fără a modifica implicit contractul razei.

Cum pot detecta trecerea ciclică peste margine?

Folosește teste la colț și margine ale căror diagonale sunt scurte sau absente în anumite direcții. Compară pătratele exacte returnate cu așteptări independente. O mască aparent plauzibilă dintr-un pătrat central poate să nu dezvăluie o eroare de indexare lângă marginea tablei.

O mască corectă a razelor stabilește mutările legale?

Nu. Legalitatea mutărilor poate depinde de stare și reguli suplimentare dincolo de această operație geometrică. Păstrează restrâns contractul rutinei solicitate, examinează consumatorii când este nevoie și folosește verificări separate de proiect pentru comportamentul superior înainte de a trata rezultatul ca set de mutări legale.

Descarcă pentru Windows ↗

DiagonalIbis · Actualizat 2026-10-25