我必须使用lisp代表棋盘游戏.要做到这一点,我必须创建一个构建板的功能.
此函数接收一个整数,表示原始列表所具有的子列表的数量.这些子列表中的每一个都具有以3*n比例增长的不同大小.例如,如果使用数字3调用函数,它将创建一个包含3个子列表的列表,第一个具有3个位置,第二个具有6个,第三个具有9个.
此外,每个位置都需要用'*初始化.
要做到这一点,我想我必须对make-list进行递归调用,但我似乎无法做到这一点.我试图使用'dotimes'循环来做到这一点,但我没有任何成功.
到目前为止,我有:
(defun faz-tabuleiro (n_aneis)
(make-list n_aneis :initial-element (...)
Run Code Online (Sandbox Code Playgroud)
Wich创建主列表,但我如何用正确的大小来表示内部的子列表?
这样做你想要的吗?
(defun make-table (n)
(loop :for i :from 1 :to n
:collect (make-list (* i 3) :initial-element "*")))
Run Code Online (Sandbox Code Playgroud)