DDiagonalIbis
Ambiente di sviluppo con IA

Raggi diagonali bloccati sulla scacchiera

Traccia quattro raggi diagonali da una delle 64 caselle con maschera di occupazione senza segno a 64 bit.

● ● ●DiagonalIbis●
Flussi di lavoro · Raggi diagonali bloccati sulla scacchiera ×
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
✳Raggi diagonali bloccati sulla scacchiera
✓ ModificheControlla prima di applicare ↗
Illustrazione dell’ambiente
Controlla prima di applicareConfronta il comportamento effettivo con il risultato atteso. Se una verifica fallisce, indaga la causa prima di altre modifiche.
ModelliConfigura un endpoint compatibile con OpenAI o Anthropic usando URL di base e chiave API, se necessaria. Prova la connessione. Il server locale deve essere in esecuzione; gli strumenti remoti possono trasmettere dati separatamente.
ProgettoProva angoli e ostacoli immediati, includi il primo ostacolo e rifiuta interi errati senza affermare la legalità completa delle mosse.
Flussi di lavoro

Raggi diagonali bloccati sulla scacchiera

Flussi di lavoro ↗
Flussi di lavoro
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
Ambiente di sviluppo con IA

Segui una modifica geometrica attraverso indici e ostacoli

DiagonalIbis offre un ambiente di programmazione con IA per Windows per apportare piccole modifiche al sorgente mantenendone visibili le ipotesi. Una richiesta sulla geometria di una scacchiera deve partire dalla convenzione di numerazione delle caselle e dal significato delle posizioni occupate. Affianca questi dettagli al codice del progetto e chiedi al modello collegato di esaminare il calcolo attuale prima di proporre una modifica.

Per esempio, un compito sui raggi diagonali può seguire quattro direzioni da una casella fino alla prima posizione occupata, includendo quell'ostacolo nel risultato. Indica l'intervallo senza segno della maschera di occupazione e includi nella discussione angoli e ostacoli immediati. Questo descrive una routine geometrica da mantenere, non un sistema completo di legalità delle mosse né un gioco fornito dall'ambiente.

Esamina l'output proposto con casi di prova le cui caselle attese siano identificabili indipendentemente. Controlla che i raggi si fermino al bordo della scacchiera e non passino ciclicamente tra righe, poi esamina la gestione degli interi non validi. Esegui questi casi nell'ambiente del tuo progetto. Se un utilizzatore di livello superiore interpreta la maschera come mosse legali, esamina quella logica aggiuntiva separatamente dal calcolo dei raggi.

DiagonalIbis si collega a endpoint supportati compatibili con OpenAI o Anthropic, usando credenziali dove richieste. Puoi selezionare un modello IA senza filtri se il tuo endpoint lo offre. Restrizioni effettive, strumenti e contesto dipendono dal modello e dal server; la convenzione sugli indici e i controlli di accettazione restano requisiti sotto il tuo controllo.

Prima di accettare una modifica alla geometria della scacchiera

Quali dettagli sugli indici appartengono al compito?

Indica come le caselle corrispondono agli indici e come avanzano righe e colonne. Includi un esempio da un angolo con le destinazioni attese. Il modello collegato ha così una convenzione esplicita da seguire e puoi esaminare la maschera proposta senza indovinarne l'orientamento.

Il primo ostacolo deve comparire nell'output?

In questo esempio sì: il raggio include quella casella e si ferma oltre essa. Rendi esplicita la regola e verifica un ostacolo immediato. Un utilizzatore di livello superiore può interpretare diversamente l'occupazione, quindi esamina quella logica separatamente anziché cambiare implicitamente il contratto del raggio.

Come posso individuare passaggi indebiti oltre i bordi?

Usa casi di prova di angoli e bordi le cui diagonali siano corte o assenti in determinate direzioni. Confronta le caselle restituite esatte con aspettative indipendenti. Una maschera visivamente plausibile da una casella centrale può non rivelare un errore di indicizzazione vicino al bordo della scacchiera.

Una maschera corretta dei raggi determina le mosse legali?

No. La legalità delle mosse può dipendere da stato e regole aggiuntivi oltre a questa operazione geometrica. Mantieni circoscritto il contratto della routine richiesta, esamina i suoi utilizzatori quando necessario e usa controlli di progetto separati per il comportamento di livello superiore prima di trattare il risultato come un insieme di mosse legali.

Scarica per Windows ↗

DiagonalIbis · Aggiornato 2026-10-25