import java.applet.*;
import java.awt.*;
import java.util.*;

//  htmlで埋めこむ文は
//　　<applet code="card1" width="524" height="300">
//　　</applet>
//　こんな感じです。


public class card1 extends Applet {
	Image image[] = new Image[12]; // カードのイメージ格納用
	int before[] = new int[7];     // 選ぶ前のイメージ配列
	int after[] = new int[6];      // 選ぶ後のイメージ配列
	int cond = 1;　　　　　　　　　// 状態(1=選ぶ前、2=考え中、3=選んだ後)
	boolean flag = true;           // どちらのカードのグループを使っているか
	　　　　　　　　　　　　　　　 // ↑(カードのグループは二種類用意している)
	Font font;
	
	public void init(){
		
		font = new Font("ＭＳゴシック",1,15); //フォント設定
		
		setLayout(new BorderLayout());
		Panel ps = new Panel();
		Button b1 = new Button("push!");      //ボタン配置
		ps.add(b1);
		add(ps,"South");
		
		//カードのイメージダウンロード
		image[1] = getImage(getDocumentBase(),"1-12.gif"); 
		image[2] = getImage(getDocumentBase(),"1-13.gif");
		image[3] = getImage(getDocumentBase(),"2-11.gif");
		image[4] = getImage(getDocumentBase(),"2-12.gif");
		image[5] = getImage(getDocumentBase(),"2-13.gif");
		image[6] = getImage(getDocumentBase(),"3-11.gif");
		image[7] = getImage(getDocumentBase(),"3-12.gif");
		image[8] = getImage(getDocumentBase(),"3-13.gif");
		image[9] = getImage(getDocumentBase(),"4-11.gif");
		image[10] = getImage(getDocumentBase(),"4-12.gif");
		image[11] = getImage(getDocumentBase(),"4-13.gif");	
		
		init_card(true);
		
		}
	
	public void init_card(boolean even){
		if (even == true){ //グループＡの配置を設定
			before[1] = 1;
			before[2] = 3;
			before[3] = 5;
			before[4] = 7;
			before[5] = 9;
			before[6] = 11;
			
			after[1] = 2;
			after[2] = 4;
			after[3] = 6;
			after[4] = 8;
			after[5] = 10;
		} else {　　　　　  //グループＢの配置を設定
			before[1] = 2;
			before[2] = 4;
			before[3] = 5;
			before[4] = 6;
			before[5] = 7;
			before[6] = 9;
			
			after[1] = 1;
			after[2] = 3;
			after[3] = 8;
			after[4] = 10;
			after[5] = 11;
		}
	}
	
	public boolean action(Event ev,Object arg){
		cond++;
		if (cond > 3){　　　//  ボタンが押されるたびに状態を変化
			cond = 1;       //  (1A ⇒ 2 ⇒ 3A ⇒ 1B ⇒ 2 ⇒ 3B ⇒ 1A…)
			flag = !flag;   //  使うカードのグループがAかBか
			init_card(flag);//  カードのグループを設定
		}
		repaint();
		return true;
	}
	
	public void paint(Graphics g){
		switch (cond){  //状態に応じて画面やメッセージを描画
		case 1:
			g.setColor(Color.white);
			g.fillRect(20-5,20-5,484+10,103+10);
			for (int i=1;i<7;i++){
				g.drawImage(image[before[i]],(i-1)*82+20,20,this);
			}
			g.setColor(Color.blue);
			g.setFont(font);
			g.drawString("６枚のカードの中から一枚だけを選んでください。",90,180);
			g.drawString("選んだら、下のボタンを押してください。",120,200);
			break;
		case 2:
			g.setColor(Color.black);
			g.fillRect(61-5,20-5,402+10,103+10);
			g.setColor(Color.blue);
			g.setFont(font);
			g.drawString("そのまま５秒ほどお待ち下さい。",150,180);
			g.drawString("５秒経ったら、下のボタンを押してください。",105,200);
			break;
		case 3:
			g.setColor(Color.white);
			g.fillRect(61-5,20-5,402+10,103+10);
			for (int i=1;i<6;i++){
				g.drawImage(image[after[i]],(i-1)*82+61,20,this);
			}
			g.setColor(Color.blue);
			g.setFont(font);
			g.drawString("貴方の選んだカードのみを抜き出しました。",112,180);
			g.drawString("どうですか？当りましたか？",165,200);
			g.drawString("もう一度やるには下のボタンを押してください。",97,240);
			break;
		}
	}
	
}