Erlang点和框,卡住了

Erlang点和框,卡住了,erlang,Erlang,我试图在erlang中制作一个简单的点和框游戏,其中有两个进程在玩这个游戏。我试图用一系列布尔值来存储墙的状态,就像这样 Rooms = array:new([{default, false}, {size, ?SIZE}]). 但我不知道如何以图形方式显示电路板的状态。我想画网格,如果布尔值为假,则画一个空格,如果布尔值为真,则画一个u或|。问题是,我不知道怎么做。关于io:fwrite或io:format的文档没有什么帮助,我对其中的任何内容都不太了解。我也不确定我是否用正确的方法来做这件

我试图在erlang中制作一个简单的点和框游戏,其中有两个进程在玩这个游戏。我试图用一系列布尔值来存储墙的状态,就像这样

Rooms = array:new([{default, false}, {size, ?SIZE}]).

但我不知道如何以图形方式显示电路板的状态。我想画网格,如果布尔值为假,则画一个空格,如果布尔值为真,则画一个u或|。问题是,我不知道怎么做。关于io:fwrite或io:format的文档没有什么帮助,我对其中的任何内容都不太了解。我也不确定我是否用正确的方法来做这件事。用一系列布尔值来实现这一点是否可行?我想使用数组,因为它们是可变的,其他的都不是。有人能提供一些帮助或建议如何做到这一点吗?谢谢。

我同意zxq9,我认为最后应该打印状态。在此之前,您必须设置负责游戏的进程,维护游戏的服务器,决定如何安排游戏。。。很好的一点是,您应该能够单独测试每个元素。这样做,您将看到哪个数据结构最适合您的程序

请注意,数组是不可变的。下面的顺序显示了它:

1> A = array:new().
{array,0,10,undefined,10}
2> B = array:set(0,a,A). % create a new array adding an element to A
{array,1,10,undefined,
       {a,undefined,undefined,undefined,undefined,undefined,
          undefined,undefined,undefined,undefined}}
3> B = array:set(0,b,B). % attempting to change the element 0 of B will fail
** exception error: no match of right hand side value 
                    {array,1,10,undefined,
                           {b,undefined,undefined,undefined,undefined,
                              undefined,undefined,undefined,undefined,
                              undefined}}
4> C = array:set(0,b,B). % but it is possible to modify the element and store the resulting array in a new variable
{array,1,10,undefined,
       {b,undefined,undefined,undefined,undefined,undefined,
          undefined,undefined,undefined,undefined}}
5>

首先尝试一些更简单的方法,然后如何使用不可变状态进行此操作将更有意义。提示:游戏的每一回合都是一个函数的一个入口,该函数可以。。。。什么将每个迭代看作是它自己的完全独立的时间片,状态的事情将更有意义。在此之前,试图写这篇文章并担心显示问题还为时过早。