รังสีแนวทแยงบนกระดานที่มีสิ่งกีดขวาง
ลากรังสีแนวทแยงสี่แนวจากหนึ่งใน 64 ช่องกระดานผ่านมาสก์การครอบครอง 64 บิตไม่มีเครื่องหมาย.
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
| ตรวจสอบก่อนนำไปใช้ | เปรียบเทียบการทำงานจริงกับผลที่คาดหวัง หากการตรวจสอบไม่ผ่าน ให้หาสาเหตุก่อนแก้ไขเพิ่มเติม |
|---|---|
| โมเดล | ตั้งค่า endpoint ที่รองรับ OpenAI หรือ Anthropic ด้วย URL หลักและคีย์ API หากจำเป็น ทดสอบการเชื่อมต่อ เซิร์ฟเวอร์โมเดลในเครื่องต้องทำงานอยู่ เครื่องมือระยะไกลอาจส่งข้อมูลแยกต่างหาก |
| โปรเจกต์ | ทดสอบมุมและสิ่งกีดขวางติดกัน โดยรวมสิ่งกีดขวางแรกแต่ปฏิเสธจำนวนเต็มไม่ถูกต้องโดยไม่อ้างว่าตรวจความถูกต้องของการเดินครบถ้วน. |
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
ติดตามการแก้เรขาคณิตผ่านดัชนีและตัวกีดขวาง
DiagonalIbis ให้พื้นที่เขียนโค้ดด้วย AI บน Windows สำหรับการแก้ซอร์สเล็ก ๆ โดยเห็นสมมติฐานชัด คำขอเรขาคณิตกระดานควรเริ่มด้วยข้อตกลงการกำหนดหมายเลขช่องและความหมายของตำแหน่งที่ถูกครอบครอง วางรายละเอียดเหล่านี้ข้างโค้ดโครงการและขอให้โมเดลที่เชื่อมต่อตรวจการคำนวณปัจจุบันก่อนเสนอแก้
ตัวอย่างเช่น งานแนวรังสีทแยงติดตามสี่ทิศจากช่องหนึ่งจนถึงตำแหน่งที่ถูกครอบครองแรก โดยรวมตัวกีดขวางนั้นในผล ระบุช่วงมาสก์การครอบครองแบบไม่มีเครื่องหมาย และรวมมุมกับตัวกีดขวางที่อยู่ติดกันในการสนทนา นี่อธิบายรูทีนเรขาคณิตที่ต้องบำรุงรักษา ไม่ใช่ระบบตรวจตาเดินถูกกติกาครบถ้วนหรือเกมที่พื้นที่ทำงานจัดให้
ตรวจผลที่เสนอด้วยกรณีทดสอบที่ระบุช่องคาดหวังได้อย่างอิสระ ตรวจว่าแนวรังสีหยุดที่ขอบกระดานและไม่วนข้ามแถว แล้วตรวจการจัดการจำนวนเต็มไม่ถูกต้อง รันกรณีเหล่านี้ในสภาพแวดล้อมโครงการของคุณ หากฝั่งใช้ผลระดับสูงตีความมาสก์เป็นตาเดินถูกกติกา ให้ตรวจตรรกะเพิ่มเติมนั้นแยกจากการคำนวณแนวรังสี
DiagonalIbis เชื่อมต่อปลายทาง OpenAI-compatible หรือ Anthropic ที่รองรับ โดยใช้ข้อมูลรับรองเมื่อจำเป็น เลือกโมเดล AI ไร้การกรองได้หากปลายทางมีให้ ข้อจำกัดจริง เครื่องมือ และบริบทขึ้นกับโมเดลและเซิร์ฟเวอร์ ส่วนข้อตกลงดัชนีและการตรวจยอมรับยังเป็นข้อกำหนดที่คุณควบคุม
ก่อนยอมรับการแก้เรขาคณิตกระดาน
รายละเอียดดัชนีใดควรอยู่ในงาน
ระบุว่าช่องสัมพันธ์กับดัชนีอย่างไรและแถวกับคอลัมน์เพิ่มอย่างไร รวมตัวอย่างมุมพร้อมตำแหน่งปลายทางคาดหวัง โมเดลที่เชื่อมต่อจึงมีข้อตกลงชัดเจนให้ตาม และคุณตรวจมาสก์ที่เสนอได้โดยไม่ต้องเดาทิศทาง
ตัวกีดขวางแรกควรอยู่ในผลหรือไม่
สำหรับตัวอย่างนี้ ควรอยู่ แนวรังสีรวมช่องนั้นแล้วหยุดไม่ไปต่อ ระบุกฎชัดและทดสอบตัวกีดขวางที่ติดกัน ฝั่งใช้ผลระดับสูงอาจตีความการครอบครองต่างกัน จึงตรวจตรรกะนั้นแยกแทนเปลี่ยนข้อกำหนดแนวรังสีโดยไม่ชัดเจน
จะตรวจพบการวนข้ามขอบได้อย่างไร
ใช้กรณีมุมและขอบที่แนวทแยงสั้นหรือไม่มีในบางทิศ เทียบช่องที่คืนจริงกับค่าคาดหวังอิสระ มาสก์จากช่องกลางที่ดูน่าเชื่ออาจไม่เผยบั๊กดัชนีใกล้ขอบกระดาน
มาสก์แนวรังสีถูกต้องยืนยันตาเดินถูกกติกาหรือไม่
ไม่ ความถูกกติกาอาจขึ้นกับสถานะและกฎเพิ่มนอกการดำเนินการเรขาคณิตนี้ รักษาข้อกำหนดรูทีนที่ขอให้แคบ ตรวจฝั่งใช้ผลเมื่อจำเป็น และใช้การตรวจโครงการแยกสำหรับพฤติกรรมระดับสูงก่อนถือผลเป็นชุดตาเดินถูกกติกา
DiagonalIbis · อัปเดต 2026-10-25