자바 지뢰 제거 게임 의 실현

(창작 배경: 오늘 오후 에 자바 에서 수업 을 듣 고 프로그램 을 열심히 쓰기 시 작 했 는데 그 후에 고질병 이 또 도 졌 습 니 다. 무의식적으로 '시작' - '프로그램' - '게임' - '지뢰 제거'이 숙련 된 클릭 으로 지뢰 제거 프로그램 이 내 앞 에 나 타 났 다. 최근 에 알고리즘 을 많이 연구 해서 그런 지 볼 수 없 는 모든 문 제 를 알고리즘 으로 한 번 씩 풀 었 다. 자연 지뢰 제거 라 는 전형 적 인 게임 도 예 외 는 아니다. 이 게임 이 잘 이 루어 질 것 이 라 고 생각 했다. 생각 이 떠 오 르 면 브레이크 를 밟 지 못 하고 바로 프로그램 을 쓰기 시작 했다.울 려 퍼 졌 다. 교실 을 나 가 는 모든 사람들 이 넋 을 잃 었 다. 생각 은 모두 그 실현 에 놓 여 있 었 다. 기숙사 로 돌아 가 공책 을 가지 고 자습 실 에 가 는 데 시간 이 걸 렸 고 결국 천둥 치 는 게임 을 성공 적 으로 이 루 었 다.) (본 블 로 그 는 개인 학습 경험 을 기록 하 더 라 도 벽돌 을 던 져 옥 을 이 끌 어 주 는 용도 로 황소 의 가르침 을 환영 합 니 다!) 다음은 오늘 (신 군제) 입 니 다.쓰 인 지뢰 제거 코드:
//         
//    :  “  ”  ,             1  

import java.util.Random;
public class SaoLei {
	public static void main(String args[]){
		Random r=new Random();				//     ,     “  ”   
		int n=15;							//   
		int[][] Arr=new int[n][n];
		
		for(int i=0;i<r.nextInt(1000);i++){ //    “  ”
			Arr[r.nextInt(n)][r.nextInt(n)]=9;	//          9      							
		}
//      ,  :  “  ”  ,             1  
		for(int i=0;i<n;i++){
			for(int j=0;j<Arr[i].length;j++){
				if(Arr[i][j]>8){
					if(j>0){				//      
						Arr[i][j-1]++;
					}
					if(j<Arr[i].length-1){	 //      
						Arr[i][j+1]++;
					}
					if(i>0){				//   
						Arr[i-1][j]++;
						if(j>0){
							Arr[i-1][j-1]++;
						}
						if(j<Arr[i].length-1){
							Arr[i-1][j+1]++;
						}
					}
					if(i<n-1){				//   
						Arr[i+1][j]++;
						if(j>0){
							Arr[i+1][j-1]++;
						}
						if(j<Arr[i].length-1){
							Arr[i+1][j+1]++;
						}
					}
				}
			}
		}
		for(int i=0;i<n;i++){
			for(int j=0;j<n;j++){
				if(Arr[i][j]>=9)
					System.out.print(" * ");
				else
					System.out.print(" "+Arr[i][j]+" " );
			}
			System.out.println( );
		}
	}
}
//
//    :
//0  0  0  0  0  0  1  *  2  2  *  2  *  *  1 
//1  1  1  1  1  2  2  3  *  2  2  3  4  4  3 
//1  *  1  1  *  2  *  3  2  1  1  *  2  *  * 
//1  1  1  1  1  3  4  *  3  1  3  2  3  2  2 
//1  1  1  0  0  2  *  *  4  *  2  *  1  0  0 
//1  *  1  0  0  2  *  *  4  3  4  2  1  0  0 
//1  1  1  1  1  2  2  2  2  *  *  1  0  1  1 
//1  1  1  1  *  2  1  1  1  2  3  2  2  2  * 
//2  *  1  1  1  2  *  1  0  0  1  *  2  *  2 
//*  2  2  1  2  3  3  3  1  1  1  1  2  1  1 
//1  1  2  *  3  *  *  3  *  2  0  0  1  1  1 
//0  1  3  *  4  3  3  4  *  4  1  0  1  *  2 
//1  2  *  2  2  *  2  3  *  *  2  0  1  3  * 
//*  5  3  2  1  2  3  *  4  *  3  1  1  4  * 
//*  *  *  1  0  1  *  2  2  2  *  1  1  *  * 
//

경험 치 총화: (
사람들 은 자신 이 겪 은 실 패 를 경험 이 라 고 부른다.
) 1. 자바 의 기본 값 을 0 으로 초기 화 할 수 있 습 니 다. C / C + + 처럼 각각 초기 화 할 필요 가 없습니다.2. 먼저 큰 틀 을 쓰 고 점차적으로 세분 화한 다.예 를 들 어 위의 4 개의 if 문장의 초기 형 태 를 쓴 다음 내부 에서 보완 한다.(디자인 분석 은 정말 중요 하 다!)

좋은 웹페이지 즐겨찾기