자바,단순 푸 시 게임 실현

본 논문 의 사례 는 자바 가 간단 한 푸 시 박스 게임 을 실현 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
*간단 한 푸 시 박스 게임 을 만 들 고 10*8 의 2 차원 문자 데 이 터 를 사용 하여 게임 화면 을 표시 하 며 H 는 벽 을 표시 합 니 다.
&유저 캐릭터 표시:o 는 상 자 를 표시 하고 목적 지 를 표시 합 니 다.유 저 는 a,d,w.s 문 자 를 입력 하여 캐릭터 를 제어 할 수 있 습 니 다.
이동,상자 가 목적지 로 밀 렸 을 때 게임 이 끝 났 음 을 표시 합 니 다.실행 결 과 는 그림 과 같 습 니 다.

package test;

import java.util.Random;
import java.util.Scanner;

public class test3 {
 public static void main(String[] args) {
 String list[][]=start();//      
 
 Random ran=new Random();
 int x=ran.nextInt(8)+1;//       x 
 int y=ran.nextInt(8)+1;//       y 

 list[x][y]="&";//     
 list[2][2]="O";//     
 list[4][4]="*";//     
 
 for (int i = 0; i < list.length; i++) {//    
 for (int j = 0; j < list[i].length; j++) {
 System.out.print(list[i][j]);
 }
 System.out.println();
 }
 
 while (true){ //         ,     
 System.out.print("  :");
 Scanner sc=new Scanner(System.in);
 String key=sc.next();//  
 switch (key) {
 case "s"://  
 x=works(list,x,y);
 break;
 case "w"://  
 x=workw(list,x,y);
 break;
 case "a"://  
 y=worka(list,x,y);
 break; 
 case "d"://  
 y=workd(list,x,y);
 break;
 default: //    
 break;
 }
 for (int i = 0; i < list.length; i++) {
 for (int j = 0; j < list[i].length; j++) {
 System.out.print(list[i][j]);
 }
 System.out.println();
 }
 if(x<0 || y<0){
 System.out.println("  ,    !");
 break;
 }
 }
 }
 public static int works(String[][] list,int x,int y){//    
 if(list[x+1][y]==" "){
 list[x+1][y]=list[x][y];
 list[x][y]=" ";
 x=x+1;
 }
 else if(list[x+1][y]=="O"){
 if(list[x+2][y]=="*"){
 list[x+2][y]=list[x+1][y];
 list[x+1][y]=list[x][y];
 list[x][y]=" ";
 x=-1;
 }
 else if(list[x+2][y]==" "){
 list[x+2][y]=list[x+1][y];
 list[x+1][y]=list[x][y];
 list[x][y]=" ";
 x=x+1;
 }
 }
 return x;
 }
 public static int worka(String[][] list,int x,int y){//    
 if(list[x][y-1]==" "){ //    ,  
 list[x][y-1]=list[x][y];
 list[x][y]=" ";
 y=y-1;
 }
 else if(list[x][y-1]=="O"){ //       ,y=-1    
 if(list[x][y-2]=="*"){
 list[x][y-2]=list[x][y-1];
 list[x][y-1]=list[x][y];
 list[x][y]=" ";
 y=-1;
 }
 else if(list[x][y-2]==" "){//      ,    
 list[x][y-2]=list[x][y-1];
 list[x][y-1]=list[x][y];
 list[x][y]=" ";
 y=y-1;
 }
 }
 return y;
 }
 public static int workw(String[][] list,int x,int y){//    
 if(list[x-1][y]==" "){
 list[x-1][y]=list[x][y];
 list[x][y]=" ";
 x=x-1;
 }
 else if(list[x-1][y]=="O"){
 if(list[x-2][y]=="*"){
 list[x-2][y]=list[x-1][y];
 list[x-1][y]=list[x][y];
 list[x][y]=" ";
 x=-1;
 }
 else if(list[x-2][y]==" "){
 list[x-2][y]=list[x-1][y];
 list[x-1][y]=list[x][y];
 list[x][y]=" ";
 x=x-1;
 }
 }
 return x;
 }
 public static int workd(String[][] list,int x,int y){//    
 if(list[x][y+1]==" "){
 list[x][y+1]=list[x][y];
 list[x][y]=" ";
 y=y+1;
 }
 else if(list[x][y+1]=="O"){
 if(list[x][y+2]=="*"){
 list[x][y+2]=list[x][y+1];
 list[x][y+1]=list[x][y];
 list[x][y]=" ";
 y=-1;
 }
 else if(list[x][y+2]==" "){
 list[x][y+2]=list[x][y+1];
 list[x][y+1]=list[x][y];
 list[x][y]=" ";
 y=y+1;
 }
 }
 return y;
 }
 public static String[][] start(){//      ,     “H”
 String list[][]=new String[8][10];
 for (int i = 0; i < list.length; i++) {
 for (int j = 0; j < list[i].length; j++) {
 if(i==0)
 list[i][j]="H";
 else if(i==list.length-1)
 list[i][j]="H";
 else if(j==0)
 list[i][j]="H";
 else if(j==list[i].length-1)
 list[i][j]="H";
 else
 list[i][j]=" ";
 }
 }
 return list;
 }
}
더 많은 재 미 있 는 클래식 게임 을 통 해 주 제 를 실현 하고 여러분 에 게 공유 합 니 다.
C++클래식 게임 모음
python 클래식 게임 모음
python 러시아 블록 게임 집합
JavaScript 클래식 게임 을 계속 합 니 다.
javascript 고전 게임 모음
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기