回答編集履歴

2

textdec削除

2025/05/19 01:19

投稿

miraimirai
miraimirai

スコア48

test CHANGED
@@ -1,30 +1,47 @@
1
1
  chatgptに聞いて解決しました。
2
2
  主な修正、リファクタリングした箇所
3
3
 
4
+ 今日行った主な修正・リファクタリングは以下のとおりです。
5
+
4
- 方向ベクトル&マスクの定義を一元化
6
+ 1. **方向ベクトル&マスクの定義を一元化**
7
+
5
- (direction, mask) タプルを DIR_MASKS にまとめ、合法手検出/反転処理で両方使い回しに textdoc_id:682a84107c4c819191516cddf72a32d2。
8
+ * `(direction, mask)` タプルを `DIR_MASKS` にまとめ、合法手検出/反転処理で両方使い回しに
9
+
6
- shift 関数の簡素化
10
+ 2. **`shift` 関数の簡素化**
11
+
7
- 方向ごとに左シフト・右シフトを使い分け、左シフト時には必ず & FULL で64ビットにマスク textdoc_id:682a84107c4c819191516cddf72a32d2。
12
+ * 方向ごとに左シフト・右シフトを使い分け、左シフト時には必ず `& FULL` で64ビットにマスク
8
- 合法手取得 (get_legal_moves) の整理
13
+ 3. **合法手取得 (`get_legal_moves`) の整理**
14
+
9
- 空きマス empty のマスク化
15
+ * 空きマス `empty` のマスク化
10
- DIR_MASKS をループで回しつつ、連続する相手石の追跡→最後に空きマスを判定する流れをまとめて記述 textdoc_id:682a84107c4c819191516cddf72a32d2。
16
+ * `DIR_MASKS` をループで回しつつ、連続する相手石の追跡→最後に空きマスを判定する流れをまとめて記述
11
- 石返し処理 (flip_discs) の統一
17
+ 4. **石返し処理 (`flip_discs`) の統一**
18
+
12
- 合法手取得と同じ方向/マスクループを流用し、ひっくり返すビット集合 to_flip を一括返却に変更 textdoc_id:682a84107c4c819191516cddf72a32d2。
19
+ * 合法手取得と同じ方向/マスクループを流用し、ひっくり返すビット集合 `to_flip` を一括返却に変更
20
+
13
- 座標変換ヘルパーの追加
21
+ 5. **座標変換ヘルパーの追加**
22
+
14
- pos_to_bit(pos):入力文字列(上から1–8)→ビットインデックス
23
+ * `pos_to_bit(pos)`:入力文字列(上から1–8)→ビットインデックス
15
- bit_to_pos(i):ビットインデックス→文字列(上から1–8)
24
+ * `bit_to_pos(i)`:ビットインデックス→文字列(上から1–8)
16
- この二つで入出力の座標整合性を完全に担保 textdoc_id:682a84107c4c819191516cddf72a32d2。
25
+ この二つで入出力の座標整合性を完全に担保 
26
+
17
- 盤面表示 (print_board) の行番号を上から「1→8」へ
27
+ 6. **盤面表示 (`print_board`) の行番号を上から「1→8」へ**
28
+
18
- range(7, -1, -1) と enumerate(..., start=1) を使い、表示行と内部ビットの上下方向を一致させた textdoc_id:682a84107c4c819191516cddf72a32d2。
29
+ * `range(7, -1, -1)``enumerate(..., start=1)` を使い、表示行と内部ビットの上下方向を一致させた 
30
+
19
- put_disc の修正
31
+ 7. **`put_disc` の修正**
32
+
20
- まず pos_to_bit でビット変換し、そのビットを flip_discs に渡すように。その後 |= で駒を配置 textdoc_id:682a84107c4c819191516cddf72a32d2。
33
+ * まず `pos_to_bit` でビット変換し、そのビットを `flip_discs` に渡すように。その後 `|=` で駒を配置 
34
+
21
- グローバル変数・初期化の整理
35
+ 8. **グローバル変数・初期化の整理**
36
+
22
- 初期石配置を play_game 内にまとめ、不要だった変数(blank, white_or_black)を削除 textdoc_id:682a84107c4c819191516cddf72a32d2。
37
+ * 初期石配置を `play_game` 内にまとめ、不要だった変数(`blank`, `white_or_black`)を削除
38
+
23
39
  これらの変更により、
24
40
 
25
- 合法手検出・石返し処理は一貫した方向・マスク操作になり
41
+ * 合法手検出・石返し処理は一貫した方向・マスク操作になり
26
- 表示・入力・内部ビット表現の座標系が完全に一致し
42
+ * 表示・入力・内部ビット表現の座標系が完全に一致し
27
- 方向マスクの重複定義が解消され、コードがスッキリ見通しよくなりました。
43
+ * 方向マスクの重複定義が解消され、コードがスッキリ見通しよくなりました。
44
+
28
45
  ```python
29
46
  BOARD_SIZE = 8
30
47
  FULL = 0xFFFFFFFFFFFFFFFF

1

文字修正

2025/05/19 01:17

投稿

miraimirai
miraimirai

スコア48

test CHANGED
@@ -1,6 +1,5 @@
1
1
  chatgptに聞いて解決しました。
2
2
  主な修正、リファクタリングした箇所
3
- 今日行った主な修正・リファクタリングは以下のとおりです。
4
3
 
5
4
  方向ベクトル&マスクの定義を一元化
6
5
  (direction, mask) タプルを DIR_MASKS にまとめ、合法手検出/反転処理で両方使い回しに textdoc_id:682a84107c4c819191516cddf72a32d2。