0

[[[0]*64 for i in range(7)] for j in range(2)]その部分と、それに相当する Lisp の書き方を説明してください。

pieceHashes = [[[0]*64 for i in range(7)] for j in range(2)]
    for color in WHITE, BLACK:
        for piece in PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING:
            for cord in range(64):
                pieceHashes[color][piece][cord] = randint(0, maxint)
4

2 に答える 2

4
(let ((piece-array (make-array '(2 7 64) :initial-element 0)))
  (dolist (color `(,white ,black))
    (dolist (piece `(,pawn ,knight ,bishop ,rook ,queen ,king))
      (loop for cord below 64
            do (setf (aref piece-array color piece cord)
                     (random maxint))))))
于 2012-05-12T08:43:41.620 に答える
0

64 x 7x2の要素を持つ3次元配列を生成します。その後、配列は最終行に入力されます。

于 2012-05-12T06:26:37.683 に答える