【问题标题】:Processing: How can I make a game board with an array?处理:如何制作带有数组的游戏板?
【发布时间】:2017-10-20 21:36:02
【问题描述】:

我需要制作一个游戏板 - 使用数组 - 用于在 Processing 中重制 Bomberman 游戏。

这意味着游戏板/数组(相当大 [9x9] 并且有 3 个值 [a,b,c])必须能够:

  • 定义相应字段的颜色/精灵
  • 设置角色可以行走的范围
  • 每个值/字段都有唯一的属性(一个值代表 玩家可以移动的开放空间,另一个是固体 块,当旁边的炸弹被炸毁时,另一个会破裂,并且 转换为开放字段类型)

我几乎是一个编程菜鸟,我几乎不知道如何使所有这些工作...... 我已经设置了数组,看起来像这样:

int [][] board =  { 
{b, b, b, b, b, b, b, b, b},  
{b, a, b, a, b, a, b, c, b}, 
{b, c, c, a, a, a, a, a, b},
{b, c, a, a, c, a, a, a, b}, 
{b, c, c, b, a, b, c, a, b}, 
{b, a, c, a, a, a, a, a, b}, 
{b, b, a, b, c, b, b, c, b}, 
{b, a, a, a, c, a, a, c, b}, 
{b, b, b, b, b, b, b, b, b}  };

我已经设法把它画成一个单色棋盘。 现在我只需要弄清楚如何为每个值赋予相应块类型的属性。

提前感谢您的帮助:)

【问题讨论】:

    标签: arrays 2d processing sprite 2d-games


    【解决方案1】:

    Stack Overflow 并不是针对一般的“我该怎么做”类型的问题而设计的。这是针对特定的“我尝试了 X,预期 Y,但得到了 Z”类型的问题。但我会尽量提供一般意义上的帮助:

    您需要break your problem down into smaller pieces,然后一次一个地接近这些部分。

    例如,我会从一个简单的程序开始,它只绘制一个正方形网格。然后从那里开始往上走:你能把正方形的数量变成你在草图顶部定义的一个变量(或两个变量)吗?现在让它每个方块都是不同的颜色。现在让每个方块都从数组中读取。

    按照自己的方式逐步进行,如果遇到困难,请在新问题中发布MCVE,我们将从那里开始。祝你好运。

    【讨论】:

    • 这就是我所做的,我有一个黑白网格,其中包含用于显示行和列的变量,但我现在不知道如何着色。
    • @Unarmed 你试过什么?您是否尝试过使用if 语句来决定每个方块应该是哪种颜色?
    • 是的,但我没有做到。我在this 中询问了那个确切的问题。
    【解决方案2】:

    按照 Kevin Workman 的说法,下面是您可以用于正方形网格的代码:

    void setup(){
      size(800, 800);
      background(255, 204, 5);
      fill(158, 10, 10);
      for(int i = width/8; i <= width; i += width/4){
         for(int v = height/8; v <= height; v += height/4){
            rect(i, v - height/8, width/8, height/8);
            rect(i - width/8, v, width/8, height/8);
         }
      }
    }
    

    它不一定是一个数组,但 for 循环可以完成这项工作。

    【讨论】:

    • 为什么您需要在for 循环内对rect() 进行如此多的调用?
    • 等一下,我想我可以解决这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 2019-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多