본문 바로가기
웹 프로그래밍 기초/자바기반의 웹&앱 응용SW 개발자

자바기반의 웹&앱 응용 SW개발자 양성과정 6일차 -15

by oncerun 2020. 2. 26.
반응형

바둑판 만들기.

menu를 만들어서 사용자의 입력에 따라 다른 바둑판을 출력해준다.

menu값을 switch구문으로 만드는것이 if else if보다 더 효율적.

x축 y축을 개념으로 삼아서 사용자가 원하는 지점을 연속적으로 (10 10) 입력받은 뒤

next로 읽어서 좌표에 바둑돌 출력

import java.util.Scanner;

public class Ex11omokProgram {

	public static void main(String[] args) {

		int height = 0;
		int width = 0;

		Scanner scan = new Scanner(System.in);

		System.out.println("어떤 바둑판 크기를 원하십니까?");
		System.out.println("1. (20x20)");
		System.out.println("2. (40x20)");
		System.out.println("3. (60x30)");
		System.out.print(">");

		String menu_ = scan.nextLine();
		int menu = Integer.parseInt(menu_);

		switch (menu) {
		case 2:
			height = 40;
			width = 20;
			break;
		case 3:
			height = 60;
			width = 30;
			break;
		case 1:
		default:
			height = 20;
			width = 20;
		}
		
		
		for (int y = 0; y <= height; y++) {
			for (int x = 0; x <= width; x++) {
				if (x == 0 && y == 0)// 왼쪽위모서리
					System.out.print("┌");
				else if (x == width && y == 0)// 오른쪽위모서리
					System.out.print("┐");
				else if (x == 0 && y == height)// 왼쪽아래모서리
					System.out.print("└");
				else if (x == width && y == height) // 오른쪽아래모서리
					System.out.print("┘");
				else if (x == 0)
					System.out.print("├");
				else if (x == width)
					System.out.print("┤");
				else if (y == 0)
					System.out.print("┬");
				else if (y == height)
					System.out.print("┴");
				else
					System.out.print("┼");
			}
			System.out.println();
		}
		
		
		System.out.println("바둑돌을 둘 위치좌표를 입력하세요");
		System.out.println("x좌표 y좌표");
		String locX_ = scan.next();
		int locX = Integer.parseInt(locX_);
		String locY_ = scan.next();
		int locY = Integer.parseInt(locY_);
		
		for (int y = 0; y <= height; y++) {
			for (int x = 0; x <= width; x++) {
				if (x == 0 && y == 0)// 왼쪽위모서리
					System.out.print("┌");
				else if(x == locX && y==locY)
					System.out.print("●");
				else if (x == width && y == 0)// 오른쪽위모서리
					System.out.print("┐");
				else if (x == 0 && y == height)// 왼쪽아래모서리
					System.out.print("└");
				else if (x == width && y == height) // 오른쪽아래모서리
					System.out.print("┘");
				else if (x == 0)
					System.out.print("├");
				else if (x == width)
					System.out.print("┤");
				else if (y == 0)
					System.out.print("┬");
				else if (y == height)
					System.out.print("┴");
				else
					System.out.print("┼");
			}
			System.out.println();
		}
	}
}

 

반응형

댓글