2022年01月6日[java]シンプルゲーム
今日はランダム関数で3つの簡単なゲームをしました.
Up & Dowm
BR31
Dice Game
この3つのゲームをしました.
今日は時間がないので学習コードだけアップロード
明日から、勉強しながら、復習しながら、内容を整理したいと思います.
ゲームの内容でも簡単に書きます.
Up & Down
ランダム関数を使用して1~100の間の任意の数値を変数に指定し、指定した数値が入力した数値より大きい場合はDownを出力します.指定した数字の範囲を絞るゲーム.
パソコンと1対1でBaskinRobbins 31ゲームをする番組です.一度に最大3つの数字を言い出すことができて、31の一方を叫んで負けます.
でもこのゲームは1対1なら先攻で必ず勝つ1番目に1、2と言っても、相手が次に何回言っても、相手が言った回数と私が次に言った回数の和は4で、相手のラウンドは必ず31になります.Xネットゲーム
3つのサイコロを合わせて、もっと高い人が勝つゲームです.賭けてもいいです.お金がなければ、追い出されたコードも加わった.
上の2つのゲームをして、間違えて、このコードから注釈をつけます.コメントは本当に重要です...
がんばってね!
Up & Dowm
BR31
Dice Game
この3つのゲームをしました.
今日は時間がないので学習コードだけアップロード
明日から、勉強しながら、復習しながら、内容を整理したいと思います.
ゲームの内容でも簡単に書きます.
Up & Down
ランダム関数を使用して1~100の間の任意の数値を変数に指定し、指定した数値が入力した数値より大きい場合はDownを出力します.指定した数字の範囲を絞るゲーム.
public void que1() {
Scanner sc = new Scanner(System.in);
Random r = new Random();
int time = 0;
while (true) {
System.out.println("====== Up & Down Game ======");
System.out.println("1. Game Start");
System.out.println("2. Game Score");
System.out.println("3. End Game");
System.out.print("> ");
int select = sc.nextInt();
int newTime;
switch (select) {
case 1:
newTime = 0;
int comnum = r.nextInt(99) + 1;
while (true) {
int pernum;
System.out.print((newTime + 1) + "회차 번호 입력 : ");
while (true) {
pernum = sc.nextInt();
if (pernum > 100 || pernum < 0) {
System.out.println("입력값을 확인하세요");
continue;
} else {
break;
}
} // while done
if (pernum < 1 || pernum > 99) {
System.out.println("입력값을 확인하세요");
continue;
} else if (comnum > pernum) {
System.out.println("<<Up>>");
newTime++;
continue;
} else if (comnum < pernum) {
System.out.println("<<Down>>");
newTime++;
continue;
} else if (comnum == pernum) {
System.out.println("<<정답>>");
newTime++;
}
if (newTime < time) {
time = newTime;
}
break;
}
break;
// case 1 done
case 2:
if (time == 10000000) {
System.out.println("아직 최고 기록이 없습니다.");
} else {
System.out.println("현재 최고 기록은 " + time + "회 입니다.");
break;
}
// case 2 done
case 3:
break;
// case 3 done
default:
System.out.println("잘못입력하셨습니다.");
}// switch done
if (select == 3) {
System.out.println("게임을 종료합니다.");
break;
}
} // while dine
}// que1 done
BR31パソコンと1対1でBaskinRobbins 31ゲームをする番組です.一度に最大3つの数字を言い出すことができて、31の一方を叫んで負けます.
でもこのゲームは1対1なら先攻で必ず勝つ1番目に1、2と言っても、相手が次に何回言っても、相手が言った回数と私が次に言った回数の和は4で、相手のラウンドは必ず31になります.Xネットゲーム
public void que2() {
Scanner sc = new Scanner(System.in);
Random r = new Random();
int win = 0;
int lose = 0;
while (true) {
System.out.println("====== Baskin Robbins31 Game ======");
System.out.println("1. Game Start");
System.out.println("2. Game Score");
System.out.println("3. End Game");
System.out.print("선택 > ");
int select = sc.nextInt();
int usernum = 0;
int comnum = 0;
int sum = usernum + comnum;
int newsum = 0;
switch (select) {
case 1:
System.out.println("<< Game Start >>");
while (true) {
while (newsum <= 31) {
System.out.println("<< Your Turn >>");
while (true) {
System.out.print("Input Number : ");
usernum = sc.nextInt();
if (usernum > 3 || usernum < 1) {
System.out.println("1~3사이값을 입력해주세요");
continue;
} else {
break;
}
} // while done
comnum = r.nextInt(3) + 1;
sum = usernum + comnum;
newsum = newsum + sum;
for (int i = newsum - usernum - comnum + 1; i <= newsum - comnum; i++) {
System.out.println(i + "!");
if (i == 31) {
System.out.println("패배!");
lose++;
break;
}
}
if (newsum - comnum < 31) {
System.out.println("<< Computer Turn >>");
for (int j = newsum - comnum + 1; j <= newsum; j++) {
System.out.println(j + "!");
if (j == 31) {
System.out.println("승리!");
win++;
break;
}
}
} else if (newsum - comnum > 31) {
break;
}
System.out.println(sum);
System.out.println(newsum);
break;
}
if (newsum < 31) {
continue;
} else {
break;
}
// while done
}
break;// case 1 done
case 2:
System.out.println("<< 당신의 전적 >>");
System.out.println("Win : " + win);
System.out.println("Lose : " + lose);
break;// case 2 done
case 3:
break;// case 3 done
default:
System.out.println("잘못입력하셨습니다.");
}// switch done
if (select == 3) {
System.out.println("게임을 종료합니다.");
break;
} // if done
} // while done
}// que2 done
Dice Game3つのサイコロを合わせて、もっと高い人が勝つゲームです.賭けてもいいです.お金がなければ、追い出されたコードも加わった.
上の2つのゲームをして、間違えて、このコードから注釈をつけます.コメントは本当に重要です...
public void que3() {
Scanner sc = new Scanner(System.in);
Random r = new Random();
int money = 10000; // 소지금
int win = 0; // 이긴 횟수
int lose = 0; // 진 횟수
int draw = 0; // 비긴 횟수
boolean gameEnd = false;
while (true) {
System.out.println("====== Dice Game ======");
System.out.println("1. Game Start");
System.out.println("2. Game Score");
System.out.println("3. End Game");
System.out.print("선택 > ");
int select = sc.nextInt(); // 게임 메뉴 선택
int userdice1, userdice2, userdice3; // 플레이어의 주사위 값 3개
int comdice1, comdice2, comdice3; // 컴퓨터의 주사위 값 3개
char choice1; // 배팅 선택
char choice2; // 재도전 여부
switch (select) { // swtich start
case 1:
if (money <= 0) { // 게임을 하려했지만 돈이 없는 경우
System.out.println("잔액이 없습니다. bye~");
break;
}
while (true) {
System.out.println("<< Game Start >>");
userdice1 = r.nextInt(6) + 1;
userdice2 = r.nextInt(6) + 1;
userdice3 = r.nextInt(6) + 1; // 플레이어 주사위 값 변수에 랜덤 값 부여
comdice1 = r.nextInt(6) + 1;
comdice2 = r.nextInt(6) + 1;
comdice3 = r.nextInt(6) + 1; // 컴퓨터 주사위 값 변수에 랜덤 값 부여
System.out.println("1번째 주사위 값 : " + userdice1);
System.out.println("2번째 주사위 값 : " + userdice2);
System.out.println("3번째 주사위 값 : " + userdice3);
int usersum = userdice1 + userdice2 + userdice3; // 내 주사위 총 합 변수
System.out.println("내 주사위 총 합 :" + usersum);
System.out.println("배팅 하시겠습니까?[y/n]"); // 배팅 여부 선택
int bat;
choice1 = sc.next().charAt(0);
if (choice1 == 'y') { // 배팅을 한다고 했을 경우
System.out.print("얼마를 배팅하시겠습니까(현재 내 소지금 " + money + "원) :");
while (true) {
bat = sc.nextInt();
if (money < bat) { // 배팅하려는 금액이 소유한 돈보다 큰 경우
System.out.println("금액이 부족합니다. 다시 입력해주세요.");
continue;
}
break;
}
System.out.println("컴퓨터 1번째 주사위 값 : " + comdice1);
System.out.println("컴퓨터 2번째 주사위 값 : " + comdice2);
System.out.println("컴퓨터 3번째 주사위 값 : " + comdice3);
int comsum = comdice1 + comdice2 + comdice3;// 컴퓨터 주사위 총 합 변수
System.out.println("컴퓨터 주사위 총 합 : " + comsum);
System.out.println("<< 결과 >>");
if (usersum > comsum) { // 승리시 결과
System.out.println("승리!");
System.out.println("+" + bat + "원!"); // 얻은 금액 표시
money += bat; // 총액에 배팅금액을 추가
win++;
} else if (usersum < comsum) {// 패배시 결과
System.out.println("패배!");
System.out.println("-" + bat + "원!"); // 잃은 금액 표시
money -= bat;
lose++;
if (money <= 0) { // 돈이 0원 밑으로 떨어졌을 경우;
System.out.println("거지는 안받아요~");
break;
}
} else { // 비겼을시 결과
System.out.println("아니 자꾸 안비겨서 어떻게 쓸지는 모르겠는데 대충 비겼다고 뜨겠죠??");
draw++;
}
System.out.println("한번 더 하시겠습니까[y/n]"); // 재도전 묻기
choice2 = sc.next().charAt(0);
if (choice2 == 'y') { // 재도전에 동의했을 경우
continue;
} else if (choice2 == 'n') { // 재도전에 동의하지 않았을 경우
break;
} else { // 'y', 'n' 이외의 다른 char를 입력했을 경우
break;
}
} else if (choice1 == 'n') { // 배팅을 안한다고 했을 경우
break;
} else if (choice1 != 'y' || choice1 != 'n') { // 배팅 여부에 이상한 char값을 넣은 경우
continue;
}
break;
} // while done
break;// case 1 done
case 2:
System.out.println("<< 당신의 전적 >>");
System.out.println("Win : " + win);
System.out.println("Lose : " + lose);
System.out.println("내 소지금 : " + money + "원");
break;// case 2 done
case 3:
gameEnd = true;
break;// case 3 done
default:
System.out.println("잘못입력하셨습니다.");
break;// default done
}// switch done
if (gameEnd == true) {
System.out.println("게임을 종료합니다.");
break;
}
}
}
今日はもう终わったけど、次はもっと良い品质のために决心する..がんばってね!
Reference
この問題について(2022年01月6日[java]シンプルゲーム), 我々は、より多くの情報をここで見つけました https://velog.io/@hing/2022-01-06-간단한-게임テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol