Programing_Java

JAVA#11 _ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ(Pokemon) ๋ณธ๋ฌธ

๐Ÿ’ป JAVA_

JAVA#11 _ ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ(Pokemon)

Joyfullyever 2025. 1. 6. 20:33

#1 ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋žจ

์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์ง€์ •ํ•œ ํ›„, ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ ํ•ญ๋ชฉ์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ๋‚ด์šฉ ์ถœ๋ ฅํ•˜๊ธฐ


public static void main(String[] args) {
		
Scanner sc = new Scanner(System.in);
Random r = new Random();
		
String [] poList = new String [3]; // ๋‚ด ๋„๊ฐ
int cnt = 0;
		
poList[0] = "๊ผฌ๋ถ€๊ธฐ"; // "ํ™๊ธธ๋™"
cnt++;
		
int [] poLvList = new int [3];
	poLvList[0] = 5; // "๊ผฌ๋ถ€๊ธฐ"๋Š” ๋ ˆ๋ฒจ 5๋กœ ์‹œ์ž‘
	poLvList[1] = 1;
	poLvList[2] = 1;
		
String [] pokemon = new String [5]; // ๋žœ๋คํ•œ ํฌ์ผ“๋ชฌ ๋“ฑ์žฅ
	pokemon[0] = "์•ผ๋ˆ";
	pokemon[1] = "๊ณ ๋ผํŒŒ๋•";
	pokemon[2] = "๋ฉ”ํƒ€๋ชฝ";
	pokemon[3] = "๋‘๋‘";
	pokemon[4] = "๋„ค์ดํ‹ฐ์˜ค";
		
String [] poName = new String [3]; // ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ์ €์žฅํ•  ๋ฐฐ์—ด
		
		
while(true) {
	System.out.println("===== ๋ฉ” ๋‰ด ====="); //๋ฉ”๋‰ด ์ถœ๋ ฅ
	System.out.println("1. ํฌ์ผ“๋ชฌ ์ „์ฒด ์ถœ๋ ฅ");
	System.out.println("2. ํฌ์ผ“๋ชฌ ์žก๊ธฐ");
	System.out.println("3. ํฌ์ผ“๋ชฌ ์ •๋ณด ์ถœ๋ ฅ");
	System.out.println("4. ํฌ์ผ“๋ชฌ ์‹œํ•ฉ");
	System.out.println("0. ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ");
	System.out.println("================");
	System.out.print("๋ฉ”๋‰ด ์ž…๋ ฅ >>> ");
	int action = sc.nextInt(); // ์‚ฌ์šฉํ•  ๋ชฉ๋ก ์„ ํƒ
			
			
	if(action==0) { // ๋ชฉ๋ก ์ค‘ 0๋ฒˆ ์„ ํƒ
		System.out.println("๊ฒŒ์ž„์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค..."); // ๊ฒŒ์ž„ ์ข…๋ฃŒ
		break;
	}
	else if(action==1) { // ๋ชฉ๋ก ์ค‘ 1๋ฒˆ ์„ ํƒ
	System.out.println("=== ๋‚ด ํฌ์ผ“๋ชฌ ๋ชฉ๋ก ==="); // ํฌ์ผ“๋ชฌ ๋ชฉ๋ก ์ถœ๋ ฅ
		for(int i = 0 ; i < cnt ; i++) {
			System.out.println((i+1) + ". " + poList[i]);
		}
	System.out.println("================");
	}
	else if(action==2) { // ๋ชฉ๋ก ์ค‘ 2๋ฒˆ ์„ ํƒ
		int randNum = r.nextInt(5); // 0~4 // ๋žœ๋ค์œผ๋กœ 1๋งˆ๋ฆฌ ํŠ€์–ด๋‚˜์˜ค๊ฒŒ!
		System.out.println("์•ผ์ƒ์˜ " + pokemon[randNum] + "์ด(๊ฐ€) ๋‚˜ํƒ€๋‚ฌ๋‹ค!");
				
		if(poList[0] != null && poList[1] != null && poList[2] != null) { //๋งŒ์•ฝ 3์นธ์ด ๋ชจ๋‘ ์ฐจ์žˆ๋‹ค๋ฉด
			System.out.println("๋„๊ฐ์ด ๊ฐ€๋“ ์ฐผ์Šต๋‹ˆ๋‹ค. ํ•œ๋งˆ๋ฆฌ๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ์ƒˆ๋กœ ํฌํšํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"); // ๋ฐฐ์—ด์ด ๊ฐ€๋“ ์ฐผ๋‹ค๊ณ  ์ถœ๋ ฅ
			String recapans = sc.next();
			if(recapans.equals("NO")){ // ๋„๊ฐ์ด ๊ฐ€๋“ ์ฐผ๋Š”๋ฐ ์•ˆ์žก์„ ๊ฒฝ์šฐ >> ํฌํš X
				System.out.println("ํฌํš์„ ํฌ๊ธฐํ•ฉ๋‹ˆ๋‹ค!");
				continue;
			}
			else {
				System.out.println("ํฌ๊ธฐํ•  ํฌ์ผ“๋ชฌ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”..."); // ๋„๊ฐ์ด ๊ฐ€๋“์ฐจ๋„ ์žก์„ ๊ฒฝ์šฐ
				int abandon = sc.nextInt(); // ํฌ๊ธฐํ•  ํฌ์ผ“๋ชฌ ์„ ํƒ
				poList[abandon-1] = null; //ํ•ด๋‹น ํฌ์ผ“๋ชฌ ์นธ ๋น„์šฐ๊ธฐ
				poName[abandon-1] = null;
				cnt--; // ์นด์šดํŠธ - 1
			}
		}	
		System.out.println("๋ชฌ์Šคํ„ฐ๋ณผ์„ ๋˜์งˆ๊นŒ? (YES, NO)"); // ์žก์„๊ฑด์ง€ 
		System.out.print(">> ");
		String ans = sc.next(); // ๋Œ€๋‹ต ์ž…๋ ฅ
				
			if(!ans.equals("YES")) { // ์—ฐ์‚ฐ์ž๋กœ๋Š” ๋ฌธ์ž์—ด ํƒ€์ž… ๊ณ„์‚ฐ X // YES๊ฐ€ ์•„๋‹Œ๊ฒฝ์šฐ ์ „๋ถ€ ๋„๋ง
				System.out.println("๋„๋ง์ณค์Šต๋‹ˆ๋‹ค...");
				continue;
			}
			System.out.println("!!!!!๋ชฌ์Šคํ„ฐ๋ณผ ๋˜์ง€๊ธฐ!!!!!");	
			int rNum = r.nextInt(100)+1; // 1~100 // ํ™•๋ฅ  ์„ค์ •			
			if(rNum <= 30) { // ์‹คํŒจ
				System.out.println("ใ… ใ… ... ์‹คํŒจํ–ˆ์Šต๋‹ˆ๋‹ค...");
				continue;
			}
			System.out.println("์‹ ๋‚œ๋‹ค!!!" + pokemon[randNum] +"์„(๋ฅผ) ์žก์•˜์Šต๋‹ˆ๋‹ค!!!"); // ์„ฑ๊ณต
			poList[cnt] = pokemon[randNum]; // ํฌํšํ•œ ํฌ์ผ“๋ชฌ์„ ๋„๊ฐ ์ˆœ์„œ์— ๋”ฐ๋ผ ์ €์žฅ
			poLvList[cnt++] = r.nextInt(4)+1; // 1~4 // ๋ ˆ๋ฒจ ๋žœ๋ค์œผ๋กœ ๋ถ€์—ฌ
			System.out.println(pokemon[randNum] + " ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ์ •ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?"); // ์ด๋ฆ„ ์„ค์ •
			String nameans = sc.next(); // ๋Œ€๋‹ต ์ž…๋ ฅ
				if(nameans.equals("YES")){ //๋งŒ์•ฝ YES ๋ผ๋ฉด
					System.out.println("ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ์ •ํ•ด์ฃผ์„ธ์š”!");
					poName[cnt-1] = sc.next(); 
					System.out.println(pokemon[randNum] + "์˜ ์ด๋ฆ„์€ " + poName[cnt-1] + " ์ž…๋‹ˆ๋‹ค!");
				}
				else {
					System.out.println("ํฌ์ผ“๋ชฌ์˜ ์ด๋ฆ„์„ ์ €์žฅํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค!");
				}
				continue;
			}
	else if(action==3) { // ๋ชฉ๋ก ์ค‘ 3๋ฒˆ ์„ ํƒ
		int num;
		while(true) {
			System.out.print("๋ฒˆํ˜ธ ์ž…๋ ฅ >>> "); //์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
			num = sc.nextInt();
				if(1<=num && num<= cnt) {
					break;
				}
				System.out.println("์—†๋Š” ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค!");
				}
			System.out.println(poList[num-1] + "์€(๋Š”) Lv." + poLvList[num-1] + "์ž…๋‹ˆ๋‹ค."); // ์ •๋ณด ์ถœ๋ ฅ
				if(poName[num-1]!=null) { // ๋งŒ์•ฝ ํ•ด๋‹น ์ž๋ฆฌ์˜ ํฌ์ผ“๋ชฌ์ด ์ด๋ฆ„์ด ์žˆ๋‹ค๋ฉด ์ถœ๋ ฅ
					System.out.println(poList[num-1] + "์˜ ์ด๋ฆ„์€ " + poName[num-1] + "์ž…๋‹ˆ๋‹ค.");
				}
		}	
	else if(action==4) { // ๋ชฉ๋ก ์ค‘ 4๋ฒˆ ์„ ํƒ
		while(true) {
			System.out.println("์‹œํ•ฉ์— ๋‚ด๋ณด๋‚ผ ํฌ์ผ“๋ชฌ์„ ์„ ํƒํ•ด์ฃผ์„ธ์š”!");
			int choice = sc.nextInt(); // ํฌ์ผ“๋ชฌ ์„ ํƒ
				if(0 >= choice || choice >=4) { //์œ ํšจ์„ฑ ๊ฒ€์‚ฌ
					System.out.println("๋‚ด๋ณด๋‚ผ ํฌ์ผ“๋ชฌ์„ ๋‹ค์‹œ ์„ ํƒํ•ด์ฃผ์„ธ์š”!");
					continue;
				}
			int winrate = r.nextInt(100)+1; // ์Šน๋ฅ  1~100
				if(winrate <= 50) { // 50 ์ดํ•˜์ผ ๊ฒฝ์šฐ ํŒจ๋ฐฐ
					System.out.println("ํŒจ๋ฐฐํ–ˆ์Šต๋‹ˆ๋‹ค. ใ… ใ… ");
					break;
				}
				else { // ๊ทธ ์™ธ ์Šน๋ฆฌ
					System.out.println("์Šน๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค!!!!!");
					System.out.println(poList[choice-1] + "์˜ ๋ ˆ๋ฒจ์ด 1 ์ƒ์Šนํ•ฉ๋‹ˆ๋‹ค!");
					poLvList[choice-1] += 1; // ํ•ด๋‹น ํฌ์ผ“๋ชฌ ๋ ˆ๋ฒจ + 1
					System.out.println(poList[choice-1] + "์˜ ๋ ˆ๋ฒจ์€ ํ˜„์žฌ " + poLvList[choice-1] + "์ž…๋‹ˆ๋‹ค!");
					break;
				}
				}
				}
				else {
					System.out.println("์œ ํšจํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋‰ด ๋ฒˆํ˜ธ ์ž…๋‹ˆ๋‹ค!");
				}
	}	
}