【问题标题】:Level select in programming assignment编程作业中的级别选择
【发布时间】:2015-05-27 14:24:26
【问题描述】:

这里的第一篇文章,可能不会是我的最后一篇。

我有一个主要任务到期,我们得到了一个任务和代码来完成它。任务基本上是重新创建 pacman。我坚持下去,因为当所有标记都被删除时,它意味着自动加载一个新的“地图/关卡”。 它是用 Java 编写的,如果有帮助,我们将使用 Greenfoot 作为应用程序/编译器。

public final char[][] LEVEL_1 = {
        {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
        {'#','.','.','.','.','.','.','.','.','#','.','.','.','.','.','.','.','.','#'},
        {'#','$','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','$','#'},
        {'#','.','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','.','#'},
        {'#','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#'},
        {'#','.','#','#','.','#','.','#','#','#','#','#','.','#','.','#','#','.','#'},
        {'#','.','.','.','.','#','.','.','.','#','.','.','.','#','.','.','.','.','#'},
        {'#','#','#','#','.','#','#','#',' ','#',' ','#','#','#','.','#','#','#','#'},
        {' ',' ',' ','#','.','#',' ',' ',' ',' ',' ',' ',' ','#','.','#',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','|','#','#',' ','#','.','#','#','#','#'},
        {' ',' ',' ',' ','.',' ',' ','#','%','?','%','#',' ',' ','.',' ',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','#','#','#',' ','#','.','#','#','#','#'},
        {' ',' ',' ','#','.','#',' ',' ',' ',' ',' ',' ',' ','#','.','#',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','#','#','#',' ','#','.','#','#','#','#'},
        {'#','.','.','.','.','.','.','.','.','#','.','.','.','.','.','.','.','.','#'},
        {'#','.','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','.','#'},
        {'#','$','.','#','.','.','.','.','.','@','.','.','.','.','.','#','.','$','#'},
        {'#','#','.','#','.','#','.','#','#','#','#','#','.','#','.','#','.','#','#'},
        {'#','.','.','.','.','#','.','.','.','#','.','.','.','#','.','.','.','.','#'},
        {'#','.','#','#','#','#','#','#','.','#','.','#','#','#','#','#','#','.','#'},
        {'#','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#'},
        {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'}
    },

        LEVEL_2 = {
        {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'},
        {'#','#','#','#','#','#','.','.','.','#','.','.','.','.','.','.','.','.','#'},
        {'#','$','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','$','#'},
        {'#','.','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','.','#'},
        {'#','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#'},
        {'#','.','#','#','.','#','.','#','#','#','#','#','.','#','.','#','#','.','#'},
        {'#','.','.','.','.','#','.','.','.','#','.','.','.','#','.','.','.','.','#'},
        {'#','#','#','#','.','#','#','#',' ','#',' ','#','#','#','.','#','#','#','#'},
        {' ',' ',' ','#','.','#',' ',' ',' ',' ',' ',' ',' ','#','.','#',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','|','#','#',' ','#','.','#','#','#','#'},
        {' ',' ',' ',' ','.',' ',' ','#','%','?','%','#',' ',' ','.',' ',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','#','#','#',' ','#','.','#','#','#','#'},
        {' ',' ',' ','#','.','#',' ',' ',' ',' ',' ',' ',' ','#','.','#',' ',' ',' '},
        {'#','#','#','#','.','#',' ','#','#','#','#','#',' ','#','.','#','#','#','#'},
        {'#','.','.','.','.','.','.','.','.','#','.','.','.','.','.','.','.','.','#'},
        {'#','.','#','#','.','#','#','#','.','#','.','#','#','#','.','#','#','.','#'},
        {'#','$','.','#','.','.','.','.','.','@','.','.','.','.','.','#','.','$','#'},
        {'#','#','.','#','.','#','.','#','#','#','#','#','.','#','.','#','.','#','#'},
        {'#','.','.','.','.','#','.','.','.','#','.','.','.','#','.','.','.','.','#'},
        {'#','.','#','#','#','#','#','#','.','#','.','#','#','#','#','#','#','.','#'},
        {'#','.','.','.','.','.','.','.','.','.','.','.','.','.','.','.','#','#','#'},
        {'#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#','#'}
    };

这就是关卡的设计方式(LEVEL_2 并没有像我只是想测试并在投入精力之前完成切换那样改变),据我所知它是一个二维字符数组。

有一个预先编写的方法advanceToLevel(char[][]) 需要输入数组的名称,在这种情况下,当我触发地图更改时,我希望选择 LEVEL_2,但我不确定如何让它选择 LEVEL_2或我选择创建的任何其他内容。

我尝试的任何东西都无法将字符串转换为 char[][]。

任何帮助将不胜感激。

【问题讨论】:

  • 为什么级别有字符串名称?为什么不只是12 等...?整数很容易用作数组键...
  • SO 不是家用工作机。
  • 这只是他们使用的,我不知道如何在方法调用中选择它们。我没有将它用于家庭作业,这是一个正确的问题。我想知道如何在方法调用中选择另一个数组。

标签: java arrays char greenfoot


【解决方案1】:

这个错误让你听起来像是在写

advanceToLevel("LEVEL_2")

这不是对变量 LEVEL_2 的引用,而是一个用内容“LEVEL_2”填充的字符串。

您似乎对 Java 语法和 OOP 原则的一些基础知识感到困惑;一个好的开始是这个变量范围的复习 - https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html

我会查看该页面以及 java 教程中看起来令人困惑的任何其他页面。如果你不掌握基础知识,就很难去做有趣的事情,比如给 Pacman 编程。

【讨论】:

  • 我知道我在那里做错了,但我不确定如何让它从一个级别到另一个级别。 java中有没有一种方法可以扫描一个类型的不同变量?然后根据我给它的数字从中选择一个?
  • 从技术上讲,您可以通过反射以编程方式做到这一点,但对您的问题使用反射将是一个非常糟糕的主意。
  • 是的,对于我需要的东西来说可能有点先进。总有一些东西要调查。将继续尝试,如果您对我如何拥有一个我很乐意听到的选择器有任何其他建议,除了这个之外,一切都完成了。
  • 如果您收到的代码尚未订购关卡,那么没有什么能阻止您使用自己的代码进行订购。
猜你喜欢
  • 1970-01-01
  • 2020-08-01
  • 1970-01-01
  • 2012-09-12
  • 1970-01-01
  • 1970-01-01
  • 2011-01-01
  • 2011-08-03
  • 2014-11-11
相关资源
最近更新 更多