首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >军火库总成棋盘游戏故障..。

军火库总成棋盘游戏故障..。
EN

Stack Overflow用户
提问于 2012-01-12 13:49:30
回答 1查看 541关注 0票数 1

我为我的架构类分配了一个任务,用于在MIPS程序集中实现一个31次的棋盘游戏,到目前为止,我已经做了很多工作,我一直使用两个数组来显示板,我使用了0来表示空字段和其他数字--例如13来显示当前放置在该字段中的检查器的数量,还有白色的棋盘(用正数表示)和用1-15的负数表示的红色检查器。但当我问我的教授时,他告诉我,他希望棋盘在每次移动后都能更新,应该是这样的:(请注意,在游戏开始时,所有的棋盘都放在棋盘的末尾,这是开始的区域)。

代码语言:javascript
复制
                             W1
                             W2
                             W3
                             W4
                             W5
                             W6
                             |
                            W15

                            R15
                            R14
                            R13
                            R12
                            R11
                            R10
                             |
                            R1

上面的棋盘应该在骰子滚动后更新,这意味着我必须使用某种数组来表示和移动这些数字和字母。但是,我发现在单个数组中实现动态in和字符确实令人困惑。有什么建议吗?谢谢论坛。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-13 17:50:40

您是正确的,将字符(R或W)和整数值存储在一个数组中是非常困难的。从技术上讲,您已经在数组中存储所有检查器堆栈的整个表示形式。如果您认为整数上的符号位是检查程序的颜色,那么您已经解决了这个问题。下面是一个例子:

代码语言:javascript
复制
-5 = R5
12 = W12
1  = W1
-9 = R9

所以你看到你已经在存储颜色了,但是你用的是符号位而不是字符。现在您所要做的就是确定数字是否有符号,并在数字的绝对值之前显示相应的字符。

代码语言:javascript
复制
for( i = 0 ; i < myArray.length ; i++ )
{
  if( myArray[i] != 0 )
  {
        if( myArray[i] > 0 ) print( 'W' );
    elseif( myArray[i] < 0 ) print( 'R' );

    print( abs( myArray[i] ) );
  }
  else print( '|' );    
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8836135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档