컴퓨터대 컴퓨터로 하게 만들었습니다
~cpp
import java.util.*;
import java.util.*;
class Card{
int num;
int face;
}
class Cards{
ArrayList arr = new ArrayList();
void add(Card card){
arr.add(card);
}
Card delete(int n){
return (Card)arr.remove(n);
}
int search(int num, int face){
for(int i=0; i<arr.size(); i++){
Card card = ((Card)arr.get(i));
if(card.face == face)
return i;
if(card.num == num)
return i;
}
return -1;
}
int size(){
return arr.size();
}
Card retTop(){
return (Card)arr.get(arr.size()-1);
}
void showCards(){
Card card;
for(int i=0; i<arr.size(); i++){
card = (Card)arr.get(i);
System.out.print(i+".("+card.face+" "+card.num+") ");
}
System.out.print("\n");
}
}
public class OneCard {
boolean isOneCard = false;
Cards comCards = new Cards();
Cards playerCards= new Cards();
Cards discard = new Cards();
Cards stack = new Cards();
void initCards(){
//52장의 카드를 쌓아놓음
for(int i=0; i<4; i++){
for(int j=0; j<13; j++){
Card card = new Card();
card.num = j+1;
card.face = i;
stack.add(card);
}
}
//그중 10장을 컴퓨터와 플레이어에게 나눠줌
for(int i=0; i<10; i++){
Random rand = new Random();
comCards.add(stack.delete(rand.nextInt(stack.size()-1)));
playerCards.add(stack.delete(rand.nextInt(stack.size()-1)));
}
Random rand = new Random();
discard.add(stack.delete(rand.nextInt(comCards.size())));
}
void showCards(){
System.out.println("컴퓨터카드");
comCards.showCards();
System.out.println("마지막으로 낸 카드");
System.out.println(discard.retTop());
System.out.println("플레이어카드");
playerCards.showCards();
System.out.println("");
}
void run(){
while(true){
//컴퓨터의 차례
Random rand = new Random();
int choice = comCards.search(discard.retTop().num,discard.retTop().face);
if(choice == -1){
comCards.add(stack.delete(rand.nextInt(comCards.size())));
}
else{
discard.add(comCards.delete(choice));
}
if(comCards.size() == 1){
System.out.println("컴퓨터승리");
break;
}
showCards();
//플레이어의 차례
choice = playerCards.search(discard.retTop().num,discard.retTop().face);
if(choice == -1){
playerCards.add(stack.delete(rand.nextInt(comCards.size())));
}
else{
discard.add(playerCards.delete(choice));
}
if(playerCards.size() == 1){
System.out.println("플레이어승리");
break;
}
showCards();
}
}
public static void main(String[] args) {
OneCard game = new OneCard();
game.initCards();
game.run();
}
}