개속 실행하다 보면 어쩔때는 되고 어쩔때는 안되고...
%-----------------------------------------------------------------------%
% 작성일 : 2015. 4. 13
% 작성자 : 핑크공주님
%-----------------------------------------------------------------------%
%% 변수 초기화
clear all, close all, clc;
%% 카드댁 만들기
% 카드장수 설정
number = 1:13;
% 문자열 함수 입력을 위한 셀 생성
% card = cell(1,3);
% 생성된 셀에 문자열 상수 입력
card(1,1) = {'diamond'};
card(1,2) = {'clover'};
card(1,3) = {'heart'};
card(1,4) = {'space'};
% 공행렬 생성
card2 = {0,0,0};
% % 랜덤값 생성
rn = randperm(52);
% 문자열과 숫자를 합친 카드댁 생성
for i = 1:13
diamond(i,:) = cat(2,rn(1,i),card(1,1), number(1,i));
clover(i,:) = cat(2,rn(1,13+i),card(1,2), number(1,i));
heart(i,:) = cat(2,rn(1,26+i),card(1,3), number(1,i));
space(i,:) = cat(2,rn(1,39+i),card(1,4), number(1,i));
end
% 카드덱 섞기
Total = [diamond; clover; heart; space];
Total2 = sortrows(Total);
% 섞은 카드덱 위에 공행렬 입력 (게임중 카드제출후 카드섞는대 사용)
Total2 = [card2; Total2];
%% 게임 시작
% 카드 한장 뒤집기
fprintf('카드 한장을 뒤집습니다!')
start = Total2(2, :);
sprintf('처음카드는 카드는 %s %d 입니다',start{1,2},start{1,3})
% 카드 덱에서 첫번쨰 카드 제외하기
Total3 = Total2(3:end, :);
% 사용자 카드 6장 받기
sprintf('게임을 시작합니다! 카드 여섯장을 받아옵니다!')
sprintf(' 목록 | 모양 | 카드숫자')
mine = Total3(1:6,:)
% 카드 덱에서 사용자 6장 카드 제외하기
Total4 = Total3(7:end,:);
%% while 문 시작예정지
% % 내가 들고있는 카드 장수 확인
HM = length(mine);
% 카드 내기
for i = 1:HM
if mine{i,2} == start{1,2} | mine{i,2} == start{1,3}
input_number = input('어떤 카드를 내시겠습니까? (목록번호를 넣어주세요) : ')
[x,y] = find(mine{i,1},input_number);
print_card = mine(y,:);
sprintf('낸 카드는 %s %d 입니다',print_card{1,2},print_card{1,3})
mine1 = mine{1:input_number,:};
mine2 = mine{input_number:end,:};
mine = [mine1; mine2];
break
end
if mine{i,2} == start{1,2} | mine{i,2} == start{1,3}
sprintf('카드를 가져갑니다')
draw_card = Total4(1,:);
sprintf('뽑은 카드는 %s %d 입니다',draw_card{1,2},draw_card{1,3})
mine = [mine; draw_card]
Total4 = Total4(2:end,:);
end
end