Javaは簡単に箱を押すゲームを実現します。

5223 ワード

本論文の実例はJavaが簡単に箱を押すゲームの具体的なコードを共有しました。参考にしてください。具体的な内容は以下の通りです。
*簡単な箱押しゲームを作成し、10*8の二次元文字データを使ってゲーム画面を表し、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経典ミニゲームのまとめ
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。