|
(실행시 콘솔 화면 스크린샷)
import java.util.Random;
import java.util.Scanner;
public class DiceGame연습01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //입력객체 생성
Random random = new Random(); //랜덤(무작위로 숫자를 할당)객체생성
while(true) { //무한루프로 볼 수 있겠군.
System.out.println("게임시작:1, 게임종료:-1을 입력하세요 ▶");
int userInput = Integer.parseInt(scanner.nextLine());//넣는 변수 while안에서 선언!
//1, -1이외의 숫자가 입력되면 오류메세지 출력
if(userInput != 1 && userInput != 2) {
System.out.println("숫자를 잘못 입력하셨습니다!");
continue;
} //if
//-1이 입력되면 게임을 종료(while문을 탈출)
if(userInput == -1) {
System.out.println("게임을 종료합니다.");
break;
}//if
//게임시작 : 사용자의 숫자를 무작위로 할당 else 없어도 출력...
/*
* scanner.nextLine();
* int computerPartner = random.nextInt(22) + 1;
*
* if(computerPartner == 1) {
* system.out.println("오광운님이 대결상대가 되었습니다.")
* }
*
* if(computerPartner == 2) {
* system.out.println("윤광범님이 대결상대가 되었습니다.")
* }
* */
System.out.println("주사위 게임을 시작합니다. \n \n" + "엔터키를 누르면 한울 교육생 중 랜덤으로 대결합니다.\n \n");
scanner.nextLine();
int computerPartner = random.nextInt(21) + 1;
if(computerPartner == 1) {
System.out.println("대결 상대는 바로바로... 오광운 학생입니다."+ "\n");
}
if(computerPartner == 2) {
System.out.println("대결 상대는 바로바로... 문경선 학생입니다."+ "\n");
}
if(computerPartner == 3) {
System.out.println("대결 상대는 바로바로... 김세라 학생입니다."+ "\n");
}
if(computerPartner == 4) {
System.out.println("대결 상대는 바로바로... 김정호 선생님입니다."+ "\n");
}
if(computerPartner == 5) {
System.out.println("대결 상대는 바로바로... 김종건 학생입니다."+ "\n");
}
if(computerPartner == 6) {
System.out.println("대결 상대는 바로바로... 동훈 학생입니다."+ "\n");
}
if(computerPartner == 7) {
System.out.println("대결 상대는 바로바로... 박종훈 학생입니다."+ "\n");
}
if(computerPartner == 8) {
System.out.println("대결 상대는 바로바로... 송지훈 선생님입니다."+ "\n");
}
if(computerPartner == 9) {
System.out.println("대결 상대는 바로바로... 시나브로 학생입니다."+ "\n");
}
if(computerPartner == 10) {
System.out.println("대결 상대는 바로바로... 김소영 학생입니다."+ "\n");
}
if(computerPartner == 11) {
System.out.println("대결 상대는 바로바로... 오진경 선생님입니다."+ "\n");
}
if(computerPartner == 12) {
System.out.println("대결 상대는 바로바로... 윤광범 학생입니다."+ "\n");
}
if(computerPartner == 13) {
System.out.println("대결 상대는 바로바로... 이봉선 학생입니다."+ "\n");
}
if(computerPartner == 14) {
System.out.println("대결 상대는 바로바로... 이창호 학생입니다."+ "\n");
}
if(computerPartner == 15) {
System.out.println("대결 상대는 바로바로... 이호형 학생입니다."+ "\n");
}
if(computerPartner == 16) {
System.out.println("대결 상대는 바로바로... 정상용 학생입니다."+ "\n");
}
if(computerPartner == 17) {
System.out.println("대결 상대는 바로바로... 정준태 학생입니다."+ "\n");
}
if(computerPartner == 18) {
System.out.println("대결 상대는 바로바로... 진동균 학생입니다."+ "\n");
}
if(computerPartner == 19) {
System.out.println("대결 상대는 바로바로... 철욱 학생입니다.\n");
}
if(computerPartner == 20) {
System.out.println("대결 상대는 바로바로... 최민혁 학생입니다.\n");
}
if(computerPartner == 21) {
System.out.println("대결 상대는 바로바로... 태원 학생입니다. \n");
}
System.out.println("Enter key를 입력하세요 ▶" + "\n");
scanner.nextLine(); //블럭킹 메소드 : 사용자로부터 입력을 대기
System.out.println("주사위를 던질 준비가 되셨다면 엔터키를 힘차게 눌러주세요:) \n\n\n");
scanner.nextLine(); //블럭킹 메소드 : 사용자로부터 입력을 대기
System.out.println("당신은 한울의 명예를 걸고 주사위를 포물선으로 던졌습니다!!!!" +"\n");
int userNumber = random.nextInt(6) + 1; //0부터 5까지 6가지 숫자인데 각각 1더해야 1부터 6까지 주사위가 완성됨.
System.out.println("================================================================\n"
+"|| ||\n"
+"|| 당신의 숫자는 ||\n"
+"|| ||\n"
+"|| "+userNumber+" ||\n"
+"|| ||\n"
+"|| ||\n"
+"================================================================\n"
+ "\n");
System.out.println("Enter key를 입력하세요 ▶" + "\n");
scanner.nextLine(); //블럭킹 메소드 : 사용자로부터 입력을 대기
//컴퓨터의 숫자를 무작위로 할당
if(computerPartner == 1) {
System.out.println("광운 선수가 주사위를 조심히 던진 결과는..." + "\n" );
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 2) {
System.out.println("경선 선수가 주사위를 조심히 던진 결과는..." + "\n" );
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 3) {
System.out.println("세라 선수가 주사위를 조심히 던진 결과는..." + "\n" );
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 4) {
System.out.println("정호쌤이 주사위를 조심히 굴린 결과는..?" + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 5) {
System.out.println("종건 선수가 주사위를 살포시 굴린 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 6) {
System.out.println("동훈 선수가 주사위를 힘차게 굴립니다!!!" + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 7) {
System.out.println("종훈 선수가 주사위를 야무지게 굴린 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 8) {
System.out.println("지훈쌤이 주사위를 하늘이 보이지 않을 정도로 던진 결과는...???" + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 9) {
System.out.println("시나브로 선수가 주사위를 굴린 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 10) {
System.out.println("소영 선수가 주사위를 굴립니다." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 11) {
System.out.println("진경쌤이 주사위를 포물선 곡선으로 던진 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 12) {
System.out.println("광범 선수가 주사위를 굴렸습니다!!! 숫자는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 13) {
System.out.println("봉선 선수가 주사위를 굴린 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 14) {
System.out.println("창호 선수가 주사위를 또르르 굴린 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 15) {
System.out.println("호형 선수가 주사위를 조심히 던집니다...결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 16) {
System.out.println("상용 선수가 주사위를 조심히 던진 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 17) {
System.out.println("준태 선수가 주사위를 열정을 다해 던진 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 18) {
System.out.println("동균 선수가 주사위를 굴립니다.... 과연!!!!" + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 19) {
System.out.println("철욱 선수가 주사위를 멀리 던집니다!! 나온 숫자는...?" + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 20) {
System.out.println("민혁 선수가 주사위를 하늘로 높이 던진 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
if(computerPartner == 21) {
System.out.println("태원 선수가 주사위를 열정을 다해 던진 결과는..." + "\n");
System.out.print("Enter key 를 입력하세요 ▶" +"\n");
}
scanner.nextLine(); //블럭킹 메소드 사용자로부터 입력을 대기한당
int comNumber = random.nextInt(6) + 1;
System.out.println("================================================================\n"
+"|| ||\n"
+"|| 상대방의 숫자는 ||\n"
+"|| ||\n"
+"|| "+comNumber+" ||\n"
+"|| ||\n"
+"|| ||\n"
+"================================================================\n"
+ "\n");
if (userNumber > comNumber) {
System.out.println("Result : You Win!!!" + "\n");
} else if (userNumber <comNumber) {
System.out.println("Result : You Lose!!!" + "\n");
} else {
System.out.println("Result : DRAW!!!" + "\n");
}
}//while
scanner.close();
}//main
}//class
//2. 토너먼트 형식으로 주사위 게임을 업데이트도 생각해보자.
// (그래프와 부등식을 활용한 이름 별찍기)
//출력 그림이 원래는 90도 돌려져 있음.
public class 이름그래프_만들기 { /
/송지훈 선생님 이름 세로로 별찍기.
public static void main(String[] args) {
for(int x=-10; x<=60; x++) {
for(int y=-20; y<=5; y++) {
if(((-5<=x && x<=0) && y==(x+5)) ||
(0<=x && x<=5) && y==(-x+5) ||
((-5<=y && y<=0) && x==0) ||
((-10<=x && x<=10) && y==-5)||
((x*x)+((y+15)*(y+15))<=25) ||
(15<=x && x<=25 && y==5) ||
(20<=x && x<=25 && y==(-x+20)) ||
(-10<=y && y<=5 && x==30) ||
(15<=x && x<=25 && y==(x-20)) ||
(40<=x && x<=50 && y==5) ||
(35<=x && x<=55 && y==3) ||
((x-45)*(x-45)+(y+3)*(y+3)<=25)||
(35<=x && x<=60 && y==-10) ||
(-15<=y && y<=-10 && x==45) ||
(-20<=y && y<=-15 && x==35) ||
(35<=x && x<=60 && y==-20) ||
(15<=x && x<=25 && y==5)){
System.out.print("★");
} else {
System.out.print("○");
}
}//for y
System.out.println();
}//for x
}//main
}//class
//앞으로 생각해 볼 것:1.90도를 돌리지 않고 바로 콘솔창에 이름이 나오도록 해보자.
//2.검은 별 말고 공백을 줄 때는 모양이 달라지는 이유를 고민해보자.
|