import java.util.*;
public class blackjack
{
public static void main(String args[])
{
String suit[] = new String[4]; //카드 모양을 넣을 배열을 만든다
suit[0]="♠";
suit[1]="♥";
suit[2]="◆";
suit[3]="♣";
String number[] = new String[13]; //카드 숫자를 넣을 배열을 생성
number[0]="A";
number[1]="2";
number[2]="3";
number[3]="4";
number[4]="5";
number[5]="6";
number[6]="7";
number[7]="8";
number[8]="9";
number[9]="10";
number[10]="J";
number[11]="Q";
number[12]="K";
int repeat =0; //반복문을 사용하기 위한 수
while(repeat==0) //반복문 사용
{
int score=0; //딜러의 점수 계산에 사용할 변수
int score2 = 0; //플레이어의 점수 계산에 사용할 변수
int total = 0; //딜러의 점수 합계
int total2 = 0; //플레이어의 점수 합계
for(int i=0; i<2; i++) //딜러에게 카드를 두장 주기위해 for문 사용
{
Random generator= new Random(); //랜덤함수를 사용
int a = generator.nextInt(4); //카드 모양을 섞음
Random generator2=new Random(); //랜덤함수 사용
int b = generator2.nextInt(13); //카드 숫자를 섞음
System.out.print("딜러의 카드는 : " + suit[a]); //카드 모양 출력
System.out.println(number[b]); //카드 숫자 출력
//a값을 비교해서 점수를 계산
if (number[a]=="A")
score = 1;
if (number[a]=="1")
score = 1;
if (number[a]=="2")
score = 2;
if (number[a]=="3")
score = 3;
if (number[a]=="4")
score = 4;
if (number[a]=="5")
score = 5;
if (number[a]=="6")
score = 6;
if (number[a]=="7")
score = 7;
if (number[a]=="8")
score = 8;
if (number[a]=="9")
score = 9;
if (number[a]=="10")
score = 10;
if (number[a]=="J")
score = 10;
if (number[a]=="Q")
score = 10;
if (number[a]=="K")
score =10;
total += score; //총 점수 합계를 구함
}
System.out.println(total);
for(int i=0; i<2; i++) //플레어이어게 카드를 두장 주기위해 for문사용
{
Random generator3= new Random(); //random함수를 사용
int a2 = generator3.nextInt(4); //카드 숫자 섞음
Random generator4 = new Random(); //random함수사용
int b2 = generator4.nextInt(13); //카드 모양 섞음
System.out.print("플레이어의 카드는 : " + suit[a2]); //카드 숫자 출력
System.out.println(number[b2]); //카드 모양 출력
//a2값을 비교해서 점수를 계산
if (number[a2]=="A")
score2 = 1;
if (number[a2]=="1")
score2 = 1;
if (number[a2]=="2")
score2 = 2;
if (number[a2]=="3")
score2 = 3;
if (number[a2]=="4")
score2 = 4;
if (number[a2]=="5")
score2 = 5;
if (number[a2]=="6")
score2 = 6;
if (number[a2]=="7")
score2 = 7;
if (number[a2]=="8")
score2 = 8;
if (number[a2]=="9")
score2 = 9;
if (number[a2]=="10")
score2 = 10;
if (number[a2]=="J")
score2 = 10;
if (number[a2]=="Q")
score2 = 10;
if (number[a2]=="K")
score2 = 10;
total2 += score2; //플레이어 점수 합계를 구함
}
System.out.println(total2);
if (total > total2) //딜러와 플레이어 점수 비교
System.out.println("딜러가 이겼습니다."); //딜러가 이겼습니다 출력
else
System.out.println("플레이어가 이겼습니다"); //플레이어가 이겼습니다 출력
System.out.println("계속하시겠습니까? Y인경우 프로그램 다시 시작, N일 경우 종료 : ");
Scanner in = new Scanner(System.in); // Scanner을 이용해서 입력을 받습니다
String input = in.nextLine();
if (input.equals("Y")) //입력값이 Y일 경우
{
System.out.println("다시 시작합니다");
}
else //Y가 아닐 경우
{
repeat=1; //repeat 1로 놔서 반복문 종료
System.out.println("종료합니다");
}
}
}
}
자바로 블랙잭을 짯습니다. 그런데 요기에 그래픽적인 요소를 보여주라고 JFrame을 사용하라고 하라네요..
jFrame을 어떻게 써야할지를 잘 모르겠는데.. 좀 도와주실분 안계신가요?;;