DDiagonalIbis
Espace de développement avec IA

Rayons diagonaux de plateau avec obstacles

Tracez quatre rayons diagonaux depuis une des 64 cases avec un masque d’occupation non signé de 64 bits.

● ● ●DiagonalIbis●
Méthodes de travail · Rayons diagonaux de plateau avec obstacles ×
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
✳Rayons diagonaux de plateau avec obstacles
✓ ModificationsVérifiez avant d’appliquer ↗
Illustration de l’espace de travail
Vérifiez avant d’appliquerComparez le comportement observé au résultat attendu. Si une vérification échoue, cherchez la cause avant de poursuivre les modifications.
ModèlesConfigurez un endpoint compatible OpenAI ou Anthropic avec son URL de base et une clé API si nécessaire. Testez la connexion. Un serveur local doit fonctionner ; les outils distants peuvent transmettre des données séparément.
ProjetTestez coins et obstacles proches, incluez le premier obstacle et rejetez les entiers invalides sans prétendre vérifier toute légalité des coups.
Méthodes de travail

Rayons diagonaux de plateau avec obstacles

Méthodes de travail ↗
Méthodes de travail
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
Espace de développement avec IA

Suivez une modification géométrique à travers l’indexation et les obstacles

DiagonalIbis propose un espace de programmation assistée par IA sous Windows pour effectuer de petites modifications du code source en gardant leurs hypothèses visibles. Une demande de géométrie de plateau doit commencer par la convention de numérotation des cases et le sens des positions occupées. Placez ces détails à côté du code du projet et demandez au modèle connecté d’examiner le calcul actuel avant de proposer une modification.

Par exemple, une tâche de rayons diagonaux peut suivre quatre directions depuis une case jusqu’à la première position occupée, en incluant cette case bloquante dans le résultat. Précisez la plage non signée du masque d’occupation et incluez les coins et les obstacles immédiats dans la discussion. Cela décrit une routine géométrique à maintenir, pas un système complet de légalité des coups ni un jeu fourni par l’espace de travail.

Examinez la sortie proposée avec des jeux de test dont vous pouvez déterminer indépendamment les cases attendues. Vérifiez que les rayons s’arrêtent au bord du plateau et ne passent pas d’une ligne à l’autre par débordement, puis examinez le traitement des entiers invalides. Exécutez ces cas dans votre environnement de projet. Si un composant de niveau supérieur interprète le masque comme des coups légaux, examinez cette logique séparément du calcul des rayons.

DiagonalIbis se connecte aux points de terminaison compatibles OpenAI ou Anthropic pris en charge, avec des identifiants si nécessaire. Un modèle d’IA sans filtre peut être sélectionné si votre point de terminaison le propose. Ses restrictions réelles, ses outils et son contexte dépendent du modèle et du serveur ; la convention d’indexation et les vérifications d’acceptation restent des exigences sous votre contrôle.

Avant d’accepter une modification de géométrie de plateau

Quels détails d’indexation inclure dans la tâche ?

Indiquez comment les cases correspondent aux indices et comment progressent les lignes et colonnes. Incluez un exemple de coin avec les destinations attendues. Le modèle connecté dispose alors d’une convention explicite à suivre, et vous pouvez examiner le masque proposé sans deviner son orientation.

La première case bloquante doit-elle apparaître dans la sortie ?

Dans cet exemple, oui : le rayon inclut cette case et s’arrête au-delà. Explicitez la règle et testez un obstacle immédiat. Un composant de niveau supérieur peut interpréter l’occupation autrement : examinez cette logique séparément plutôt que de modifier implicitement le contrat du rayon.

Comment détecter un débordement au bord du plateau ?

Utilisez des tests de coins et de bords dont les diagonales sont courtes ou absentes dans certaines directions. Comparez les cases exactes renvoyées à des attentes indépendantes. Un masque visuellement plausible depuis une case centrale peut ne pas révéler une erreur d’indexation près du bord.

Un masque de rayons correct établit-il la légalité des coups ?

Non. La légalité peut dépendre d’états et de règles supplémentaires au-delà de cette opération géométrique. Gardez le contrat de la routine demandé étroit, examinez ses utilisateurs au besoin et utilisez des vérifications distinctes du comportement de niveau supérieur avant de traiter le résultat comme un ensemble de coups légaux.

Télécharger pour Windows ↗

DiagonalIbis · Mis à jour 2026-10-25