A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

高翔49期

初级黑马

  • 黑马币:42

  • 帖子:22

  • 精华:0

import java.util.Scanner;
class TuiXiangZi {
        public static void main(String[] args) {
                /*
                // 推箱子
                1,首先地图为10乘10的矩形,故定义  二维数组,
                2,需要输入想那个方向移动,故输入字符串,切连续输入移动位置,到达指定位置后就结束循环,游戏结束
                3,移动后打印地图
                */
               
                int[][] arr = new int [10][10];
                int x = 0;
                int y = 0;
                Scanner sc = new Scanner(System.in);
                while (true) {
                        System.out.println("请移动wasd");
                        String a = sc.next();
                        if (a.equals("a")) {
                                y--;
                        }else if (a.equals("d")) {
                                y++;
                        }else if (a.equals("w")) {
                                x--;
                        }else if(a.equals("s")) {
                                x++;
                        }else {
                                System.out.println("你语文是体育老师教的吧,你不适合这游戏");
                                return;
                        }
                        if (x < 0|| y <0 || x > 9|| y > 9) {
                                System.out.println("出界");
                                return;
                        }
                        if (x == 9 && y == 9) {
                                System.out.println("你赢了,游戏结束");
                                return;
                        }
                        arr = new int[10][10];
                        arr[x][y] = 1;
                        arr[9][9] = 2;
                        print(arr);
               
                }
        }

                public static void print(int[][] arr) {
                        for (int x = 0;x < arr.length ;x++ ) {
                                for (int y = 0;y < arr[x].length ;y++ ) {
                                        if (arr[x][y] == 0) {
                                                System.out.print("口");
                                        }else if (arr[x][y]== 1) {
                                                System.out.print("人");
                                        }else {
                                                System.out.print("*");
                                        }
                                }
                                System.out.println();
                        }
                }
       
}

3 个回复

倒序浏览
}else {
             System.out.print("*");
这条代码的执行条件是什么
回复 使用道具 举报
迅雷 发表于 2016-6-29 23:59
}else {
             System.out.print("*");
这条代码的执行条件是什么

执行条件是arr[9][9] = 2;  因为本代码中数组只有三种情况,  0,1,2,所以这个*代表的是终点
回复 使用道具 举报
之前写过c++的贪吃蛇,现在转java,来学习一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马