有没有一种方法可以使选择特定变量的效率更高?

前锋128

因此,我正在编写一个程序,其中将9种不同的迷宫存储在2d数组中,并全部填充了硬编码值。当玩家选择迷宫时,我想将所选迷宫中的硬编码值复制到活动迷宫的2d数组中。当我写出它时,我以最直接的方式做到了,如下所示。然后我想让它看起来更好,使它迷宫……...肿。开关盒不会减少行数,因此我想采取某种方法将int mazeSelection变量立即放入所选迷宫的变量名中。但是似乎您不能在运行时更改变量名,也不能使用字符串变量来表示另一个变量的名称。例如,string mazenumber = "maze" + tostring(mazeSelection);那么做mazenumber[11][11]不起作用,但这就是我想要做的基本想法。

因此,结果是,有没有办法使此代码更有效?

    if(mazeSelection == 1)
        maze[11][11] = maze1[11][11];
    if(mazeSelection == 2)
        maze[11][11] = maze2[11][11];
    if(mazeSelection == 3)
        maze[11][11] = maze3[11][11];
    if(mazeSelection == 4)
        maze[11][11] = maze4[11][11];
    if(mazeSelection == 5)
        maze[11][11] = maze5[11][11];
    if(mazeSelection == 6)
        maze[11][11] = maze6[11][11];
    if(mazeSelection == 7)
        maze[11][11] = maze7[11][11];
    if(mazeSelection == 8)
        maze[11][11] = maze8[11][11];
    if(mazeSelection == 9)
        maze[11][11] = maze9[11][11];
约翰

所以您的问题缺少详细信息,但是假设您有这个问题

int maze[11][11], maze1[11][11]; // etc

那么首先要说的是

maze[11][11] = maze1[11][11];

不会复制您的迷宫。这是一个非常常见的初学者误解,您可以通过这种方式引用整个数组,但maze1[11][11]仅引用坐标(11,11)处的一个迷宫元素而不是整个迷宫。更糟糕的是,由于数组的大小是11 x 11,因此该元素实际上并不存在,因此代码只是一个错误。没有(令人惊讶的)没有简单的方法可以在C ++中复制数组。

最简单的建议(由于@molbdnilo)是将迷宫放入结构中。

struct Maze
{
    int tiles[11][11];
};

Maze maze, maze1; // etc

现在可以以通常的方式复制结构,因此

maze = maze1;

是合法代码,并且确实复制了迷宫。

然后,您可以继续做一些迷宫,并编写以下简单代码

Maze selected_maze, all_mazes[10];

selected_maze = all_mazes[mazeSelection];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以使特定脚本的SIGSTOP无效?

来自分类Dev

有没有一种方法可以使Bash脚本输入特定的击键?

来自分类Dev

在Bokeh中,有没有一种方法可以使选择字形具有多种颜色?

来自分类Dev

有没有一种方法可以使用SQLite中的现有python变量检查记录中的特定字段

来自分类Dev

有没有一种方法可以使用$('...')。load('url selector')选择文本节点?

来自分类Dev

有没有一种方法可以使用自定义分隔符进行选择

来自分类Dev

有没有一种方法可以使用set / p将变量设置为转义字符?

来自分类Dev

有没有一种方法可以使用变量而不需要定义它(在R中)?

来自分类Dev

有没有一种方法可以使Laravel Mail对象的主体存储在变量中?

来自分类Dev

有没有一种方法可以使用变量而不在“ gawk”中使用“ echo”?

来自分类Dev

有没有一种方法可以使用表变量作为联合更新的源?

来自分类Dev

有没有一种方法可以使用Proc数据集更改变量的长度?

来自分类Dev

Gson:有没有一种方法可以使用GSON解析特定的内部JSON列表?

来自分类Dev

有没有一种方法可以使用Java PrintWriter写入特定行?

来自分类Dev

有没有一种方法可以使用libnfc编写Mifare Classic的特定扇区?

来自分类Dev

有没有一种方法可以使用python在应用程序中执行特定操作?

来自分类Dev

有没有一种方法可以设置断点,以使程序在调用特定功能的指令时停止?

来自分类Dev

有没有一种方法可以为特定列选择特定数量的行?

来自分类Dev

有没有一种方法可以使用Sass缩短此CSS?

来自分类Dev

有没有一种方法可以使代码分析忽略“ InternalsVisibleTo”?

来自分类Dev

有没有一种方法可以使TextView使用Spinner样式?

来自分类Dev

有没有一种方法可以使用JavaScript发送CoAP命令?

来自分类常见问题

有没有一种方法可以使reCaptcha响应div

来自分类Dev

有没有一种方法可以使SQL NOT IN查询更快?

来自分类Dev

有没有一种方法可以使用ArrayAdapter更新多个TextView?

来自分类Dev

有没有一种方法可以使用Moment JS验证时间?

来自分类Dev

有没有一种方法可以使jQuery的.on()函数与promises配合使用?

来自分类Dev

有没有一种方法可以使用IPython隐藏显示的对象?

来自分类Dev

(批处理)有没有一种方法可以使可点击的按钮?

Related 相关文章

  1. 1

    有没有一种方法可以使特定脚本的SIGSTOP无效?

  2. 2

    有没有一种方法可以使Bash脚本输入特定的击键?

  3. 3

    在Bokeh中,有没有一种方法可以使选择字形具有多种颜色?

  4. 4

    有没有一种方法可以使用SQLite中的现有python变量检查记录中的特定字段

  5. 5

    有没有一种方法可以使用$('...')。load('url selector')选择文本节点?

  6. 6

    有没有一种方法可以使用自定义分隔符进行选择

  7. 7

    有没有一种方法可以使用set / p将变量设置为转义字符?

  8. 8

    有没有一种方法可以使用变量而不需要定义它(在R中)?

  9. 9

    有没有一种方法可以使Laravel Mail对象的主体存储在变量中?

  10. 10

    有没有一种方法可以使用变量而不在“ gawk”中使用“ echo”?

  11. 11

    有没有一种方法可以使用表变量作为联合更新的源?

  12. 12

    有没有一种方法可以使用Proc数据集更改变量的长度?

  13. 13

    Gson:有没有一种方法可以使用GSON解析特定的内部JSON列表?

  14. 14

    有没有一种方法可以使用Java PrintWriter写入特定行?

  15. 15

    有没有一种方法可以使用libnfc编写Mifare Classic的特定扇区?

  16. 16

    有没有一种方法可以使用python在应用程序中执行特定操作?

  17. 17

    有没有一种方法可以设置断点,以使程序在调用特定功能的指令时停止?

  18. 18

    有没有一种方法可以为特定列选择特定数量的行?

  19. 19

    有没有一种方法可以使用Sass缩短此CSS?

  20. 20

    有没有一种方法可以使代码分析忽略“ InternalsVisibleTo”?

  21. 21

    有没有一种方法可以使TextView使用Spinner样式?

  22. 22

    有没有一种方法可以使用JavaScript发送CoAP命令?

  23. 23

    有没有一种方法可以使reCaptcha响应div

  24. 24

    有没有一种方法可以使SQL NOT IN查询更快?

  25. 25

    有没有一种方法可以使用ArrayAdapter更新多个TextView?

  26. 26

    有没有一种方法可以使用Moment JS验证时间?

  27. 27

    有没有一种方法可以使jQuery的.on()函数与promises配合使用?

  28. 28

    有没有一种方法可以使用IPython隐藏显示的对象?

  29. 29

    (批处理)有没有一种方法可以使可点击的按钮?

热门标签

归档