자바(java) 빙고 소스 프로그램
소스코드는 짧을 수록 좋긴 한데 너무 짧으면 문제가 생깁니다. 다른 사람들이 이해를 못하거나 나중에 주석을 달아놓으면 모를까 코딩한 자신인 본인도 헷갈리기도 합니다. 하지만 쓸데 없이 긴 소스코드 보다는 짧은 것 낫겠죠.
같은 소스인데 길이가 좀 다르네요. 그래도 본인이 혼자 했다는 사실 자체가 중요하겠죠. 스스로 할 수 있는 능력을 키워보세요. 알고리즘은 같다고 볼 수 있습니다.
//빙고게임입니다.
class Show {
char[][] bingo = {{'1','2','3'}, {'4','5','6'}, {'7','8','9'}}; // 빙고판
void bingo_show(){
for(int i=0;i<bingo.length;i++) // bingo.length(배열 크기를 나타내는 참조변수) 행 나타내는 반복문
{
for(int j=0;j<bingo.length;j++) // bingo.length(배열 크기를 나타내는 참조변수) 행 나타내는 반복문
System.out.print(bingo[i][j]+" ");
System.out.println();
}
}
void Game_Main_X()throws java.io.IOException
{
int number; // 빙고 선택한 숫자 입력값 저장 변수
bingo_show();
System.out.println("빙고 숫자 선택해라");
number = System.in.read();
System.in.read(); // 숫자 선택하고 밑에 다음선수 빙고 숫자 선택할 수 있게 입력받은걸 비워줍니다.
System.in.read();
for(int i=0;i<bingo.length;i++)
{
for(int j=0;j<bingo.length;j++)
{
if(bingo[i][j]==number)
{
bingo[i][j]='X';
bingo_show();
if(bingo[0][0]=='X'&&bingo[0][1]=='X'&&bingo[0][2]=='X'||bingo[1][0]=='X'&&bingo[1][1]=='X'&&bingo[1][2]=='X'||bingo[2][0]=='X'&&bingo[2][1]=='X'&&bingo[2][2]=='X')
{
System.out.println("X선수가 이겼습니다.");
System.exit(0);
}
else if(bingo[0][0]=='X'&&bingo[1][0]=='X'&&bingo[2][0]=='X'||bingo[0][1]=='X'&&bingo[1][1]=='X'&&bingo[2][1]=='X'||bingo[0][2]=='X'&&bingo[1][2]=='X'&&bingo[2][2]=='X')
{
System.out.println("X선수가 이겼습니다.");
System.exit(0);
}
else if(bingo[0][0]=='X'&&bingo[1][1]=='X'&&bingo[2][2]=='X'||bingo[0][2]=='X'&&bingo[1][1]=='X'&&bingo[2][0]=='X')
{
System.out.println("X선수가 이겼습니다.");
System.exit(0);
}
System.out.println();
Game_Main_O(); // 똑같은 자리에 값이 있을때 재입력
}
}
}
System.out.println("다시해");
Game_Main_X();
}
void Game_Main_O()throws java.io.IOException
{
int number; // 빙고 선택한 숫자 입력값 저장 변수
bingo_show();
System.out.println("빙고 숫자 선택해라");
number = System.in.read();
System.in.read(); // 숫자 선택하고 밑에 다음선수 빙고 숫자 선택할 수 있게 입력받은걸 비워줍니다.
System.in.read();
for(int i=0;i<bingo.length;i++)
{
for(int j=0;j<bingo.length;j++)
{
if(bingo[i][j]==number)
{
bingo[i][j]='O';
bingo_show();
if(bingo[0][0]=='O'&&bingo[0][1]=='O'&&bingo[0][2]=='O'||bingo[1][0]=='O'&&bingo[1][1]=='O'&&bingo[1][2]=='O'||bingo[2][0]=='O'&&bingo[2][1]=='O'&&bingo[2][2]=='O')
{
System.out.println("O선수가 이겼습니다.");
System.exit(0);
}
else if(bingo[0][0]=='O'&&bingo[1][0]=='O'&&bingo[2][0]=='O'||bingo[0][1]=='O'&&bingo[1][1]=='O'&&bingo[2][1]=='O'||bingo[0][2]=='O'&&bingo[1][2]=='O'&&bingo[2][2]=='O')
{
System.out.println("O선수가 이겼습니다.");
System.exit(0);
}
else if(bingo[0][0]=='O'&&bingo[1][1]=='O'&&bingo[2][2]=='O'||bingo[0][2]=='O'&&bingo[1][1]=='O'&&bingo[2][0]=='O')
{
System.out.println("O선수가 이겼습니다.");
System.exit(0);
}
System.out.println();
Game_Main_X(); // 똑같은 자리에 값이 있을때 재입력
}
}
}
System.out.println("다시해");
Game_Main_O();
}
}
public class Bingo_Java {
public static void main(String[] args)throws java.io.IOException
{
int player;
Show s = new Show(); // 빙고판 클래스 참조
s.bingo_show(); // 빙고판 클래스 불러줍니다.
System.out.println("X,O 선수 중 하고 싶은걸 선택해라");
player = System.in.read();
System.in.read(); // 선수선택하고 밑에 빙고 숫자 선택할 수 있게 입력받은걸 비워줍니다.
System.in.read();
switch(player)
{
case 'X' :
case 'x' :
{
System.out.println("X 선수를 선택하셨습니다.");
s.Game_Main_X();
break;
}
case 'O' :
case 'o' :
System.out.println("O 선수를 선택하셨습니다.");
s.Game_Main_O();
break;
}
}
}
//간단하지만 자바 공부하는데 기초를 다지기에 좋은 예제라고 볼 수 있네요.
'IT정보나눔' 카테고리의 다른 글
허리디스크에 효과만점 허리근육 강화운동 (0) | 2013.05.12 |
---|---|
이사만루 야구게임 공략(안드로이드 앱) (0) | 2013.05.12 |
공기업 인턴사원과 공채의 아이러니한 사연 (0) | 2013.05.10 |