- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于某种奇怪的原因,当我尝试在游戏中移动我的角色时,交换“移动”的数组将不起作用,并且当我尝试打印游戏中前两个移动的角色的当前位置时,什么也没有显示。总的来说,它的表现很奇怪。有人可以向我解释一下我做错了什么或者至少我怎样才能做得更好吗?谢谢。
代码:
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Adventure {
private Scanner in_file;
private int x_size, y_size, px, py, dx, dy;
private char[][] level;
private boolean game;
public Adventure() {
x_size = y_size = 20;
level = new char[x_size][y_size];
px = py = 1;
dx = dy = 0;
game = true;
}
public static void main(String []args) {
Adventure adv = new Adventure();
adv.load_game();
adv.main_game();
System.out.println("ADVENTURE");
}
public void load_game() {
try {
in_file = new Scanner(new File("level.txt"));
} catch (FileNotFoundException e) {
System.err.println("ERROR: Level could not be loaded!");
System.exit(1);
}
for (int i = 0; i < level.length; i++ ) {
for (int j = 0; j < level[i].length; j++) {
if (in_file.hasNextInt()) {
int nextInt = in_file.nextInt();
if (nextInt == 0)
level[i][j] = '-';
else if (nextInt == 1)
level[i][j] = '#';
}
}
}
in_file.close();
}
public void new_game() {
}
public void main_game() {
Scanner key = new Scanner(System.in);
Adventure adv_move = new Adventure();
level[px][py] = 'Q';
while (game) {
for (int i = 0; i < level.length; i++) {
for (int j = 0; j < level[i].length; j++) {
System.out.print(level[i][j]);
}
System.out.println();
}
System.out.println();
System.out.print("Enter a letter choice to move ->");
String temp = key.nextLine();
if (temp.equals("w")) {
dx = -1;
dy = 0;
}
else if (temp.equals("a")) {
dy = -1;
dx = 0;
}
else if (temp.equals("s")) {
dx = 1;
dy = 0;
}
else if (temp.equals("d")) {
dy = 1;
dx = 0;
}
else
dx = dy = 0;
System.out.println();
adv_move.move_check();
}
}
public void move_check() { //DYSFUNCTIONAL ARRAY!!!!
System.out.println(level[px][py]);
// System.out.println(level[px+dx][py+dy]);
if (level[px+dx][py+dy] != '#') {
level[px][py] = '-';
px += dx;
py += dy;
level[px][py] = 'Q';
}
else
System.out.print("Move invalid.\n");
}
public void save_game() {
}
}
最佳答案
您遇到的问题是,在 main_game()
方法中,您正在创建一个新的 Adventure
对象并调用 move_check()
上面没有任何级别数据,您将其加载到 main()
中的 adv
变量中。因此它总是引用一个空的字符数组并给你意想不到的结果。
删除新对象声明并仅调用 move_check()
本身应该会让您回到正轨。
关于Java数组: 2D array dysfunction in terminal ASCII terminal game during attempt to swap elements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11534522/
尝试从对话框中的 EditText 获取 Edit Text 的值,但一次又一次地出现此错误 Attempt to invoke virtual method 'android.text.Editab
最近尝试了一下最新的Laravel(6.4)。正在尝试实现基于 API 的简单登录功能。没有使用 Passport 或 Tymon 的 JWT 等任何软件包。我使用了非常基本的身份验证(只需在用户表中
最近尝试了一下最新的Laravel(6.4)。正在尝试实现基于 API 的简单登录功能。没有使用 Passport 或 Tymon 的 JWT 等任何软件包。我使用了非常基本的身份验证(只需在用户表中
我在我的 PC 上运行 cifar10 网络,在完成训练和运行评估脚本后出现以下错误: 2016-06-01 14:37:14.238317: precision @ 1 = 0.000 Traceb
我正在使用 ng2-toastr 并收到以下错误 https://www.npmjs.com/package/ng2-toastr Attempt to use a destroyed view: d
env file:环境文件: APP_ENV=localAPP_DEBUG=trueAPP_KEY= ...........DB_HOST=srv3.linuxisrael.co.ilDB_D
当我登录管理员时,我正在尝试对 api 进行多重保护身份验证,我得到了跟随错误 BadMethodCallException Method Illuminate\Auth\Req uestGuard:
我开始在 Lua 中进行编程,并在运行脚本时出现此错误: attempt to index upvalue 'base' (a function value) 这可能是因为我还没有掌握一些非常基本的东
我试图在 Oozie 工作流中聚合一些数据。但是聚合步骤失败。 我在日志中发现了两个兴趣点:第一个是一个似乎重复出现的错误(?): 容器完成后,它会被杀死,但会以非零退出代码 143 退出。 它完成了
我的问题是当我调用函数时: [self performSegueWithIdentifier: @"FinalPlayPT" sender: self]; 它有效,但我有这个警告: Warning:
项目背景 项目整体采用的是springboot+mybatis 方式。有一次做数据查询的时候。console突然报:DataIntegrityViolationException: Error att
我在使用 Jobs 发送电子邮件的 Ubuntu Server 上设置了 Laravel 项目。 下面是我在 中的 laravel-worker 文件/etc/supervisor/laravel-w
尝试运行我的 React 应用程序时收到以下错误: ./src/components/App/App.js Attempted import error: 'combineReducers' is n
我的编码功能是这样的: fn encode_login(packet: &str) { let bytes = packet.as_bytes(); for (i, &element)
如果一个版本号大于另一个版本号,我的 msbuild 需要采取有条件的操作。我尝试像下面这样编写代码,但发现出现错误(也在下面)。我哪里出错了?
我是 Lua 的新手,并试图让事情在我的脑海中进行排序。我试过这个代码: function newCarousel(images) local slideToImage = function(
我正在使用 entrust用于在 Laravel 5.3 中管理基于角色的权限,并自然地为不同的用户类型使用手动/自定义登录。 Auth::attempt()可以吗?处理外表关系?基本上,我想做这样的
我谷歌了一遍又一遍,但没有对我有用的信息。 情况是这样的:1.产品有 active 。2.我通过测试账号来测试我的apk。3.我已经上传了一整天的apk。 但是当我想为应用程序中的项目付款时,goog
我正在尝试使用 groovy 解析日期字符串,但遇到了问题。这是字符串的样子和不起作用的逻辑。 def dateString = "2017-01-01T12:00:00Z" def date = D
我正在使用 ParseFacebookUtils 从 Facebook 登录我的应用。 LoginActivity 的 onCreate: protected void onCreate(Bundle
我是一名优秀的程序员,十分优秀!