#include "hspsock.as"
	onexit goto *EXI

#epack "card.bmp"
#epack "bg.bmp"
#packopt name "genuta.exe"
#packopt type 0

	dim VR,3;バージョン情報

	VR(0)=0:VR(1)=8


	title "幻想の宴 ネット対戦企画　Ver."+VR(0)+"."+VR(1)

	buffer 2,400,300,0
	picload "card.bmp"
	buffer 3,800,600,0
	picload "bg.bmp"
	screen 0,800,600,0
	gosub *INITIALIZE

	notesel TX
	noteload "cardtext.txt"

	IP=""
	PORT=16842
	noteget T,3313
	M=strmid(T,7,5)
	A=0
	A=int(M)
	if A>0:PORT=A
*TITL;タイトル
	CSR=0
	redraw 0
	color 240,150,150:boxf 0,0,800,600
	font "MS UI Gothic",100,17:color 0,0,0:pos 200,50:mes "幻想ノ宴"
	if (mousex>=300)&(mousex<485)&(mousey>=300)&(mousey<330):color 80,255,80:boxf 300,300,485,330:CSR=1
	font "MS UI Gothic",30,17:color 0,0,0:pos 300,300:mes "SINGLEMODE"
	if (mousex>=300)&(mousex<523)&(mousey>=350)&(mousey<380):color 80,255,80:boxf 300,350,523,380:CSR=2
	font "MS UI Gothic",30,17:color 0,0,0:pos 300,350:mes "NETWORKMODE"
	if (mousex>=300)&(mousex<445)&(mousey>=400)&(mousey<430):color 80,255,80:boxf 300,400,445,430:CSR=3
	font "MS UI Gothic",30,17:color 0,0,0:pos 300,400:mes "DECKEDIT"
	if (mousex>=300)&(mousex<365)&(mousey>=450)&(mousey<480):color 80,255,80:boxf 300,450,365,480:CSR=4
	font "MS UI Gothic",30,17:color 0,0,0:pos 300,450:mes "EXIT"
	redraw 1
	await 16
	stick STC
	if (STC=256)&(CSR=1):PL(1)=1:PL(2)=2:PN(PL(1))="プレイヤー１":PN(PL(2))="プレイヤー２":pos 0,580:input CM,530,20,30:gosub *STE:state=2:goto *SINGLE
	if (STC=256)&(CSR=2):state=1:goto *NET
	if (STC=256)&(CSR=3):state=3:goto *DECK
	if (STC=256)&(CSR=4):CSR=400:goto *EXI
	goto *TITL

*INITIALIZE;変数初期化
	dim LP,3:dim MP,3:dim LC,3,45:dim GC,3,45:dim HC,3,45;体力：呪力：山札：捨札：手札
	dim CC,3,5:dim SC,3,45:dim AC,3,45:dim EC,3,3;キャラクターカード：スペルカード（準備）：（起動）：イベント
	dim RS,3,85,3:dim FS,3,3:dim SS,3,45,3:dim AS,3,45,3;サポート（リーダー）：（シーン）：（準備スペル）：（起動スペル）
	dim SL,5:dim PG,10:sdim CH,500,101;選択データ：ページ切替：チャット
	dim DC,45:dim DS,12,21:dim PL,3:sdim T,2000:sdim M,2000;表示カード：？？：プレイヤー：一時的文字列
	sdim PN,3,50:sdim N,30;プレイヤーの名前：一時文字変数
	sdim CM,30:sdim SDT,2000:sdim RDT,2000:dim RQ,5:dim AW,5;チャット入力：送信データ：受信データ：表示変更要求：その値受信
	sdim ack, 3:sdim IsRestart, 7
	TM=0;送信必要の有無
	state=0;対戦中(1)か、シングル(2)か、デッキエディト(3)か
	gosub *RESET
	return

*NET;ネット接続
	redraw 0
	color 240,150,150:boxf 0,0,800,600
	color 150,150,150:boxf 200,150,600,450
	color 0,0,0:font "MS UI Gothic",20,17:pos 300,172:mes "ＨＮ"
	pos 340,170:input PN(0),150,20
	font "MS UI Gothic",25,17
	pos 310,200:mes "ホスト側で待機"
	font "MS UI Gothic",17,17
	ipget
	pos 323,225:mes "IP:"+refstr
	font "MS UI Gothic",10,17
	pos 315,243:mes "※ADSLの場合、違うこともあります"
	font "MS UI Gothic",25,17
	pos 280,300:mes "クライアント側で接続"
	font "MS UI Gothic",15,17:pos 285,340:mes "相手のＩＰ"
	pos 355,335:input IP,150,20
	redraw 1
	pos 365,260:button "待機",*HOST 
	pos 365,365:button "接続",*CLIENT
	pos 365,415:button "戻る",*BACK
	stop


*HOST;ホスト側処理
	if PN(0)!="" { ;ＨＮを記録する
		notesel config
		noteadd PN(0), 0, 1
		notesave "config.ini"
	}
	if PN(0)!"":PN(1)=PN(0):else:PN(1)="プレイヤー１"
	clrobj
	color 240,150,150:boxf 0,0,800,600
	color 150,150,150:boxf 200,150,600,450
	pos 300,200:font "MS UI Gothic",30,17:color 0,0,0:mes "通信待機中・・・"
	pos 360,300:sockclose 0:button goto "キャンセル", *BACK

	sockmake 0,PORT
	repeat 18000
	await 17
	sockwait 0
	if stat!1:break
	loop
	if stat>=1:goto *INITERROR
	PL(1)=1:PL(2)=2

	sockputc VR(0),0
	VR(2)=-1
	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockgetc VR(2),0
	if VR(2)=1:goto *VERERR

	sockputc VR(1),0
	VR(2)=-1
	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockgetc VR(2),0
	if VR(2)=1:goto *VERERR
	sockput PN(1),0

	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockget PN(2),100,0
	cls
	pos 0,580:input CM,530,20,30

	goto *BATTLE


*CLIENT;クライアント側処理
	if PN(0)!="" { ;ＨＮを記録する
		notesel config
		noteadd PN(0), 0, 1
		notesave "config.ini"
	}
	if PN(0)!"":PN(2)=PN(0):else:PN(2)="プレイヤー２"
	clrobj
	color 240,150,150:boxf 0,0,800,600
	color 150,150,150:boxf 200,150,600,450
	sockopen 0,IP,PORT
	if stat!0:goto *ERROR
	PL(1)=2:PL(2)=1

	VR(2)=-1
	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockgetc VR(2),0
	if VR(2)!VR(0):sockputc 1,0:goto *VERERR
	sockputc 0,0
	VR(2)=-1
	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockgetc VR(2),0
	if VR(2)!VR(1):sockputc 1,0:goto *VERERR
	sockputc 0,0

	repeat
	await 17
	sockcheck 0
	if stat!1:break
	loop
	if stat>=2:goto *INITERROR
	sockget PN(1),100,0

	sockput PN(2),0

	cls
	pos 0,580:input CM,530,20,30
	goto *BATTLE

*BACK;タイトルに戻る
	clrobj:gosub *RESET:goto *TITL

*INITERROR;最初の接続で通信エラーした場合
	sockclose 0:dialog "通信中にエラー("+stat+")が発生しました。", 1
	goto *BACK

*ERROR;通信エラー
	sockclose 0:dialog "通信中にエラー("+stat+")が発生しました。", 1
	if PL(1)=1 {
		dialog "再接続を待ちますか？", 3
		if stat=6 : goto *HOST
		if stat=7 : goto *BACK
	} else {
		dialog "再接続しますか？", 3
		if stat=6 : goto *CLIENT
		if stat=7 : goto *BACK
	}

*VERERR;バージョンエラー
	sockclose 0:dialog "ツールのバージョンが違います",1:goto *BACK
	

*BATTLE;対戦メイン
	CSR=0
	x=mousex:y=mousey
	redraw 0
	await 17
	if (abs(x-mousex)>10)|(abs(y-mousey)>10):gosub *STE
	stick STC
	if (STC=256)|(STC=512):gosub *STE
	gosub *ACTCHK
	if (STC=256)&(CSR=302) {
		sockput "Connection Closed", 0
		sockclose 0
		gosub *RESET
		clrobj
		goto *TITL
	}
	if TM=0:gosub *RECIEVE
	redraw 1
	if (TM=-1)&(stat>=2):goto *ERROR
	if TM!0:gosub *SEND
	if (TM!0)&(stat!0):goto *ERROR
	TM=0
	goto *BATTLE
	
*SEND;データ送信
	SDT=""
	if LP(PL(1))<10:SDT+=0;自分体力２桁＊１
	SDT+=LP(PL(1))
	if MP(PL(1))<100:SDT+=0;自分呪力３桁＊１
	if MP(PL(1))<10:SDT+=0
	SDT+=MP(PL(1))
	if LC(PL(1),0)<10:SDT+=0;自分山札枚数２桁＊１
	SDT+=LC(PL(1),0)
	repeat 40,1;自分山札内容３桁＊４０
	if LC(PL(1),cnt)<100:SDT+=0
	if LC(PL(1),cnt)<10:SDT+=0
	SDT+=LC(PL(1),cnt)
	loop
	if HC(PL(1),0)<10:SDT+=0;自分手札枚数２桁＊１
	SDT+=HC(PL(1),0)
	repeat 40,1;自分手札内容３桁＊４０
	if HC(PL(1),cnt)<100:SDT+=0
	if HC(PL(1),cnt)<10:SDT+=0
	SDT+=HC(PL(1),cnt)
	loop
	if GC(PL(1),0)<10:SDT+=0;自分捨札枚数２桁＊１
	SDT+=GC(PL(1),0)
	repeat 40,1;自分捨札内容３桁＊４０
	if GC(PL(1),cnt)<100:SDT+=0
	if GC(PL(1),cnt)<10:SDT+=0
	SDT+=GC(PL(1),cnt)
	loop
	if SC(PL(1),0)<10:SDT+=0;自分準備スペル枚数２桁＊１
	SDT+=SC(PL(1),0)
	repeat 40,1;自分準備スペル内容３桁＊４０
	if SC(PL(1),cnt)<100:SDT+=0
	if SC(PL(1),cnt)<10:SDT+=0
	SDT+=SC(PL(1),cnt)
	loop
	if AC(PL(1),0)<10:SDT+=0;自分起動スペル枚数２桁＊１
	SDT+=AC(PL(1),0)
	repeat 40,1;自分起動スペル内容３桁＊４０
	if AC(PL(1),cnt)<100:SDT+=0
	if AC(PL(1),cnt)<10:SDT+=0
	SDT+=AC(PL(1),cnt)
	loop
	repeat 40,1;自分準備スペル付自分サポート内容３桁＊４０
	if SS(PL(1),cnt,PL(1))<100:SDT+=0
	if SS(PL(1),cnt,PL(1))<10:SDT+=0
	SDT+=SS(PL(1),cnt,PL(1))
	loop
	repeat 40,1;自分起動スペル付自分サポート内容３桁＊４０
	if AS(PL(1),cnt,PL(1))<100:SDT+=0
	if AS(PL(1),cnt,PL(1))<10:SDT+=0
	SDT+=AS(PL(1),cnt,PL(1))
	loop
	repeat 40,1;相手準備スペル付自分サポート内容３桁＊４０
	if SS(PL(2),cnt,PL(1))<100:SDT+=0
	if SS(PL(2),cnt,PL(1))<10:SDT+=0
	SDT+=SS(PL(2),cnt,PL(1))
	loop
	repeat 40,1;相手起動スペル付自分サポート内容３桁＊４０
	if AS(PL(2),cnt,PL(1))<100:SDT+=0
	if AS(PL(2),cnt,PL(1))<10:SDT+=0
	SDT+=AS(PL(2),cnt,PL(1))
	loop
	if FS(PL(1),1)<100:SDT+=0;自分シーンサポート内容３桁＊１
	if FS(PL(1),1)<10:SDT+=0
	SDT+=FS(PL(1),1)
	repeat 80,1;自分リーダー付自分サポート内容３桁＊８０
	if RS(PL(1),cnt,PL(1))<100:SDT+=0
	if RS(PL(1),cnt,PL(1))<10:SDT+=0
	SDT+=RS(PL(1),cnt,PL(1))
	loop
	repeat 80,1;相手リーダー付自分サポート内容３桁＊８０
	if RS(PL(2),cnt,PL(1))<100:SDT+=0
	if RS(PL(2),cnt,PL(1))<10:SDT+=0
	SDT+=RS(PL(2),cnt,PL(1))
	loop
	if EC(PL(1),1)<100:SDT+=0;自分場のイベントカード内容３桁＊１
	if EC(PL(1),1)<10:SDT+=0
	SDT+=EC(PL(1),1)
	repeat 4,1
	if CC(PL(1),cnt)<100:SDT+=0;自分キャラクター内容３桁＊４
	if CC(PL(1),cnt)<10:SDT+=0
	SDT+=CC(PL(1),cnt)
	loop
	repeat 4,1;変更要求内容２桁＊４
	if RQ(cnt)<10:SDT+=0
	SDT+=RQ(cnt)
	loop

	if RQ(1)=81:SDT+=CH(0);チャット

	sockput SDT,0

	repeat 5
	RQ(cnt)=0
	loop
	return

*RECIEVE;データ受信
	RDT=""
	sockcheck 0
	if stat>=2:TM=-1
	if stat>=1:return
	sockget RDT,10000,0

	if instr(RDT, 0, "Connection Closed") > -1 {
		dialog "相手が接続を切りました。", 1
		goto *BACK
	}
	
	N=strmid(RDT,0,2);相手体力２桁＊１
	LP(PL(2))=int(N)
	N=strmid(RDT,2,3);相手呪力３桁＊１
	MP(PL(2))=int(N)
	N=strmid(RDT,5,2);相手山札枚数２桁＊１
	LC(PL(2),0)=int(N)
	repeat 40,1;相手山札内容３桁＊４０
	N=strmid(RDT,4+cnt*3,3)
	LC(PL(2),cnt)=int(N)
	loop
	N=strmid(RDT,127,2);相手手札枚数２桁＊１
	HC(PL(2),0)=int(N)
	repeat 40,1;相手手札内容３桁＊４０
	N=strmid(RDT,126+cnt*3,3)
	HC(PL(2),cnt)=int(N)
	loop
	N=strmid(RDT,249,2);相手捨札枚数２桁＊１
	GC(PL(2),0)=int(N)
	repeat 40,1;相手捨札内容３桁＊４０
	N=strmid(RDT,248+cnt*3,3)
	GC(PL(2),cnt)=int(N)
	loop
	N=strmid(RDT,371,2);相手準備スペル枚数２桁＊１
	SC(PL(2),0)=int(N)
	repeat 40,1;相手準備スペル内容３桁＊４０
	N=strmid(RDT,370+cnt*3,3)
	SC(PL(2),cnt)=int(N)
	loop
	N=strmid(RDT,493,2);相手起動スペル枚数２桁＊１
	AC(PL(2),0)=int(N)
	repeat 40,1;相手起動スペル内容３桁＊４０
	N=strmid(RDT,492+cnt*3,3)
	AC(PL(2),cnt)=int(N)
	loop
	repeat 40,1;相手準備スペル付相手サポート内容３桁＊４０
	N=strmid(RDT,612+cnt*3,3)
	SS(PL(2),cnt,PL(2))=int(N)
	loop
	repeat 40,1;相手起動スペル付相手サポート内容３桁＊４０
	N=strmid(RDT,732+cnt*3,3)
	AS(PL(2),cnt,PL(2))=int(N)
	loop
	repeat 40,1;自分準備スペル付相手サポート内容３桁＊４０
	N=strmid(RDT,852+cnt*3,3)
	SS(PL(1),cnt,PL(2))=int(N)
	loop
	repeat 40,1;自分起動スペル付相手サポート内容３桁＊４０
	N=strmid(RDT,972+cnt*3,3)
	AS(PL(1),cnt,PL(2))=int(N)
	loop
	N=strmid(RDT,1095,3);相手シーンサポート内容３桁＊１
	FS(PL(2),1)=int(N)
	repeat 80,1;相手リーダー付相手サポート内容３桁＊８０
	N=strmid(RDT,1095+cnt*3,3)
	RS(PL(2),cnt,PL(2))=int(N)
	loop
	repeat 80,1;自分リーダー付相手サポート内容３桁＊８０
	N=strmid(RDT,1335+cnt*3,3)
	RS(PL(1),cnt,PL(2))=int(N)
	loop
	N=strmid(RDT,1578,3);相手場のイベントカード内容３桁＊１
	EC(PL(2),1)=int(N)
	repeat 4,1
	N=strmid(RDT,1578+cnt*3,3);相手キャラクター内容３桁＊１
	CC(PL(2),cnt)=int(N)
	loop
	repeat 4,1
	N=strmid(RDT,1591+cnt*2,2);被変更要求内容２桁＊４
	AW(cnt)=int(N)
	loop

	CH(0)=strmid(RDT,1601,100)

	gosub *REQANSWER
	gosub *STE
	return

*REQANSWER;相手行動による変更
	switch AW(1)
	case 1
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの体力+1（"+LP(PL(2))+"）"
	swbreak
	case 2
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの体力-1（"+LP(PL(2))+"）"
	swbreak
	case 3
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの呪力+1（"+MP(PL(2))+"）"
	swbreak
	case 4
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの呪力-1（"+MP(PL(2))+"）"
	swbreak
	case 5
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの呪力+"+(SC(PL(2),0)+1)+"（"+MP(PL(2))+"）"
	swbreak
	case 6
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんがカードを1枚引きました"
	swbreak
	case 7
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが自分の山札を見ました"
	swbreak
	case 8
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが自分の山札を見るのをやめました"
	swbreak
	case 11
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが手札を公開しました"
	repeat 40,1
	if cnt>HC(PL(2),0):break
	CN=HC(PL(2),cnt):gosub *CARDNAME
	gosub *CHATADD:gosub *CARDKIND
	if GN=2:CH(1)=""+PN(PL(2))+"さんの手札"+cnt+"：『"+N+"』"+"（スペルカード）"
	if GN=3:CH(1)=""+PN(PL(2))+"さんの手札"+cnt+"：『"+N+"』"+"（サポートカード）"
	if GN=4:CH(1)=""+PN(PL(2))+"さんの手札"+cnt+"：『"+N+"』"+"（イベントカード）"
	loop
	swbreak
	case 12
	CN=GC(PL(2),GC(PL(2),0)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から無作為に捨てました"
	swbreak
	case 13
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが手札を全て山札の上に置きました"
	swbreak
	case 14
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが山札をシャッフルしました"
	swbreak
	case 15
	CN=GC(PL(2),GC(PL(2),0)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を山札の上から捨札しました"
	swbreak
	case 16
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが捨札置き場のカードを全て山札の上置きました"
	swbreak
	case 17
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが捨札置き場のカードを全て手札に戻しました"
	swbreak
	case 21
	CN=SC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出しました"
	swbreak
	case 22
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から捨てました"
	swbreak
	case 23
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんがカードを1枚を手札から山札の上に置きました"
	swbreak
	case 24
	if AW(2)>0:CN=GC(PL(2),AW(2)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	CN=EC(PL(2),1):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出しました"
	swbreak
	case 31
	CN=AS(PL(2),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"
	CN=AC(PL(2),AW(2)):gosub *CARDNAME
	CH(1)+=""+PN(PL(2))+"さんの『"+N+"』に付けました"
	swbreak
	case 32
	CN=SS(PL(2),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"
	CN=SC(PL(2),AW(2)):gosub *CARDNAME
	CH(1)+=""+PN(PL(2))+"さんの『"+N+"』に付けました"
	swbreak
	case 33
	CN=AS(PL(1),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"
	CN=AC(PL(1),AW(2)):gosub *CARDNAME
	CH(1)+=""+PN(PL(1))+"さんの『"+N+"』に付けました"
	swbreak
	case 34
	CN=SS(PL(1),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"
	CN=SC(PL(1),AW(2)):gosub *CARDNAME
	CH(1)+=""+PN(PL(1))+"さんの『"+N+"』に付けました"
	swbreak
	case 35
	if AW(2)>0:CN=GC(PL(2),AW(2)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	CN=FS(PL(2),1):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出しました"
	swbreak
	case 36
	CN=RS(PL(2),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"+PN(PL(2))+"さんのリーダーに付けました"
	swbreak
	case 37
	CN=RS(PL(1),AW(2),PL(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を手札から場に出し、"+PN(PL(1))+"さんのリーダーに付けました"
	swbreak
	case 41
	CN=AC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を起動状態にしました"
	AS(PL(2),AW(2),PL(1))=SS(PL(2),AW(3),PL(1))
	repeat 39,1
	if cnt>=AW(3):SS(PL(2),cnt,PL(1))=SS(PL(2),cnt+1,PL(1)):SS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 42
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から捨札しました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if SS(PL(2),AW(4),PL(1))>0:CN=SS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=45
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(SS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=SS(PL(2),AW(4),PL(1)):SS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):SS(PL(2),cnt,PL(1))=SS(PL(2),cnt+1,PL(1)):SS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 43
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から手札に戻しました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if SS(PL(2),AW(4),PL(1))>0:CN=SS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=45
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(SS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=SS(PL(2),AW(4),PL(1)):SS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):SS(PL(2),cnt,PL(1))=SS(PL(2),cnt+1,PL(1)):SS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 44
	CN=LC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から山札の上に置きました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if SS(PL(2),AW(4),PL(1))>0:CN=SS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=45
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(SS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=SS(PL(2),AW(4),PL(1)):SS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):SS(PL(2),cnt,PL(1))=SS(PL(2),cnt+1,PL(1)):SS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 45
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	swbreak
	case 46
	CN=SC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を準備状態にしました"
	SS(PL(2),AW(2),PL(1))=AS(PL(2),AW(3),PL(1))
	repeat 39,1
	if cnt>=AW(3):AS(PL(2),cnt,PL(1))=AS(PL(2),cnt+1,PL(1)):AS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 47
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から捨札しました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if AS(PL(2),AW(4),PL(1))>0:CN=AS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=50
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(AS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=AS(PL(2),AW(4),PL(1)):AS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):AS(PL(2),cnt,PL(1))=AS(PL(2),cnt+1,PL(1)):AS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 48
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から手札に戻しました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if AS(PL(2),AW(4),PL(1))>0:CN=AS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=50
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(AS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=AS(PL(2),AW(4),PL(1)):AS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):AS(PL(2),cnt,PL(1))=AS(PL(2),cnt+1,PL(1)):AS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 49
	CN=LC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から山札の上に置きました"
	if AW(3)>0:CN=GC(PL(2),AW(3)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	if AS(PL(2),AW(4),PL(1))>0:CN=AS(PL(2),AW(4),PL(1)):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(1)=50
	repeat 40,1
	if (GC(PL(1),cnt)=0)&(AS(PL(2),AW(4),PL(1))):GC(PL(1),cnt)=AS(PL(2),AW(4),PL(1)):AS(PL(2),AW(4),PL(1))=0:GC(PL(1),0)++:RQ(2)=cnt:break
	loop
	repeat 39,1
	if cnt>=AW(4):AS(PL(2),cnt,PL(1))=AS(PL(2),cnt+1,PL(1)):AS(PL(2),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 50
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんの『"+N+"』が場から捨札されました"
	swbreak
	case 51
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から捨札しました"
	repeat 79,1
	if AW(3)!1:break
	if cnt>=AW(4):RS(PL(2),cnt,PL(1))=RS(PL(2),cnt+1,PL(1)):RS(PL(2),cnt+1,PL(1))=0
	loop
	repeat 79,1
	if AW(3)!2:break
	if cnt>=AW(4):RS(PL(1),cnt,PL(1))=RS(PL(1),cnt+1,PL(1)):RS(PL(1),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 52
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から手札に戻しました"
	repeat 79,1
	if AW(3)!1:break
	if cnt>=AW(4):RS(PL(2),cnt,PL(1))=RS(PL(2),cnt+1,PL(1)):RS(PL(2),cnt+1,PL(1))=0
	loop
	repeat 79,1
	if AW(3)!2:break
	if cnt>=AW(4):RS(PL(1),cnt,PL(1))=RS(PL(1),cnt+1,PL(1)):RS(PL(1),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 53
	CN=LC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から山札の上に置きました"
	repeat 79,1
	if AW(3)!1:break
	if cnt>=AW(4):RS(PL(2),cnt,PL(1))=RS(PL(2),cnt+1,PL(1)):RS(PL(2),cnt+1,PL(1))=0
	loop
	repeat 79,1
	if AW(3)!2:break
	if cnt>=AW(4):RS(PL(1),cnt,PL(1))=RS(PL(1),cnt+1,PL(1)):RS(PL(1),cnt+1,PL(1))=0
	loop
	TM=1
	swbreak
	case 54
	CN=GC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から捨札しました"
	swbreak
	case 55
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から手札に戻しました"
	swbreak
	case 56
	CN=LC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を場から山札の上に置きました"
	swbreak
	case 61
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが山札からカードを1枚探して手札に加えました"
	swbreak
	case 62
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を山札から探して手札に加えました"
	swbreak
	case 63
	CN=HC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を捨札置き場から手札に戻しました"
	swbreak
	case 64
	CN=LC(PL(2),AW(2)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが『"+N+"』を捨札置き場から山札の上に置きました"
	swbreak
	case 65
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんが山札からカードを1枚探して、山札をシャッフルしてから上に置きました"
	swbreak
	case 71
	gosub *CHATADD:CH(1)=""+PN(PL(2))+"さんがデッキをロードしました"
	if AW(2)=1:gosub *CHATADD:CH(1)="コインを投げて　表　がでました"
	if AW(2)=2:gosub *CHATADD:CH(1)="コインを投げて　裏　がでました"
	swbreak
	case 81
	gosub *CHATADD:CH(1)=CH(0):CH(0)=""
	swbreak
	swend
	repeat 5
	AW(cnt)=0
	loop
	RDT=""
	return


*SINGLE;シングルメイン
	CSR=0
	x=mousex:y=mousey
	redraw 0
	await 17
	if (abs(x-mousex)>10)|(abs(y-mousey)>10):gosub *STE
	stick STC
	if (STC=256)|(STC=512):gosub *STE
	gosub *ACTCHK
	redraw 1
	if (STC=256)&(CSR=302):gosub *RESET:clrobj:goto *TITL
	goto *SINGLE

*ACTCHK;行動チェック
	if (STC=256)&(CSR>=1)&(CSR<9):SL(1)=1:SL(2)=PG(1):SL(3)=CSR:gosub *STE:return
	if (STC=256)&(CSR>=11)&(CSR<21):SL(1)=2:SL(2)=PG(2):SL(3)=CSR-10:gosub *STE:return
	if (STC=256)&(CSR>=21)&(CSR<31):SL(1)=3:SL(2)=PG(3):SL(3)=CSR-20:gosub *STE:return
	if (STC=256)&(CSR>=31)&(CSR<41):SL(1)=5:SL(2)=PG(2):SL(3)=CSR-30:gosub *STE:return
	if (STC=256)&(CSR>=41)&(CSR<51):SL(1)=6:SL(2)=PG(3):SL(3)=CSR-40:gosub *STE:return
	if (STC=256)&(CSR>=51)&(CSR<61):SL(1)=7:SL(2)=PG(4):SL(3)=CSR-50:gosub *STE:return
	if (STC=256)&(CSR>=61)&(CSR<71):SL(1)=8:SL(2)=PG(5):SL(3)=CSR-60:gosub *STE:return
	if (STC=256)&(CSR>=71)&(CSR<81):SL(1)=9:SL(2)=PG(6):SL(3)=CSR-70:gosub *STE:return
	if (STC=256)&(CSR>=81)&(CSR<88):SL(1)=10:SL(2)=PG(7):SL(3)=CSR-80:gosub *STE:return
	if (STC=256)&(CSR=89):SL(1)=11:SL(3)=CSR-88:gosub *STE:return
	if (STC=256)&(CSR=91):SL(1)=12:SL(3)=CSR-90:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=1)&(PG(8)=0):gosub *HANDACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=1)&(PG(8)=1):gosub *LIBRARYCARDACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=1)&(PG(8)=2):gosub *GRAVECARDACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=2):gosub *SPELLACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=3):gosub *ATTACKACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<200)&(SL(1)=4):gosub *PLAYSUPPORTACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)>=5)&(SL(1)<12):gosub *SUPPORTACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=12):gosub *EVENTACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=15):gosub *HANDALLACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=16):gosub *LIBALLACT:gosub *STE:return
	if (STC=256)&(CSR>=101)&(CSR<110)&(SL(1)=17):gosub *GRAVEALLACT:gosub *STE:return
	if (STC=256)&(CSR=201):gosub *DRAW:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんがカードを1枚引きました":RQ(1)=6:TM=1:gosub *STE:return
	if (STC=256)&(CSR=202):PG(1)--:gosub *STE:return
	if (STC=256)&(CSR=203):PG(1)++:gosub *STE:return
	if (STC=256)&(CSR=204):LP(PL(1))++:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの体力+1（"+LP(PL(1))+"）":RQ(1)=1:TM=1:gosub *STE:return
	if (STC=256)&(CSR=205):LP(PL(1))--:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの体力-1（"+LP(PL(1))+"）":RQ(1)=2:TM=1:gosub *STE:return
	if (STC=256)&(CSR=206):MP(PL(1))++:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの呪力+1（"+MP(PL(1))+"）":RQ(1)=3:TM=1:gosub *STE:return
	if (STC=256)&(CSR=207):MP(PL(1))--:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの呪力-1（"+MP(PL(1))+"）":RQ(1)=4:TM=1:gosub *STE:return
	if (STC=256)&(CSR=208)&(PG(8)!0)&(SL(1)=1):gosub *RESETSL
	if (STC=256)&(CSR=208)&(PG(8)=1):gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが自分の山札を見るのをやめました":RQ(1)=8:TM=1
	if (STC=256)&(CSR=208)&(PG(8)!0):PG(8)=0:PG(1)=0
	if (STC=256)&(CSR=208)&(HC(PL(1),0)>0):SL(1)=15:gosub *STE:return
	if (STC=256)&(CSR=209):SL(1)=16:gosub *STE:return
	if (STC=256)&(CSR=210):SL(1)=17:gosub *STE:return
	if (STC=256)&(CSR>=211)&(CSR<=213)&(SL(1)=1):gosub *RESETSL
	if (STC=256)&(CSR=211):PG(8)=1:PG(1)=0:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが自分の山札を見ました":RQ(1)=7:TM=1:gosub *STE:return
	if (STC=256)&(CSR>=212)&(CSR<=213)&(PG(8)=1):gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが自分の山札を見るのをやめました":RQ(1)=8:TM=1
	if (STC=256)&(CSR=212):PG(8)=2:PG(1)=0:gosub *STE:return
	if (STC=256)&(CSR=213):PG(8)=3:PG(1)=0:gosub *STE:return
	if (STC=256)&(CSR=214):PG(2)--:gosub *STE:return
	if (STC=256)&(CSR=215):PG(2)++:gosub *STE:return
	if (STC=256)&(CSR=216):PG(3)--:gosub *STE:return
	if (STC=256)&(CSR=217):PG(3)++:gosub *STE:return
	if (STC=256)&(CSR=218):PG(4)--:gosub *STE:return
	if (STC=256)&(CSR=219):PG(4)++:gosub *STE:return
	if (STC=256)&(CSR=220):PG(5)--:gosub *STE:return
	if (STC=256)&(CSR=221):PG(5)++:gosub *STE:return
	if (STC=256)&(CSR=222):PG(6)--:gosub *STE:return
	if (STC=256)&(CSR=223):PG(6)++:gosub *STE:return
	if (STC=256)&(CSR=224):PG(7)--:gosub *STE:return
	if (STC=256)&(CSR=225):PG(7)++:gosub *STE:return
	if (STC=256)&(CSR=230):MP(PL(1))+=SC(PL(1),0)+1
	if (STC=256)&(CSR=230)&(MP(PL(1))>999):MP(PL(1))=999
	if (STC=256)&(CSR=230):gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの呪力+"+(SC(PL(1),0)+1)+"（"+MP(PL(1))+"）":RQ(1)=5:TM=1:gosub *STE:return
	if (STC=256)&(CSR=251):PG(9)++:gosub *STE:return
	if (STC=256)&(CSR=252):PG(9)--:gosub *STE:return
	if (STC=256)&(CSR=253):PG(9)=0:gosub *STE:return
	if (STC=256)&(CSR=301):gosub *STE:goto *NEW
	getkey A,13
	;getkey B,16
	;if (A=1)&(B=1):gosub *SAY:return
	if (A=1):gosub *SAY:gosub *STE:return
	if (STC=256)&(CSR=310):gosub *SAY:gosub *STE:return
	if STC=512:gosub *CARDTEXT
	return

*STE;表示やパラメータ
	pos 0,0:gcopy 3,0,0,800,600
	font "MS UI Gothic",20,17:color 0,0,0
	pos 670,35:mes LP(PL(2)):pos 760,35:mes MP(PL(2))
	pos 670,60:mes HC(PL(2),0):pos 760,60:mes LC(PL(2),0):pos 670,85:mes GC(PL(2),0)
	pos 670,160:mes LP(PL(1)):pos 670,185:mes MP(PL(1)):pos 670,210:mes LC(PL(1),0):pos 670,235:mes GC(PL(1),0):pos 670,260:mes HC(PL(1),0)
	gosub *LISTDISP
	if (mousex>=695)&(mousex<730)&(mousey>=260)&(mousey<280)&(LC(PL(1),0)>0):color 80,255,80:CSR=201:else:color 100,100,100
	boxf 695,260,729,279:font "MS UI Gothic",20,17:color 0,0,0:pos 695,260:mes "引く"
	if (mousex>=700)&(mousex<720)&(mousey>=160)&(mousey<180)&(LP(PL(1))<99):color 80,255,80:CSR=204:else:color 100,100,100
	boxf 700,160,719,179:font "MS UI Gothic",20,17:color 0,0,0:pos 700,160:mes "↑"
	if (mousex>=730)&(mousex<750)&(mousey>=160)&(mousey<180)&(LP(PL(1))>0):color 80,255,80:CSR=205:else:color 100,100,100
	boxf 730,160,749,179:font "MS UI Gothic",20,17:color 0,0,0:pos 730,160:mes "↓"
	if (mousex>=700)&(mousex<720)&(mousey>=185)&(mousey<205)&(MP(PL(1))<999):color 80,255,80:CSR=206:else:color 100,100,100
	boxf 700,185,719,204:font "MS UI Gothic",20,17:color 0,0,0:pos 700,185:mes "↑"
	if (mousex>=730)&(mousex<750)&(mousey>=185)&(mousey<205)&(MP(PL(1))>0):color 80,255,80:CSR=207:else:color 100,100,100
	boxf 730,185,749,204:font "MS UI Gothic",20,17:color 0,0,0:pos 730,185:mes "↓"
	if (mousex>=615)&(mousex<657)&(mousey>=260)&(mousey<280)&(HC(PL(1),0)>0):color 80,255,80:CSR=208:else:color 100,100,100
	if (mousex>=615)&(mousex<657)&(mousey>=260)&(mousey<280)&(PG(8)!0):color 80,255,80:CSR=208
	boxf 615,260,656,279:font "MS UI Gothic",20,17:color 0,0,0:pos 615,260:mes "手札："
	if (mousex>=615)&(mousex<657)&(mousey>=210)&(mousey<230)&(LC(PL(1),0)>0):color 80,255,80:CSR=209:else:color 100,100,100
	boxf 615,210,656,229:font "MS UI Gothic",20,17:color 0,0,0:pos 615,210:mes "山札："
	if (mousex>=615)&(mousex<657)&(mousey>=235)&(mousey<255)&(GC(PL(1),0)>0):color 80,255,80:CSR=210:else:color 100,100,100
	boxf 615,235,656,254:font "MS UI Gothic",20,17:color 0,0,0:pos 615,235:mes "捨札："
	if (mousex>=700)&(mousex<740)&(mousey>=210)&(mousey<230)&(PG(8)!1):color 80,255,80:CSR=211:else:color 100,100,100
	if PG(8)=1:color 200,80,80
	boxf 700,210,739,229:font "MS UI Gothic",20,17:color 0,0,0:pos 700,210:mes "見る"
	if (mousex>=700)&(mousex<740)&(mousey>=235)&(mousey<255)&(PG(8)!2):color 80,255,80:CSR=212:else:color 100,100,100
	if PG(8)=2:color 200,80,80
	boxf 700,235,739,254:font "MS UI Gothic",20,17:color 0,0,0:pos 700,235:mes "見る"
	if (mousex>=700)&(mousex<740)&(mousey>=85)&(mousey<104)&(PG(8)!3):color 80,255,80:CSR=213:else:color 100,100,100
	if PG(8)=3:color 200,80,80
	boxf 700,85,739,104:font "MS UI Gothic",20,17:color 0,0,0:pos 700,85:mes "見る"
	if PG(2)>(SC(PL(1),0)-1)/10:PG(2)=0
	if (mousex>=572)&(mousex<591)&(mousey>=420)&(mousey<440)&(PG(2)>0):color 80,255,80:CSR=214:else:color 100,100,100
	boxf 572,420,591,439:font "MS UI Gothic",20,17:color 0,0,0:pos 572,420:mes "↑"
	if (mousex>=572)&(mousex<591)&(mousey>=455)&(mousey<475)&(PG(2)>=0)&(PG(2)<(SC(PL(1),0)-1)/10):color 80,255,80:CSR=215:else:color 100,100,100
	boxf 572,455,591,474:font "MS UI Gothic",20,17:color 0,0,0:pos 572,455:mes "↓"
	if PG(3)>(AC(PL(1),0)-1)/10:PG(3)=0
	if (mousex>=572)&(mousex<591)&(mousey>=325)&(mousey<345)&(PG(3)>0):color 80,255,80:CSR=216:else:color 100,100,100
	boxf 572,325,591,344:font "MS UI Gothic",20,17:color 0,0,0:pos 572,325:mes "↑"
	if (mousex>=572)&(mousex<591)&(mousey>=360)&(mousey<380)&(PG(3)>=0)&(PG(3)<(AC(PL(1),0)-1)/10):color 80,255,80:CSR=217:else:color 100,100,100
	boxf 572,360,591,379:font "MS UI Gothic",20,17:color 0,0,0:pos 572,360:mes "↓"
	if PG(4)>(SC(PL(2),0)-1)/10:PG(4)=0
	if (mousex>=8)&(mousex<28)&(mousey>=25)&(mousey<45)&(PG(4)>0):color 80,255,80:CSR=218:else:color 100,100,100
	boxf 8,25,27,44:font "MS UI Gothic",20,17:color 0,0,0:pos 8,25:mes "↑"
	if (mousex>=8)&(mousex<28)&(mousey>=60)&(mousey<80)&(PG(4)>=0)&(PG(4)<(SC(PL(2),0)-1)/10):color 80,255,80:CSR=219:else:color 100,100,100
	boxf 8,60,27,79:font "MS UI Gothic",20,17:color 0,0,0:pos 8,60:mes "↓"
	if PG(5)>(AC(PL(2),0)-1)/10:PG(5)=0
	if (mousex>=8)&(mousex<28)&(mousey>=120)&(mousey<140)&(PG(5)>0):color 80,255,80:CSR=220:else:color 100,100,100
	boxf 8,120,27,139:font "MS UI Gothic",20,17:color 0,0,0:pos 8,120:mes "↑"
	if (mousex>=8)&(mousex<28)&(mousey>=155)&(mousey<174)&(PG(5)>=0)&(PG(5)<(AC(PL(2),0)-1)/10):color 80,255,80:CSR=221:else:color 100,100,100
	boxf 8,155,27,174:font "MS UI Gothic",20,17:color 0,0,0:pos 8,155:mes "↓"
	A=0
	repeat 15,1
	if RS(PL(1),5*cnt+1,PL(1))>0:A=cnt
	if RS(PL(1),5*cnt+1,PL(2))>0:A=cnt
	loop
	if PG(6)>A:PG(6)=0
	if (mousex>=7)&(mousex<27)&(mousey>=473)&(mousey<493)&(PG(6)>0):color 80,255,80:CSR=222:else:color 100,100,100
	boxf 7,473,26,492:font "MS UI Gothic",20,17:color 0,0,0:pos 7,473:mes "←"
	if (mousex>=42)&(mousex<61)&(mousey>=473)&(mousey<493)&(PG(6)>=0)&(PG(6)<A):color 80,255,80:CSR=223:else:color 100,100,100
	boxf 42,473,61,492:font "MS UI Gothic",20,17:color 0,0,0:pos 42,473:mes "→"
	A=0
	repeat 15,1
	if RS(PL(2),5*cnt+1,PL(1))>0:A=cnt
	if RS(PL(2),5*cnt+1,PL(2))>0:A=cnt
	loop
	if PG(7)>A:PG(7)=0
	if (mousex>=538)&(mousex<558)&(mousey>=7)&(mousey<27)&(PG(7)>0):color 80,255,80:CSR=224:else:color 100,100,100
	boxf 538,7,557,26:font "MS UI Gothic",20,17:color 0,0,0:pos 538,7:mes "←"
	if (mousex>=573)&(mousex<593)&(mousey>=7)&(mousey<27)&(PG(7)>=0)&(PG(7)<A):color 80,255,80:CSR=225:else:color 100,100,100
	boxf 573,7,592,26:font "MS UI Gothic",20,17:color 0,0,0:pos 573,7:mes "→"
	if (mousex>=760)&(mousex<780)&(mousey>=185)&(mousey<205):color 80,255,80:CSR=230:else:color 100,100,100
	boxf 760,185,779,204:font "MS UI Gothic",20,17:color 0,0,0:pos 760,185:mes "充"
	if (mousex>=580)&(mousex<600)&(mousey>=500)&(mousey<520)&(PG(9)<100):color 80,255,80:CSR=251:else:color 100,100,100
	boxf 580,500,599,519:font "MS UI Gothic",20,17:color 0,0,0:pos 580,500:mes "↑"
	if (mousex>=580)&(mousex<600)&(mousey>=555)&(mousey<575)&(PG(9)>0):color 80,255,80:CSR=252:else:color 100,100,100
	boxf 580,555,599,574:font "MS UI Gothic",20,17:color 0,0,0:pos 580,555:mes "↓"
	if (mousex>=580)&(mousex<600)&(mousey>=580)&(mousey<600)&(PG(9)>0):color 80,255,80:CSR=253:else:color 100,100,100
	boxf 580,580,599,599:font "MS UI Gothic",20,17:color 0,0,0:pos 575,580:mes "↓":pos 585,580:mes "↓"
	font "MS UI Gothic",25,17:color 0,0,0:pos 680,434:mes "選択"
	gosub *SEL
	if (mousex>=625)&(mousex<725)&(mousey>=575)&(mousey<595):color 80,255,80:CSR=301:else:color 100,100,100
	boxf 625,575,724,594:color 0,0,0:font "MS UI Gothic",20,17:pos 625,575:mes "NEWGAME"
	if (mousex>=745)&(mousex<785)&(mousey>=575)&(mousey<595):color 80,255,80:CSR=302:else:color 100,100,100
	boxf 745,575,784,594:color 0,0,0:font "MS UI Gothic",20,17:pos 745,575:mes "終了"
	if (mousex>=535)&(mousex<575)&(mousey>=580)&(mousey<600):color 80,255,80:CSR=310:else:color 100,100,100
	boxf 535,580,575,599:color 0,0,0:font "MS UI Gothic",20,17:pos 535,580:mes "送信"
	gosub *SUPPORTDISP
	gosub *CHARADISP
	gosub *SPELLDISP
	gosub *EVENTDISP
	if SL(1)=4:goto *@f
	repeat 8,1
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(HC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=0):CSR=cnt
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(LC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=1):CSR=cnt
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(GC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=2):CSR=cnt
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=413)&(mousey<493)&(SS(PL(1),cnt+PG(2)*10,PL(1))>0):CSR=cnt+30
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=320)&(mousey<400)&(AS(PL(1),cnt+PG(3)*10,PL(1))>0):CSR=cnt+40
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=7)&(mousey<87)&(SS(PL(2),cnt+PG(4)*10,PL(1))>0):CSR=cnt+50
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=100)&(mousey<180)&(AS(PL(2),cnt+PG(5)*10,PL(1))>0):CSR=cnt+60
	loop
	repeat 5,1
	if (mousex>=74)&(mousex<129)&(mousey>=280+27*cnt)&(mousey<360+27*cnt)&(RS(PL(1),cnt+PG(6)*5,PL(1))>0):CSR=cnt+70
	loop
	repeat 5,1
	if (mousex>=471)&(mousex<526)&(mousey>=140-27*cnt)&(mousey<220-27*cnt)&(RS(PL(2),cnt+PG(7)*5,PL(1))>0):CSR=cnt+80
	loop
	if (mousex>=240)&(mousex<295)&(mousey>=210)&(mousey<290)&(FS(PL(1),1)>0):CSR=cnt+89
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<178+cnt*39)&(mousey>=400)&(mousey<455)&(SC(PL(1),cnt+PG(2)*10)>0):CSR=cnt+10
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=307)&(mousey<387)&(AC(PL(1),cnt+PG(3)*10)>0):CSR=cnt+20
	loop
	if (mousex>=180)&(mousex<235)&(mousey>=220)&(mousey<300)&(EC(PL(1),1)>0):CSR=91
*@
	gosub *NAMEDISP
	gosub *CHAT
	return

*LISTDISP;手札（捨札・山札）欄
	color 0,0,0:boxf 610,285,799,413:color 255,255,255:font "MS UI Gothic",15,17
	switch PG(8)
	case 0
	if PG(1)>(HC(PL(1),0)-1)/8:PG(1)=0
	repeat 8,1
	pos 610,270+cnt*16:CN=HC(PL(1),cnt+PG(1)*8):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	if (mousex>=740)&(mousex<760)&(mousey>=260)&(mousey<280)&(PG(1)>0):color 80,255,80:CSR=202:else:color 100,100,100
	boxf 740,260,759,279:font "MS UI Gothic",20,17:color 0,0,0:pos 740,260:mes "←"
	if (mousex>=770)&(mousex<790)&(mousey>=260)&(mousey<280)&(PG(1)>=0)&(PG(1)<(HC(PL(1),0)-1)/8):color 80,255,80:CSR=203:else:color 100,100,100
	boxf 770,260,789,279:font "MS UI Gothic",20,17:color 0,0,0:pos 770,260:mes "→"
	swbreak
	case 1
	if PG(1)>(LC(PL(1),0)-1)/8:PG(1)=0
	repeat 8,1
	pos 610,270+cnt*16:CN=LC(PL(1),cnt+PG(1)*8):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	if (mousex>=740)&(mousex<760)&(mousey>=260)&(mousey<280)&(PG(1)>0):color 80,255,80:CSR=202:else:color 100,100,100
	boxf 740,260,759,279:font "MS UI Gothic",20,17:color 0,0,0:pos 740,260:mes "←"
	if (mousex>=770)&(mousex<790)&(mousey>=260)&(mousey<280)&(PG(1)>=0)&(PG(1)<(LC(PL(1),0)-1)/8):color 80,255,80:CSR=203:else:color 100,100,100
	boxf 770,260,789,279:font "MS UI Gothic",20,17:color 0,0,0:pos 770,260:mes "→"
	swbreak
	case 2
	if PG(1)>(GC(PL(1),0)-1)/8:PG(1)=0
	repeat 8,1
	pos 610,270+cnt*16:CN=GC(PL(1),cnt+PG(1)*8):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	if (mousex>=740)&(mousex<760)&(mousey>=260)&(mousey<280)&(PG(1)>0):color 80,255,80:CSR=202:else:color 100,100,100
	boxf 740,260,759,279:font "MS UI Gothic",20,17:color 0,0,0:pos 740,260:mes "←"
	if (mousex>=770)&(mousex<790)&(mousey>=260)&(mousey<280)&(PG(1)>=0)&(PG(1)<(GC(PL(1),0)-1)/8):color 80,255,80:CSR=203:else:color 100,100,100
	boxf 770,260,789,279:font "MS UI Gothic",20,17:color 0,0,0:pos 770,260:mes "→"
	swbreak
	case 3
	if PG(1)>(GC(PL(2),0)-1)/8:PG(1)=0
	repeat 8,1
	pos 610,270+cnt*16:CN=GC(PL(2),cnt+PG(1)*8):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	if (mousex>=740)&(mousex<760)&(mousey>=260)&(mousey<280)&(PG(1)>0):color 80,255,80:CSR=202:else:color 100,100,100
	boxf 740,260,759,279:font "MS UI Gothic",20,17:color 0,0,0:pos 740,260:mes "←"
	if (mousex>=770)&(mousex<790)&(mousey>=260)&(mousey<280)&(PG(1)>=0)&(PG(1)<(GC(PL(2),0)-1)/8):color 80,255,80:CSR=203:else:color 100,100,100
	boxf 770,260,789,279:font "MS UI Gothic",20,17:color 0,0,0:pos 770,260:mes "→"
	swbreak
	swend
	return

*SEL;選択
	color 0,0,0:boxf 610,464,799,480:font "MS UI Gothic",15,17:color 255,255,255:pos 610,465:GN=5:gosub *GRA
	if (SL(1)=1)&(PG(8)=0):CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	if (SL(1)=1)&(PG(8)=1):CN=LC(PL(1),SL(2)*8+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	if (SL(1)=1)&(PG(8)=2):CN=GC(PL(1),SL(2)*8+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	if (SL(1)=4)&(PG(8)=0):CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	if (SL(1)=1)&(GN=2)&(PG(8)=0):goto *HANDSPELL
	if (SL(1)=1)&(GN=3)&(PG(8)=0):goto *HANDSUPPORT
	if (SL(1)=1)&(GN=4)&(PG(8)=0):goto *HANDEVENT
	if (SL(1)=1)&(PG(8)=1):goto *LIBRARYCARD
	if (SL(1)=1)&(PG(8)=2):goto *GRAVECARD
	if (SL(1)=4):goto *PLAYSUPPORT
	if SL(1)=2:CN=SC(PL(1),SL(2)*10+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SPELLCARD
	if SL(1)=3:CN=AC(PL(1),SL(2)*10+SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N::goto *ATTACKCARD
	if (SL(1)=5):CN=SS(PL(1),SL(2)*10+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=6):CN=AS(PL(1),SL(2)*10+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=7):CN=SS(PL(2),SL(2)*10+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=8):CN=AS(PL(2),SL(2)*10+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=9):CN=RS(PL(1),SL(2)*5+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=10):CN=RS(PL(2),SL(2)*5+SL(3),PL(1)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if (SL(1)=11):CN=FS(PL(1),1):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *SUPPORTCARD
	if SL(1)=12:CN=EC(PL(1),SL(3)):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N:goto *EVENTCARD
	if SL(1)=15:CN=0:gosub *CARDKIND:gosub *GRA:mes "手札":goto *HANDALL
	if SL(1)=16:CN=0:gosub *CARDKIND:gosub *GRA:mes "山札":goto *LIBALL
	if SL(1)=17:CN=0:gosub *CARDKIND:gosub *GRA:mes "捨札":goto *GRAVEALL
	return

*HANDALL;手札全体アクションの選択
	if (mousex>=627)&(mousex<707)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,706,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "公開する"
	if (mousex>=627)&(mousex<769)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,768,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "無作為に捨てる"
	if (mousex>=617)&(mousex<795)&(mousey>=535)&(mousey<554):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 617,535,794,554:font "MS UI Gothic",20,17:color 0,0,0:pos 617,535:mes "全て山札の上に置く"
	return

*HANDALLACT;手札全体のアクション
	switch CSR
	case 101
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが手札を公開しました"
	repeat 40,1
	if cnt>HC(PL(1),0):break
	CN=HC(PL(1),cnt):gosub *CARDNAME
	gosub *CHATADD:gosub *CARDKIND
	if GN=2:CH(1)=""+PN(PL(1))+"さんの手札"+cnt+"：『"+N+"』"+"（スペルカード）"
	if GN=3:CH(1)=""+PN(PL(1))+"さんの手札"+cnt+"：『"+N+"』"+"（サポートカード）"
	if GN=4:CH(1)=""+PN(PL(1))+"さんの手札"+cnt+"：『"+N+"』"+"（イベントカード）"
	loop
	RQ(1)=11
	swbreak
	case 102
	randomize
	A=rnd(HC(PL(1),0))+1
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=HC(PL(1),A):HC(PL(1),A)=0:break
	loop
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	GC(PL(1),0)++:HC(PL(1),0)--
	CN=GC(PL(1),GC(PL(1),0)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から無作為に捨てました"
	RQ(1)=12
	swbreak
	case 103
	repeat 40,1
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=HC(PL(1),HC(PL(1),0)):HC(PL(1),HC(PL(1),0))=0
	LC(PL(1),0)++:HC(PL(1),0)--
	if HC(PL(1),0)=0:break
	loop
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが手札を全て山札の上に置きました"
	RQ(1)=13
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*LIBALL;山札全体アクションの選択
	if (mousex>=627)&(mousex<719)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,718,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "シャッフル"
	if (mousex>=627)&(mousex<784)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,783,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "上から１枚捨て札"
	return
*LIBALLACT;山札全体のアクション
	switch CSR
	case 101
	gosub *SHUFFLE
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが山札をシャッフルしました"
	RQ(1)=14
	swbreak
	case 102
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=LC(PL(1),1):LC(PL(1),1)=0:break
	loop
	repeat 39,1
	if LC(PL(1),cnt)=0:LC(PL(1),cnt)=LC(PL(1),cnt+1):LC(PL(1),cnt+1)=0
	loop
	GC(PL(1),0)++:LC(PL(1),0)--
	CN=GC(PL(1),GC(PL(1),0)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を山札の上から捨札しました"
	RQ(1)=15
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*GRAVEALL;捨札全体アクションの選択
	if (mousex>=617)&(mousex<795)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 617,485,794,504:font "MS UI Gothic",20,17:color 0,0,0:pos 617,485:mes "全て山札の上に置く"
	if (mousex>=627)&(mousex<770)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,769,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "全て手札に戻す"
	return
*GRAVEALLACT;捨札全体のアクション
	switch CSR
	case 101
	repeat 40,1
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=GC(PL(1),GC(PL(1),0)):GC(PL(1),GC(PL(1),0))=0
	LC(PL(1),0)++:GC(PL(1),0)--
	if GC(PL(1),0)=0:break
	loop
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが捨札置き場のカードを全て山札の上置きました"
	RQ(1)=16
	swbreak
	case 102
	repeat 40,1
	HC(PL(1),HC(PL(1),0)+1)=GC(PL(1),GC(PL(1),0)):GC(PL(1),GC(PL(1),0))=0
	HC(PL(1),0)++:GC(PL(1),0)--
	if GC(PL(1),0)=0:break
	loop
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが捨札置き場のカードを全て手札に戻しました"
	RQ(1)=17
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*HANDSPELL;手札のスペルカードのアクションの選択
	if (mousex>=627)&(mousex<708)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,707,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "場に出す"
	if (mousex>=725)&(mousex<784)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 725,485,783,504:font "MS UI Gothic",20,17:color 0,0,0:pos 725,485:mes "捨てる"
	if (mousex>=627)&(mousex<766)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,510,765,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "山札の上に置く"
	return
*HANDSUPPORT;手札のサポートカードのアクションの選択
	if (mousex>=627)&(mousex<708)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=104:else:color 100,100,100
	boxf 627,485,707,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "場に出す"
	if (mousex>=725)&(mousex<784)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 725,485,783,504:font "MS UI Gothic",20,17:color 0,0,0:pos 725,485:mes "捨てる"
	if (mousex>=627)&(mousex<766)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,510,765,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "山札の上に置く"
	return
*HANDEVENT;手札のイベントカードのアクションの選択
	if (mousex>=627)&(mousex<708)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=105:else:color 100,100,100
	boxf 627,485,707,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "場に出す"
	if (mousex>=725)&(mousex<784)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 725,485,783,504:font "MS UI Gothic",20,17:color 0,0,0:pos 725,485:mes "捨てる"
	if (mousex>=627)&(mousex<766)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,510,765,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "山札の上に置く"
	return
*HANDACT;手札のアクション
	switch CSR
	case 101;スペルカードを場に出す
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出しました"
	repeat 40,1
	if SC(PL(1),cnt)=0:SC(PL(1),cnt)=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:RQ(1)=21:RQ(2)=cnt:break
	loop
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	SC(PL(1),0)++:HC(PL(1),0)--
	swbreak
	case 102;捨てる
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から捨てました"
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:RQ(1)=22:RQ(2)=cnt:break
	loop
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	GC(PL(1),0)++:HC(PL(1),0)--
	swbreak
	case 103;山札の上に戻す
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんがカードを1枚を手札から山札の上に置きました"
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:RQ(1)=23
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	LC(PL(1),0)++:HC(PL(1),0)--
	swbreak
	case 104;サポートを場に出す選択
	SL(1)=4
	swbreak
	case 105;イベントを場に出す
	repeat 40,1
	if EC(PL(1),1)=0:break
	if (GC(PL(1),cnt)=0)&(EC(PL(1),1)>0):GC(PL(1),cnt)=EC(PL(1),1):EC(PL(1),1)=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(2)=cnt:break
	loop
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出しました"
	EC(PL(1),1)=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:HC(PL(1),0)--
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	RQ(1)=24
	swbreak
	swend
	if SL(1)=4:return
	gosub *RESETSL
	TM=1
	return
*PLAYSUPPORT;サポートカードのプレイ場所の選択
	if (mousex>=627)&(mousex<688)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=171:else:color 100,100,100
	boxf 627,485,687,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "やめる"
	repeat 10,1;自分の起動スペル
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=307)&(mousey<387)&(AC(PL(1),cnt+PG(3)*10)>0)&(AS(PL(1),cnt+PG(3)*10,PL(1))=0)&(AS(PL(1),cnt+PG(3)*10,PL(2))=0):CSR=cnt+100
	loop
	repeat 10,1;自分の準備スペル
	if (mousex>=98+cnt*39)&(mousex<178+cnt*39)&(mousey>=400)&(mousey<455)&(SC(PL(1),cnt+PG(2)*10)>0)&(SS(PL(1),cnt+PG(2)*10,PL(1))=0)&(SS(PL(1),cnt+PG(2)*10,PL(2))=0):CSR=cnt+110
	loop
	repeat 10,1;相手の起動スペル
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=113)&(mousey<193)&(AC(PL(2),cnt+PG(5)*10)>0)&(AS(PL(2),cnt+PG(5)*10,PL(1))=0)&(AS(PL(2),cnt+PG(5)*10,PL(2))=0):CSR=cnt+120
	loop
	repeat 10,1;相手の準備スペル
	if (mousex>=422-cnt*39)&(mousex<502-cnt*39)&(mousey>=45)&(mousey<100)&(SC(PL(2),cnt+PG(4)*10)>0)&(SS(PL(2),cnt+PG(4)*10,PL(1))=0)&(SS(PL(2),cnt+PG(4)*10,PL(2))=0):CSR=cnt+130
	loop
	if (mousex>=0)&(mousex<600)&(mousey>=200)&(mousey<300):CSR=141;シーン
	if (mousex>=7)&(mousex<82)&(mousey>=307)&(mousey<387):CSR=151;自分のリーダー
	if (mousex>=538)&(mousex<593)&(mousey>=113)&(mousey<193):CSR=161;相手のリーダー
	return
*PLAYSUPPORTACT;サポートカードのプレイ
	repeat 8,0
	if (CSR>cnt*10+100)&(CSR<=cnt*10+110):SL(4)=cnt:break
	loop
	switch SL(4)
	case 0
	AS(PL(1),CSR-100+PG(3)*10,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0
	CN=AS(PL(1),CSR-100+PG(3)*10,PL(1)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"
	CN=AC(PL(1),CSR-100+PG(3)*10):gosub *CARDNAME
	CH(1)+=""+PN(PL(1))+"さんの『"+N+"』に付けました"
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=31:RQ(2)=CSR-100+PG(3)*10
	swbreak
	case 1
	SS(PL(1),CSR-110+PG(2)*10,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0
	CN=SS(PL(1),CSR-110+PG(2)*10,PL(1)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"
	CN=SC(PL(1),CSR-110+PG(2)*10):gosub *CARDNAME
	CH(1)+=""+PN(PL(1))+"さんの『"+N+"』に付けました"
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=32:RQ(2)=CSR-110+PG(3)*10
	swbreak
	case 2
	AS(PL(2),CSR-120+PG(5)*10,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0
	CN=AS(PL(2),CSR-120+PG(5)*10,PL(1)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"
	CN=AC(PL(2),CSR-120+PG(5)*10):gosub *CARDNAME
	CH(1)+=""+PN(PL(2))+"さんの『"+N+"』に付けました"
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=33:RQ(2)=CSR-120+PG(3)*10
	swbreak
	case 3
	SS(PL(2),CSR-130+PG(4)*10,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0
	CN=SS(PL(2),CSR-130+PG(4)*10,PL(1)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"
	CN=SC(PL(2),CSR-130+PG(4)*10):gosub *CARDNAME
	CH(1)+=""+PN(PL(2))+"さんの『"+N+"』に付けました"
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=34:RQ(2)=CSR-130+PG(3)*10
	swbreak
	case 4
	repeat 40,1
	if FS(PL(1),1)=0:break
	if (GC(PL(1),cnt)=0)&(FS(PL(1),1)>0):GC(PL(1),cnt)=FS(PL(1),1):FS(PL(1),1)=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(2)=cnt:break
	loop
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出しました"
	FS(PL(1),1)=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=35
	swbreak
	case 5
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"+PN(PL(1))+"さんのリーダーに付けました"
	repeat 80,1
	if (RS(PL(1),cnt,PL(1))=0)&(RS(PL(1),cnt,PL(2))=0):RS(PL(1),cnt,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:RQ(2)=cnt:break
	loop
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=36
	swbreak
	case 6
	CN=HC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を手札から場に出し、"+PN(PL(2))+"さんのリーダーに付けました"
	repeat 80,1
	if (RS(PL(2),cnt,PL(1))=0)&(RS(PL(2),cnt,PL(2))=0):RS(PL(2),cnt,PL(1))=HC(PL(1),SL(2)*8+SL(3)):HC(PL(1),SL(2)*8+SL(3))=0:RQ(2)=cnt:break
	loop
	repeat 39,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=HC(PL(1),cnt+1):HC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)--
	RQ(1)=37
	swbreak
	case 7
	swbreak
	swend
	if SL(4)!7:TM=1
	gosub *RESETSL
	return
*SPELLCARD;準備スペルの移動の選択
	if (mousex>=627)&(mousex<668)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,667,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "起動"
	if (mousex>=700)&(mousex<742)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 700,485,741,504:font "MS UI Gothic",20,17:color 0,0,0:pos 700,485:mes "捨札"
	if (mousex>=627)&(mousex<731)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,510,730,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "手札に戻す"
	if (mousex>=627)&(mousex<766)&(mousey>=535)&(mousey<554):color 80,255,80:CSR=104:else:color 100,100,100
	boxf 627,535,765,554:font "MS UI Gothic",20,17:color 0,0,0:pos 627,535:mes "山札の上に置く"
	return
*SPELLACT;準備スペルの移動
	switch CSR
	case 101
	CN=SC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を起動状態にしました"
	repeat 40,1
	if AC(PL(1),cnt)=0{AC(PL(1),cnt)=SC(PL(1),SL(2)*10+SL(3)):SC(PL(1),SL(2)*10+SL(3))=0
					AS(PL(1),cnt,PL(1))=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0
					RQ(1)=41:RQ(2)=cnt:RQ(3)=SL(2)*10+SL(3)
					break
				}
	loop
	repeat 39,1
	if SC(PL(1),cnt)=0{SC(PL(1),cnt)=SC(PL(1),cnt+1):SC(PL(1),cnt+1)=0
					SS(PL(1),cnt,PL(1))=SS(PL(1),cnt+1,PL(1)):SS(PL(1),cnt+1,PL(1))=0
				}
	loop
	AC(PL(1),0)++:SC(PL(1),0)--
	swbreak
	case 102
	CN=SC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から捨札しました"
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=SC(PL(1),SL(2)*10+SL(3)):SC(PL(1),SL(2)*10+SL(3))=0:GC(PL(1),0)++:SC(PL(1),0)--
	if (SC(PL(1),SL(2)*10+SL(3))=0)&(SS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt+1)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt+1):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt+1
	if SC(PL(1),SL(2)*10+SL(3))=0:RQ(1)=42:RQ(2)=cnt:RQ(4)=SL(2)*10+SL(3):break
	loop
	repeat 39,1
	if SC(PL(1),cnt)=0{SC(PL(1),cnt)=SC(PL(1),cnt+1):SC(PL(1),cnt+1)=0
					SS(PL(1),cnt,1)=SS(PL(1),cnt+1,PL(1)):SS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	case 103
	CN=SC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から手札に戻しました"
	repeat 40,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=SC(PL(1),SL(2)*10+SL(3)):SC(PL(1),SL(2)*10+SL(3))=0:HC(PL(1),0)++:SC(PL(1),0)--:RQ(1)=43:RQ(2)=cnt:RQ(4)=SL(2)*10+SL(3):break
	loop
	repeat 40,1
	if SS(PL(1),SL(2)*10+SL(3),PL(1))=0:break
	if (GC(PL(1),cnt)=0)&(SS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt:break
	loop
	repeat 39,1
	if SC(PL(1),cnt)=0{SC(PL(1),cnt)=SC(PL(1),cnt+1):SC(PL(1),cnt+1)=0
					SS(PL(1),cnt,PL(1))=SS(PL(1),cnt+1,PL(1)):SS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	case 104
	CN=SC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から山札の上に置きました"
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=SC(PL(1),SL(2)*10+SL(3)):SC(PL(1),SL(2)*10+SL(3))=0:LC(PL(1),0)++:SC(PL(1),0)--:RQ(1)=44:RQ(2)=1:RQ(4)=SL(2)*10+SL(3)
	repeat 40,1
	if SS(PL(1),SL(2)*10+SL(3),PL(1))=0:break
	if (GC(PL(1),cnt)=0)&(SS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt:break
	loop
	repeat 39,1
	if SC(PL(1),cnt)=0{SC(PL(1),cnt)=SC(PL(1),cnt+1):SC(PL(1),cnt+1)=0
					SS(PL(1),cnt,PL(1))=SS(PL(1),cnt+1,PL(1)):SS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*ATTACKCARD;起動スペルの移動の選択
	if (mousex>=627)&(mousex<668)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,667,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "準備"
	if (mousex>=700)&(mousex<742)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 700,485,741,504:font "MS UI Gothic",20,17:color 0,0,0:pos 700,485:mes "捨札"
	if (mousex>=627)&(mousex<731)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,510,730,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "手札に戻す"
	if (mousex>=627)&(mousex<766)&(mousey>=535)&(mousey<554):color 80,255,80:CSR=104:else:color 100,100,100
	boxf 627,535,765,554:font "MS UI Gothic",20,17:color 0,0,0:pos 627,535:mes "山札の上に置く"
	return
*ATTACKACT;起動スペルの移動
	switch CSR
	case 101
	CN=AC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を準備状態にしました"
	repeat 40,1
	if SC(PL(1),cnt)=0{SC(PL(1),cnt)=AC(PL(1),SL(2)*10+SL(3)):AC(PL(1),SL(2)*10+SL(3))=0
					SS(PL(1),cnt,PL(1))=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0
					RQ(1)=46:RQ(2)=cnt:RQ(3)=SL(2)*10+SL(3)
					break
				}
	loop
	repeat 39,1
	if AC(PL(1),cnt)=0{AC(PL(1),cnt)=AC(PL(1),cnt+1):AC(PL(1),cnt+1)=0
					AS(PL(1),cnt,PL(1))=AS(PL(1),cnt+1,PL(1)):AS(PL(1),cnt+1,PL(1))=0
				}
	loop
	SC(PL(1),0)++:AC(PL(1),0)--
	swbreak
	case 102
	CN=AC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から捨札しました"
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=AC(PL(1),SL(2)*10+SL(3)):AC(PL(1),SL(2)*10+SL(3))=0:GC(PL(1),0)++:AC(PL(1),0)--
	if (AC(PL(1),SL(2)*10+SL(3))=0)&(AS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt+1)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt+1):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt+1
	if AC(PL(1),SL(2)*10+SL(3))=0:RQ(1)=47:RQ(2)=cnt:RQ(4)=SL(2)*10+SL(3):break
	loop
	repeat 39,1
	if AC(PL(1),cnt)=0{AC(PL(1),cnt)=AC(PL(1),cnt+1):AC(PL(1),cnt+1)=0
					AS(PL(1),cnt,PL(1))=AS(PL(1),cnt+1,PL(1)):AS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	case 103
	CN=AC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から手札に戻しました"
	repeat 40,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=AC(PL(1),SL(2)*10+SL(3)):AC(PL(1),SL(2)*10+SL(3))=0:HC(PL(1),0)++:AC(PL(1),0)--:RQ(1)=48:RQ(2)=cnt:RQ(4)=SL(2)*10+SL(3):break
	loop
	repeat 40,1
	if AS(PL(1),SL(2)*10+SL(3),PL(1))=0:break
	if (GC(PL(1),cnt)=0)&(AS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt:break
	loop
	repeat 39,1
	if AC(PL(1),cnt)=0{AC(PL(1),cnt)=AC(PL(1),cnt+1):AC(PL(1),cnt+1)=0
					AS(PL(1),cnt,PL(1))=AS(PL(1),cnt+1,PL(1)):AS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	case 104
	CN=AC(PL(1),SL(2)*10+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から山札の上に置きました"
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=AC(PL(1),SL(2)*8+SL(3)):AC(PL(1),SL(2)*8+SL(3))=0:LC(PL(1),0)++:AC(PL(1),0)--:RQ(1)=49:RQ(2)=1:RQ(4)=SL(2)*10+SL(3)
	repeat 40,1
	if AS(PL(1),SL(2)*10+SL(3),PL(1))=0:break
	if (GC(PL(1),cnt)=0)&(AS(PL(1),SL(2)*10+SL(3),PL(1))>0):GC(PL(1),cnt)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0:GC(PL(1),0)++:CN=GC(PL(1),cnt):gosub *CARDNAME:gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんの『"+N+"』が場から捨札されました":RQ(3)=cnt:break
	loop
	repeat 39,1
	if AC(PL(1),cnt)=0{AC(PL(1),cnt)=AC(PL(1),cnt+1):AC(PL(1),cnt+1)=0
					AS(PL(1),cnt,PL(1))=AS(PL(1),cnt+1,PL(1)):AS(PL(1),cnt+1,PL(1))=0
				}
	loop
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*SUPPORTCARD;サポートの移動の選択
	if (mousex>=627)&(mousex<668)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,667,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "捨札"
	if (mousex>=627)&(mousex<731)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,730,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "手札に戻す"
	if (mousex>=627)&(mousex<766)&(mousey>=535)&(mousey<554):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,535,765,554:font "MS UI Gothic",20,17:color 0,0,0:pos 627,535:mes "山札の上に置く"
	return
*SUPPORTACT;サポートの移動
	switch CSR
	case 101
	A=0
	repeat 40,1
	if GC(PL(1),cnt)=0:A=cnt:break
	loop
	if SL(1)=5:GC(PL(1),A)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=6:GC(PL(1),A)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=7:GC(PL(1),A)=SS(PL(2),SL(2)*10+SL(3),PL(1)):SS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=8:GC(PL(1),A)=AS(PL(2),SL(2)*10+SL(3),PL(1)):AS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=9:GC(PL(1),A)=RS(PL(1),SL(2)*5+SL(3),PL(1)):RS(PL(1),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=10:GC(PL(1),A)=RS(PL(2),SL(2)*5+SL(3),PL(1)):RS(PL(2),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=11:GC(PL(1),A)=FS(PL(1),1):FS(PL(1),1)=0
	GC(PL(1),0)++
	CN=GC(PL(1),A):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から捨札しました"
	RQ(1)=51:RQ(2)=A
	if SL(1)=9:RQ(3)=1:RQ(4)=SL(2)*5+SL(3)
	if SL(1)=10:RQ(3)=2:RQ(4)=SL(2)*5+SL(3)
	swbreak
	case 102
	A=0
	repeat 40,1
	if HC(PL(1),cnt)=0:A=cnt:break
	loop
	if SL(1)=5:HC(PL(1),A)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=6:HC(PL(1),A)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=7:HC(PL(1),A)=SS(PL(2),SL(2)*10+SL(3),PL(1)):SS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=8:HC(PL(1),A)=AS(PL(2),SL(2)*10+SL(3),PL(1)):AS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=9:HC(PL(1),A)=RS(PL(1),SL(2)*5+SL(3),PL(1)):RS(PL(1),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=10:HC(PL(1),A)=RS(PL(2),SL(2)*5+SL(3),PL(1)):RS(PL(2),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=11:HC(PL(1),A)=FS(PL(1),1):FS(PL(1),1)=0
	HC(PL(1),0)++
	CN=HC(PL(1),A):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から手札に戻しました"
	RQ(1)=52:RQ(2)=A
	if SL(1)=9:RQ(3)=1:RQ(4)=SL(2)*5+SL(3)
	if SL(1)=10:RQ(3)=2:RQ(4)=SL(2)*5+SL(3)
	swbreak
	case 103
	A=0
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	if SL(1)=5:LC(PL(1),1)=SS(PL(1),SL(2)*10+SL(3),PL(1)):SS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=6:LC(PL(1),1)=AS(PL(1),SL(2)*10+SL(3),PL(1)):AS(PL(1),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=7:LC(PL(1),1)=SS(PL(2),SL(2)*10+SL(3),PL(1)):SS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=8:LC(PL(1),1)=AS(PL(2),SL(2)*10+SL(3),PL(1)):AS(PL(2),SL(2)*10+SL(3),PL(1))=0
	if SL(1)=9:LC(PL(1),1)=RS(PL(1),SL(2)*5+SL(3),PL(1)):RS(PL(1),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=10:LC(PL(1),1)=RS(PL(2),SL(2)*5+SL(3),PL(1)):RS(PL(2),SL(2)*5+SL(3),PL(1))=0
	if SL(1)=11:LC(PL(1),1)=FS(PL(1),1):FS(PL(1),1)=0
	LC(PL(1),0)++
	CN=LC(PL(1),1):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から山札の上に置きました"
	RQ(1)=53:RQ(2)=1
	if SL(1)=9:RQ(3)=1:RQ(4)=SL(2)*5+SL(3)
	if SL(1)=10:RQ(3)=2:RQ(4)=SL(2)*5+SL(3)
	swbreak
	swend
	repeat 79,1
	if SL(1)!9:break
	if (SL(1)=9)&(cnt>=SL(2)*5+SL(3)):RS(PL(1),cnt,PL(1))=RS(PL(1),cnt+1,PL(1)):RS(PL(1),cnt+1,PL(1))=0
	loop
	repeat 79,1
	if SL(1)!10:break
	if (SL(1)=10)&(cnt>=SL(2)*5+SL(3)):RS(PL(2),cnt,PL(1))=RS(PL(2),cnt+1,PL(1)):RS(PL(2),cnt+1,PL(1))=0
	loop
	gosub *RESETSL
	TM=1
	return
*EVENTCARD;イベントの移動の選択
	if (mousex>=627)&(mousex<668)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,667,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "捨札"
	if (mousex>=627)&(mousex<731)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,730,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "手札に戻す"
	if (mousex>=627)&(mousex<766)&(mousey>=535)&(mousey<554):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,535,765,554:font "MS UI Gothic",20,17:color 0,0,0:pos 627,535:mes "山札の上に置く"
	return
*EVENTACT;イベントの移動
	switch CSR
	case 101
	CN=EC(PL(1),SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から捨札しました"
	repeat 40,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=EC(PL(1),SL(3)):EC(PL(1),SL(3))=0:RQ(1)=54:RQ(2)=cnt:break
	loop
	GC(PL(1),0)++
	swbreak
	case 102
	CN=EC(PL(1),SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から手札に戻しました"
	repeat 40,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=EC(PL(1),SL(3)):EC(PL(1),SL(3))=0:RQ(1)=55:RQ(2)=cnt:break
	loop
	HC(PL(1),0)++
	swbreak
	case 103
	CN=EC(PL(1),SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を場から山札の上に置きました"
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=EC(PL(1),SL(3)):EC(PL(1),SL(3))=0:LC(PL(1),0)++:RQ(1)=56:RQ(2)=1
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return

*LIBRARYCARD;山札の選んだカードの移動の選択
	if (mousex>=627)&(mousex<771)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,770,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "非公開で手札に"
	if (mousex>=627)&(mousex<768)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,767,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "公開して手札に"
	if (mousex>=627)&(mousex<749)&(mousey>=535)&(mousey<555):color 80,255,80:CSR=103:else:color 100,100,100
	boxf 627,535,748,554:font "MS UI Gothic",20,17:color 0,0,0:pos 627,535:mes "ｼｬｯﾌﾙ後上に"
	return
*LIBRARYCARDACT;山札の選んだカードの移動
	switch CSR
	case 101
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが山札からカードを1枚探して手札に加えました"
	HC(PL(1),HC(PL(1),0)+1)=LC(PL(1),SL(2)*8+SL(3)):LC(PL(1),SL(2)*8+SL(3))=0
	repeat 39,1
	if LC(PL(1),cnt)=0:LC(PL(1),cnt)=LC(PL(1),cnt+1):LC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)++:LC(PL(1),0)--
	RQ(1)=61
	swbreak
	case 102
	CN=LC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を山札から探して手札に加えました"
	HC(PL(1),HC(PL(1),0)+1)=LC(PL(1),SL(2)*8+SL(3)):LC(PL(1),SL(2)*8+SL(3))=0:RQ(2)=HC(PL(1),0)+1
	repeat 39,1
	if LC(PL(1),cnt)=0:LC(PL(1),cnt)=LC(PL(1),cnt+1):LC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)++:LC(PL(1),0)--
	RQ(1)=62
	swbreak
	case 103
	LC(PL(1),44)=LC(PL(1),SL(2)*8+SL(3)):LC(PL(1),SL(2)*8+SL(3))=0:LC(PL(1),0)--
	repeat 39,1
	if LC(PL(1),cnt)=0:LC(PL(1),cnt)=LC(PL(1),cnt+1):LC(PL(1),cnt+1)=0
	loop
	gosub *SHUFFLE
	PG(8)=0
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=LC(PL(1),44):LC(PL(1),44)=0:LC(PL(1),0)++
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが山札からカードを1枚探して、山札をシャッフルしてから上に置きました"
	RQ(1)=65
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return
*GRAVECARD;捨札の選んだカードの移動の選択
	if (mousex>=627)&(mousex<731)&(mousey>=485)&(mousey<504):color 80,255,80:CSR=101:else:color 100,100,100
	boxf 627,485,730,504:font "MS UI Gothic",20,17:color 0,0,0:pos 627,485:mes "手札に戻す"
	if (mousex>=627)&(mousex<772)&(mousey>=510)&(mousey<530):color 80,255,80:CSR=102:else:color 100,100,100
	boxf 627,510,771,529:font "MS UI Gothic",20,17:color 0,0,0:pos 627,510:mes "山札の上に戻す"
	return
*GRAVECARDACT;捨札の選んだカードの移動
	switch CSR
	case 101
	CN=GC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を捨札置き場から手札に戻しました"
	HC(PL(1),HC(PL(1),0)+1)=GC(PL(1),SL(2)*8+SL(3)):GC(PL(1),SL(2)*8+SL(3))=0:RQ(2)=HC(PL(1),0)+1
	repeat 39,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=GC(PL(1),cnt+1):GC(PL(1),cnt+1)=0
	loop
	HC(PL(1),0)++:GC(PL(1),0)--
	RQ(1)=63
	swbreak
	case 102
	CN=GC(PL(1),SL(2)*8+SL(3)):gosub *CARDNAME
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんが『"+N+"』を捨札置き場から山札の上に置きました"
	repeat 39,0
	LC(PL(1),40-cnt)=LC(PL(1),39-cnt)
	loop
	LC(PL(1),1)=GC(PL(1),SL(2)*8+SL(3)):GC(PL(1),SL(2)*8+SL(3))=0:RQ(2)=1
	repeat 39,1
	if GC(PL(1),cnt)=0:GC(PL(1),cnt)=GC(PL(1),cnt+1):GC(PL(1),cnt+1)=0
	loop
	LC(PL(1),0)++:GC(PL(1),0)--
	RQ(1)=64
	swbreak
	swend
	gosub *RESETSL
	TM=1
	return

*CHARADISP;キャラクターカードの表示
	if CC(PL(1),1)>0:pos 7,307:GN=11:gosub *GRA
	if CC(PL(2),1)>0:pos 538,113:GN=21:gosub *GRA
	font "MS UI Gothic",20,17:color 255,255,255
	if CC(PL(1),1)=100:X=41:GN=7:pos 14,337:gosub *GRA:mes "霊夢"
	if CC(PL(1),1)=200:X=63:GN=7:pos 3,337:gosub *GRA:mes "魔理沙"
	if CC(PL(1),1)=300:X=41:GN=7:pos 14,337:gosub *GRA:mes "咲夜"
	if CC(PL(1),1)=400:X=41:GN=7:pos 14,337:gosub *GRA:mes "妖夢"
	if CC(PL(1),1)=500:X=21:GN=7:pos 24,337:gosub *GRA:mes "紫"
	if CC(PL(1),1)=600:X=46:GN=7:pos 12,337:gosub *GRA:mes "アリス"
	if CC(PL(1),1)=700:X=60:GN=7:pos 4,337:gosub *GRA:mes "レミリア"
	if CC(PL(1),1)=800:X=62:GN=7:pos 4,337:gosub *GRA:mes "幽々子"
	if CC(PL(2),1)=100:X=41:GN=7:pos 545,143:gosub *GRA:mes "霊夢"
	if CC(PL(2),1)=200:X=63:GN=7:pos 534,143:gosub *GRA:mes "魔理沙"
	if CC(PL(2),1)=300:X=41:GN=7:pos 545,143:gosub *GRA:mes "咲夜"
	if CC(PL(2),1)=400:X=41:GN=7:pos 545,143:gosub *GRA:mes "妖夢"
	if CC(PL(2),1)=500:X=21:GN=7:pos 555,143:gosub *GRA:mes "紫"
	if CC(PL(2),1)=600:X=46:GN=7:pos 543,143:gosub *GRA:mes "アリス"
	if CC(PL(2),1)=700:X=60:GN=7:pos 536,143:gosub *GRA:mes "レミリア"
	if CC(PL(2),1)=800:X=62:GN=7:pos 535,143:gosub *GRA:mes "幽々子"
	color 0,0,0:A=0:B=0:C=0
	repeat 8,1
	A=cnt
	repeat 4,1
	if CC(PL(1),cnt)=A*100:B++
	loop
	if (B>0)&(A=1):pos 7,390+C*20:mes "霊Lv."+B:C++
	if (B>0)&(A=2):pos 7,390+C*20:mes "魔Lv."+B:C++
	if (B>0)&(A=3):pos 7,390+C*20:mes "咲Lv."+B:C++
	if (B>0)&(A=4):pos 7,390+C*20:mes "妖Lv."+B:C++
	if (B>0)&(A=5):pos 7,390+C*20:mes "紫Lv."+B:C++
	if (B>0)&(A=6):pos 7,390+C*20:mes "アLv."+B:C++
	if (B>0)&(A=7):pos 7,390+C*20:mes "レLv."+B:C++
	if (B>0)&(A=8):pos 7,390+C*20:mes "幽Lv."+B:C++
	if C=4:break
	B=0
	loop
	color 0,0,0:A=0:B=0:C=0
	repeat 8,1
	A=cnt
	repeat 4,1
	if CC(PL(2),cnt)=A*100:B++
	loop
	if (B>0)&(A=1):pos 538,90-C*20:mes "霊Lv."+B:C++
	if (B>0)&(A=2):pos 538,90-C*20:mes "魔Lv."+B:C++
	if (B>0)&(A=3):pos 538,90-C*20:mes "咲Lv."+B:C++
	if (B>0)&(A=4):pos 538,90-C*20:mes "妖Lv."+B:C++
	if (B>0)&(A=5):pos 538,90-C*20:mes "紫Lv."+B:C++
	if (B>0)&(A=6):pos 538,90-C*20:mes "アLv."+B:C++
	if (B>0)&(A=7):pos 538,90-C*20:mes "レLv."+B:C++
	if (B>0)&(A=8):pos 538,90-C*20:mes "幽Lv."+B:C++
	if C=4:break
	B=0
	loop
	return
*SUPPORTDISP;サポートカードの表示
	repeat 5,1
	if RS(PL(1),cnt+PG(6)*5,PL(1))>0:pos 74,280+27*cnt:GN=13:gosub *GRA
	if RS(PL(1),cnt+PG(6)*5,PL(2))>0:pos 74,280+27*cnt:GN=23:gosub *GRA
	loop
	repeat 5,1
	if RS(PL(2),cnt+PG(7)*5,PL(1))>0:pos 471,140-27*cnt:GN=13:gosub *GRA
	if RS(PL(2),cnt+PG(7)*5,PL(2))>0:pos 471,140-27*cnt:GN=23:gosub *GRA
	loop
	repeat 10,1
	if SS(PL(1),cnt+PG(2)*10,PL(1))>0:pos 98+cnt*39,413:GN=13:gosub *GRA
	if SS(PL(1),cnt+PG(2)*10,PL(2))>0:pos 98+cnt*39,413:GN=23:gosub *GRA
	loop
	repeat 10,1
	if SS(PL(2),cnt+PG(4)*10,PL(1))>0:pos 447-cnt*39,7:GN=13:gosub *GRA
	if SS(PL(2),cnt+PG(4)*10,PL(2))>0:pos 447-cnt*39,7:GN=23:gosub *GRA
	loop
	repeat 10,1
	if AS(PL(1),cnt+PG(3)*10,PL(1))>0:pos 98+cnt*39,320:GN=13:gosub *GRA
	if AS(PL(1),cnt+PG(3)*10,PL(2))>0:pos 98+cnt*39,320:GN=23:gosub *GRA
	loop
	repeat 10,1
	if AS(PL(2)+PG(5)*10,cnt,PL(1))>0:pos 447-cnt*39,100:GN=13:gosub *GRA
	if AS(PL(2)+PG(5)*10,cnt,PL(2))>0:pos 447-cnt*39,100:GN=23:gosub *GRA
	loop
	if FS(PL(1),1)>0:pos 240,210:GN=13:gosub *GRA
	if FS(PL(2),1)>0:pos 305,210:GN=23:gosub *GRA
	return
*SPELLDISP;スペルカードの表示
	repeat 10,1
	if SC(PL(1),cnt+PG(2)*10)>0:pos 98+cnt*39,400:GN=15:gosub *GRA
	loop
	repeat 10,1
	if SC(PL(2),cnt+PG(4)*10)>0:pos 422-cnt*39,45:GN=25:gosub *GRA
	loop
	repeat 10,1
	if AC(PL(1),cnt+PG(3)*10)>0:pos 98+cnt*39,307:GN=12:gosub *GRA
	loop
	repeat 10,1
	if AC(PL(2),cnt+PG(5)*10)>0:pos 447-cnt*39,113:GN=22:gosub *GRA
	loop
	return
*EVENTDISP;イベントカードの表示
	if EC(PL(1),1)>0:pos 180,220:GN=14:gosub *GRA
	if EC(PL(2),1)>0:pos 365,200:GN=24:gosub *GRA
	return

*NEW;ニューゲームの処理
	gosub *DECKLOD
	if stat=0:return
	LP(PL(1))=0:MP(PL(1))=0
	repeat 41,0
	GC(PL(1),cnt)=0
	HC(PL(1),cnt)=0
	SC(PL(1),cnt)=0
	AC(PL(1),cnt)=0
	SS(PL(1),cnt,PL(1))=0
	SS(PL(2),cnt,PL(1))=0
	AS(PL(1),cnt,PL(1))=0
	AS(PL(2),cnt,PL(1))=0
	loop
	EC(PL(1),1)=0
	FS(PL(1),1)=0
	repeat 80,1
	RS(PL(1),cnt,PL(1))=0
	RS(PL(2),cnt,PL(1))=0
	loop
	repeat 4,1
	CC(PL(1),cnt)=DC(40+cnt)
	loop
	repeat 40,1
	LC(PL(1),cnt)=DC(cnt)
	loop
	LC(PL(1),0)=40
	gosub *SHUFFLE
	if CC(PL(1),1)=100:LP(PL(1))=19
	if CC(PL(1),1)=200:LP(PL(1))=20
	if CC(PL(1),1)=300:LP(PL(1))=21
	if CC(PL(1),1)=400:LP(PL(1))=24
	if CC(PL(1),1)=500:LP(PL(1))=21
	if CC(PL(1),1)=600:LP(PL(1))=22
	if CC(PL(1),1)=700:LP(PL(1))=18
	if CC(PL(1),1)=800:LP(PL(1))=23
	repeat 6
	gosub *DRAW
	loop
	gosub *CHATADD:CH(1)=""+PN(PL(1))+"さんがデッキをロードしました":RQ(1)=71
	if PL(1)=1:randomize:RQ(2)=rnd(2)+1
	if RQ(2)=1:gosub *CHATADD:CH(1)="コインを投げて　表　がでました"
	if RQ(2)=2:gosub *CHATADD:CH(1)="コインを投げて　裏　がでました"
	TM=1
	gosub *STE
	return
	
*SHUFFLE;シャッフルの処理
	randomize
	repeat 40,1
		target = int(sqrt(rnd(1600)))\40+1
		temp = LC(PL(1), cnt)
		LC(PL(1), cnt) = LC(PL(1), target)
		LC(PL(1), target) = temp
	loop
	await 5
	randomize
	repeat 40,1
		target = int(sqrt(rnd(1600)))\40+1
		temp = LC(PL(1), cnt*2\40+1)
		LC(PL(1), cnt*2\40+1) = LC(PL(1), target)
		LC(PL(1), target) = temp
	loop
	await 5
	randomize
	repeat 40,1
		target = int(sqrt(rnd(1600)))\40+1
		temp = LC(PL(1), cnt*3\40+1)
		LC(PL(1), cnt*3\40+1) = LC(PL(1), target)
		LC(PL(1), target) = temp
	loop
	await 5
	randomize
	repeat 40,1
		target = int(sqrt(rnd(1600)))\40+1
		temp = LC(PL(1), cnt*4\40+1)
		LC(PL(1), cnt*4\40+1) = LC(PL(1), target)
		LC(PL(1), target) = temp
	loop
	return
/*	repeat 40,1
	LC(0,cnt)=LC(PL(1),cnt):LC(PL(1),cnt)=0
	loop
	repeat 40,1
	await 20
	randomize
	A=rnd(LC(PL(1),0))+1
*@
	if A>40:A=1
	if LC(0,A)>0:LC(PL(1),cnt)=LC(0,A):LC(0,A)=0:else:A++:goto *@b
	if cnt=LC(PL(1),0):break
	loop
	return*/

*DRAW;カードを引く処理
	if LC(PL(1),0)=0:return
	repeat ,1
	if HC(PL(1),cnt)=0:HC(PL(1),cnt)=LC(PL(1),1):LC(PL(1),1)=0:break
	loop
	repeat 39,1
	LC(PL(1),cnt)=LC(PL(1),cnt+1):LC(PL(1),cnt+1)=0
	loop
	LC(PL(1),0)--:HC(PL(1),0)++
	return
*NAMEDISP;場のカードにポイントした時のカード名表示処理
	A=0:B=0:C=0
	repeat 5,1
	if (mousex>=74)&(mousex<129)&(mousey>=280+27*cnt)&(mousey<360+27*cnt)&(RS(PL(1),cnt+PG(6)*5,PL(1))>0):A=RS(PL(1),cnt+PG(6)*5,PL(1)):B=101:C=310+27*cnt
	if (mousex>=74)&(mousex<129)&(mousey>=280+27*cnt)&(mousey<360+27*cnt)&(RS(PL(1),cnt+PG(6)*5,PL(2))>0):A=RS(PL(1),cnt+PG(6)*5,PL(2)):B=101:C=310+27*cnt
	loop
	repeat 5,1
	if (mousex>=471)&(mousex<526)&(mousey>=140-27*cnt)&(mousey<220-27*cnt)&(RS(PL(2),cnt+PG(7)*5,PL(1))>0):A=RS(PL(2),cnt+PG(7)*5,PL(1)):B=498:C=170-27*cnt
	if (mousex>=471)&(mousex<526)&(mousey>=140-27*cnt)&(mousey<220-27*cnt)&(RS(PL(2),cnt+PG(7)*5,PL(2))>0):A=RS(PL(2),cnt+PG(7)*5,PL(2)):B=498:C=170-27*cnt
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=413)&(mousey<493)&(SS(PL(1),cnt+PG(2)*10,PL(1))>0):A=SS(PL(1),cnt+PG(2)*10,PL(1)):B=125+cnt*39:C=443
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=413)&(mousey<493)&(SS(PL(1),cnt+PG(2)*10,PL(2))>0):A=SS(PL(1),cnt+PG(2)*10,PL(2)):B=125+cnt*39:C=443
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=7)&(mousey<87)&(SS(PL(2),cnt+PG(4)*10,PL(1))>0):A=SS(PL(2),cnt+PG(4)*10,PL(1)):B=474-cnt*39:C=37
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=7)&(mousey<87)&(SS(PL(2),cnt+PG(4)*10,PL(2))>0):A=SS(PL(2),cnt+PG(4)*10,PL(2)):B=474-cnt*39:C=37
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=320)&(mousey<400)&(AS(PL(1),cnt+PG(3)*10,PL(1))>0):A=AS(PL(1),cnt+PG(3)*10,PL(1)):B=106+cnt*39:C=350
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=320)&(mousey<400)&(AS(PL(1),cnt+PG(3)*10,PL(2))>0):A=AS(PL(1),cnt+PG(3)*10,PL(2)):B=106+cnt*39:C=350
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=100)&(mousey<180)&(AS(PL(2)+PG(5)*10,cnt,PL(1))>0):A=AS(PL(2)+PG(5)*10,cnt,PL(1)):B=474-cnt*39:C=130
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=100)&(mousey<180)&(AS(PL(2)+PG(5)*10,cnt,PL(2))>0):A=AS(PL(2)+PG(5)*10,cnt,PL(2)):B=474-cnt*39:C=130
	loop
	if (mousex>=240)&(mousex<295)&(mousey>=210)&(mousey<290)&(FS(PL(1),1)>0):A=FS(PL(1),1):B=267:C=240
	if (mousex>=305)&(mousex<360)&(mousey>=210)&(mousey<290)&(FS(PL(2),1)>0):A=FS(PL(2),1):B=332:C=240
	if (mousex>=180)&(mousex<235)&(mousey>=220)&(mousey<300)&(EC(PL(1),1)>0):A=EC(PL(1),1):B=207:C=250
	if (mousex>=365)&(mousex<420)&(mousey>=200)&(mousey<280)&(EC(PL(2),1)>0):A=EC(PL(2),1):B=392:C=230
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<178+cnt*39)&(mousey>=400)&(mousey<455)&(SC(PL(1),cnt+PG(2)*10)>0):A=SC(PL(1),cnt+PG(2)*10):B=138+cnt*39:C=417
	loop
	repeat 10,1
	if (mousex>=422-cnt*39)&(mousex<502-cnt*39)&(mousey>=45)&(mousey<100)&(SC(PL(2),cnt+PG(4)*10)>0):A=SC(PL(2),cnt+PG(4)*10):B=462-cnt*39:C=62
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=307)&(mousey<387)&(AC(PL(1),cnt+PG(3)*10)>0):A=AC(PL(1),cnt+PG(3)*10):B=125+cnt*39:C=337
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=113)&(mousey<193)&(AC(PL(2),cnt+PG(5)*10)>0):A=AC(PL(2),cnt+PG(5)*10):B=474-cnt*39:C=143
	loop
	if A>0:CN=A:gosub *CARDKIND:pos B-X/2,C:GN=7:gosub *GRA:font "MS UI Gothic",20,17:color 255,255,255:gosub *CARDNAME:mes N
	return

*CHAT;チャット欄の表示
	font "MS UI Gothic",13,17:color 0,0,0
	repeat 6,1
	pos 5,579-cnt*13:mes CH(cnt+PG(9))
	loop
	return
*CHATADD;チャット追加時の処理
	repeat 99,0
	CH(100-cnt)=CH(99-cnt)
	loop
	return

*SAY;発言の処理
	if CM="":return
	gosub *CHATADD
	CH(1)=""+PN(PL(1))+"さん："+CM:CM="":objprm 0,CM
	CH(0)=CH(1):RQ(1)=81
	TM=1
	return

*DECK;デッキ構築画面メイン
	if PG(0)=-1:PG(0)=10
	if PG(0)=11:PG(0)=0
	CSR=0
	redraw 0
	color 240,150,150:boxf 0,0,800,600
	font "MS UI Gothic",30,17:color 0,0,0:pos 100,43:mes "CARDLIST":pos 510,43:mes"DECK"
	color 0,0,0:boxf 45,75,310,395
	color 0,0,0:boxf 345,75,549,91
	color 0,0,0:boxf 345,107,753,123
	color 0,0,0:boxf 345,123,549,139
	color 0,0,0:boxf 345,155,753,475
	color 255,255,255:font "MS UI Gothic",15,17:gosub *LEFTLIST
	gosub *DECKLIST
	if (mousex>=45)&(mousex<125)&(mousey>=405)&(mousey<425):color 80,255,80:boxf 45,405,124,425:CSR=200
	color 0,0,0:font "MS UI Gothic",20,17:pos 45,405:mes "前ページ"
	if (mousex>=230)&(mousex<310)&(mousey>=405)&(mousey<425):color 80,255,80:boxf 230,405,309,425:CSR=201
	color 0,0,0:font "MS UI Gothic",20,17:pos 230,405:mes "次ページ"
	if (mousex>=45)&(mousex<95)&(mousey>=500)&(mousey<520):color 80,255,80:boxf 45,500,94,520:CSR=202
	color 0,0,0:font "MS UI Gothic",20,17:pos 45,500:mes "セーブ"
	if (mousex>=150)&(mousex<210)&(mousey>=500)&(mousey<520):color 80,255,80:boxf 150,500,200,520:CSR=203
	color 0,0,0:font "MS UI Gothic",20,17:pos 150,500:mes "ロード"
	if (mousex>=230)&(mousex<310)&(mousey>=500)&(mousey<520):color 80,255,80:boxf 260,500,300,520:CSR=204
	color 0,0,0:font "MS UI Gothic",20,17:pos 260,500:mes "戻る"
	repeat 20,1
	if (mousex>=45)&(mousex<310)&(mousey>=59+cnt*16)&(mousey<75+cnt*16):CSR=cnt
	loop
	repeat 20,1
	if (mousex>=345)&(mousex<549)&(mousey>=139+cnt*16)&(mousey<155+cnt*16):CSR=cnt+100
	if (mousex>=550)&(mousex<753)&(mousey>=139+cnt*16)&(mousey<155+cnt*16):CSR=cnt+120
	loop
	if (mousex>=345)&(mousex<549)&(mousey>=75)&(mousey<92):CSR=141
	if (mousex>=345)&(mousex<549)&(mousey>=107)&(mousey<123):CSR=142
	if (mousex>=345)&(mousex<549)&(mousey>=123)&(mousey<140):CSR=143
	if (mousex>=550)&(mousex<753)&(mousey>=107)&(mousey<123):CSR=144
	redraw 1
	await 16
	stick STC
	if (STC=256)&(CSR>0)&(CSR<=20):goto *ADD
	if (STC=256)&(CSR>100)&(CSR<=140):goto *DCR
	if (STC=256)&(CSR>140)&(CSR<=150):goto *CHARADCR
	if (STC=256)&(CSR=200):PG(0)--:goto *DECK
	if (STC=256)&(CSR=201):PG(0)++:goto *DECK
	if (STC=256)&(CSR=202):gosub *DECKSAV:goto *DECK
	if (STC=256)&(CSR=203):gosub *DECKLOD:goto *DECK
	if (STC=256)&(CSR=204):gosub *RESET:goto *TITL
	if (STC=512)&(CSR>0)&(CSR<=150):gosub *DECKTX
	goto *DECK

*LEFTLIST;左のカードリスト
	repeat 20,1
	pos 46,60+cnt*16:GN=6:gosub *GRA
	if (PG(0)=0)&(cnt<9):mes "No.0"+cnt+"00"
	if (PG(0)=1)&(cnt<10):mes "No.000"+cnt
	if (PG(0)=1)&(cnt>=10)&(cnt<13):mes "No.00"+cnt
	if (PG(0)>=2)&(PG(0)<10)&(cnt<10):mes "No.0"+(PG(0)-1)+"0"+cnt
	if (PG(0)>=2)&(PG(0)<10)&(cnt>=10)&(cnt<15):mes "No.0"+(PG(0)-1)+cnt
	if (PG(0)=10)&(cnt<10):mes "No.V00"+cnt
	if (PG(0)=10)&(cnt>=10)&(cnt<13):mes "No.V0"+cnt
	if PG(0)=0:pos 107,60+cnt*16:CN=cnt*100:gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	if PG(0)>0:pos 107,60+cnt*16:CN=PG(0)*100+cnt-100:gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	return
*DECKLIST;右のデッキ
	pos 346,76:CN=DC(41):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	pos 346,108:CN=DC(42):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	pos 346,124:CN=DC(43):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	pos 550,108:CN=DC(44):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	repeat 20,1
	pos 346,140+cnt*16:CN=DC(cnt):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	pos 550,140+cnt*16:CN=DC(cnt+20):gosub *CARDKIND:gosub *GRA:gosub *CARDNAME:mes N
	loop
	return
*ADD;デッキにカード追加の処理
	if (PG(0)=0)&(CSR<9):goto *CHARAADD
	if (DC(40)>0)|(PG(0)=0):goto *DECK
	if (PG=1)&(CSR<13)&(DS(PG(0)-1,CSR)<3):DS(PG(0)-1,CSR)++
	if (PG(0)>=2)&(PG(0)<10)&(CSR<15)&(DS(PG(0)-1,CSR)<3):DS(PG(0)-1,CSR)++
	if (PG(0)=10)&(CSR<13)&(DS(PG(0)-1,CSR)<3):DS(PG(0)-1,CSR)++
	gosub *DECKDIP
	goto *DECK
*CHARAADD;キャラクターカード追加の処理
	if DC(41)=0:DC(41)=CSR*100:DS(11,CSR)++:gosub *DECKDIP:goto *DECK
	if DC(44)>0:goto *DECK
	if CSR<9:DS(10,CSR)++
	gosub *DECKDIP
	goto *DECK
*DCR;デッキからカードを抜く
	A=DC(CSR-100)
	repeat 10,1
	if A<cnt*100:DS(cnt-1,DC(CSR-100)-(cnt-1)*100)--:break
	loop
	gosub *DECKDIP
	goto *DECK
*CHARADCR;キャラクターカードを抜く
	if CSR=141:DS(11,DC(41)/100)=0:gosub *DECKDIP:goto *DECK
	DS(10,DC(CSR-100)/100)--
	gosub *DECKDIP
	goto *DECK
*DECKDIP;デッキ表示の更新
	A=0:B=1
	repeat 45
	DC(cnt)=0
	loop
	repeat 10,0
	if DC(40)>0:break
	A=cnt
	repeat 14,1
	if DS(A,cnt)>0:DC(B)=A*100+cnt:B++
	if DS(A,cnt)>1:DC(B)=A*100+cnt:B++
	if DS(A,cnt)>2:DC(B)=A*100+cnt:B++
	loop
	loop
	A=0
	repeat 8,1
	if DS(10,cnt)>0:DC(42+A)=cnt*100:A++
	if DS(10,cnt)>1:DC(42+A)=cnt*100:A++
	if DS(10,cnt)>2:DC(42+A)=cnt*100:A++
	loop
	repeat 8,1
	if DS(11,cnt)>0:DC(41)=cnt*100:break
	loop
	return

*DECKSAV;デッキのセーブ
	if (DC(40)>0)&(DC(41)>0)&(DC(44)>0):A=5:else:dialog "デッキが不正です",1:return
	dialog "dec",17,"デッキファイル"
	if stat=0:return
	bsave ""+refstr,A,1
	B=0:C=0
	repeat 12,0
	B=cnt
	repeat 14,1
	C+=3
	bsave ""+refstr,DS(B,cnt),1,C
	if (B=0)&(cnt=12):break
	if (B=9)&(cnt=12):break
	if (B=10)&(cnt=8):break
	if (B=11)&(cnt=8):break
	loop
	loop
	dialog "セーブしました",0
	return

*DECKLOD;デッキのロード
	dialog "dec",16,"デッキファイル"
	if stat=0:return
	A=0
	bload ""+refstr,A,1
	if A!5:dialog "デッキが不正です",1:return
	A=0:B=0
	repeat 12,0
	A=cnt
	repeat 14,1
	B+=3
	bload ""+refstr,DS(A,cnt),1,B
	if (A=0)&(cnt=12):break
	if (A=9)&(cnt=12):break
	if (A=10)&(cnt=8):break
	if (A=11)&(cnt=8):break
	loop
	loop
	gosub *DECKDIP
	return

*DECKTX;デッキ構築時のカードテキスト表示処理
	CN=0
	if (PG(0)=0)&(CSR<9):CN=CSR*100
	if (PG=1)&(CSR<13):CN=CSR
	if (PG(0)>=2)&(PG(0)<10)&(CSR<15):CN=CSR+(PG(0)-1)*100
	if (PG(0)=10)&(CSR<13):CN=CSR+(PG(0)-1)*100
	if (CSR>100)&(CSR<=140):CN=DC(CSR-100)
	if (CSR>=141)&(CSR<=144):CN=DC(CSR-100)
	if CN>0:gosub *TXDISP
	return

*CARDTEXT;対戦時のカードテキスト表示処理
	CN=0
	repeat 8,1
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(HC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=0):CN=HC(PL(1),cnt+PG(1)*8)
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(LC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=1):CN=LC(PL(1),cnt+PG(1)*8)
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(GC(PL(1),cnt+PG(1)*8)>0)&(PG(8)=2):CN=GC(PL(1),cnt+PG(1)*8)
	if (mousex>=610)&(mousex<800)&(mousey>=270+cnt*16)&(mousey<286+cnt*16)&(GC(PL(2),cnt+PG(1)*8)>0)&(PG(8)=3):CN=GC(PL(2),cnt+PG(1)*8)
	loop
	repeat 5,1
	if (mousex>=74)&(mousex<129)&(mousey>=280+27*cnt)&(mousey<360+27*cnt)&(RS(PL(1),cnt+PG(6)*5,PL(1))>0):CN=RS(PL(1),cnt+PG(6)*5,PL(1))
	if (mousex>=74)&(mousex<129)&(mousey>=280+27*cnt)&(mousey<360+27*cnt)&(RS(PL(1),cnt+PG(6)*5,PL(2))>0):CN=RS(PL(1),cnt+PG(6)*5,PL(2))
	loop
	repeat 5,1
	if (mousex>=471)&(mousex<526)&(mousey>=140-27*cnt)&(mousey<220-27*cnt)&(RS(PL(2),cnt+PG(7)*5,PL(1))>0):CN=RS(PL(2),cnt+PG(7)*5,PL(1))
	if (mousex>=471)&(mousex<526)&(mousey>=140-27*cnt)&(mousey<220-27*cnt)&(RS(PL(2),cnt+PG(7)*5,PL(2))>0):CN=RS(PL(2),cnt+PG(7)*5,PL(2))
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=413)&(mousey<493)&(SS(PL(1),cnt+PG(2)*10,PL(1))>0):CN=SS(PL(1),cnt+PG(2)*10,PL(1))
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=413)&(mousey<493)&(SS(PL(1),cnt+PG(2)*10,PL(2))>0):CN=SS(PL(1),cnt+PG(2)*10,PL(2))
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=7)&(mousey<87)&(SS(PL(2),cnt+PG(4)*10,PL(1))>0):CN=SS(PL(2),cnt+PG(4)*10,PL(1))
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=7)&(mousey<87)&(SS(PL(2),cnt+PG(4)*10,PL(2))>0):CN=SS(PL(2),cnt+PG(4)*10,PL(2))
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=320)&(mousey<400)&(AS(PL(1),cnt+PG(3)*10,PL(1))>0):CN=AS(PL(1),cnt+PG(3)*10,PL(1))
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=320)&(mousey<400)&(AS(PL(1),cnt+PG(3)*10,PL(2))>0):CN=AS(PL(1),cnt+PG(3)*10,PL(2))
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=100)&(mousey<180)&(AS(PL(2)+PG(5)*10,cnt,PL(1))>0):CN=AS(PL(2)+PG(5)*10,cnt,PL(1))
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=100)&(mousey<180)&(AS(PL(2)+PG(5)*10,cnt,PL(2))>0):CN=AS(PL(2)+PG(5)*10,cnt,PL(2))
	loop
	if (mousex>=240)&(mousex<295)&(mousey>=210)&(mousey<290)&(FS(PL(1),1)>0):CN=FS(PL(1),1)
	if (mousex>=305)&(mousex<360)&(mousey>=210)&(mousey<290)&(FS(PL(2),1)>0):CN=FS(PL(2),1)
	if (mousex>=180)&(mousex<235)&(mousey>=220)&(mousey<300)&(EC(PL(1),1)>0):CN=EC(PL(1),1)
	if (mousex>=365)&(mousex<420)&(mousey>=200)&(mousey<280)&(EC(PL(2),1)>0):CN=EC(PL(2),1)
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<178+cnt*39)&(mousey>=400)&(mousey<455)&(SC(PL(1),cnt+PG(2)*10)>0):CN=SC(PL(1),cnt+PG(2)*10)
	loop
	repeat 10,1
	if (mousex>=422-cnt*39)&(mousex<502-cnt*39)&(mousey>=45)&(mousey<100)&(SC(PL(2),cnt+PG(4)*10)>0):CN=SC(PL(2),cnt+PG(4)*10)
	loop
	repeat 10,1
	if (mousex>=98+cnt*39)&(mousex<153+cnt*39)&(mousey>=307)&(mousey<387)&(AC(PL(1),cnt+PG(3)*10)>0):CN=AC(PL(1),cnt+PG(3)*10)
	loop
	repeat 10,1
	if (mousex>=447-cnt*39)&(mousex<502-cnt*39)&(mousey>=113)&(mousey<193)&(AC(PL(2),cnt+PG(5)*10)>0):CN=AC(PL(2),cnt+PG(5)*10)
	loop
	if (mousex>=7)&(mousex<62)&(mousey>=307)&(mousey<387)&(CC(PL(1),1)>0):CN=CC(PL(1),1)
	if (mousex>=538)&(mousex<593)&(mousey>=113)&(mousey<193)&(CC(PL(2),1)>0):CN=CC(PL(2),1)
	if CN=0:return
	gosub *TXDISP
	return

*TXDISP;カードテキスト窓表示
	screen 10,300,400,12:pos 0,0
	if CN<13:A=CN
	if (CN>12)&(CN<115):A=CN-87
	if (CN>114)&(CN<215):A=CN-172
	if (CN>214)&(CN<315):A=CN-257
	if (CN>314)&(CN<415):A=CN-342
	if (CN>414)&(CN<515):A=CN-427
	if (CN>514)&(CN<615):A=CN-512
	if (CN>614)&(CN<715):A=CN-597
	if (CN>714)&(CN<815):A=CN-682
	if (CN>814)&(CN<913):A=CN-768
	A--
	M=""
	repeat 23,0
	notesel TX
	noteget T,A*23+cnt
	M+=T+"\n"
	loop
	gosub *CARDKIND
	if GN=1:color 255,180,180
	if GN=2:color 150,150,255
	if GN=3:color 255,230,150
	if GN=4:color 200,255,200
	boxf 0,0,300,400
	color 0,0,0:font "MS UI Gothic",17,17
	mes M
	gsel 0
	return


*CARDNAME;カード名
	N=""
	if CN=1:N="先読み"
	if CN=2:N="昔のことは気にせず"
	if CN=3:N="ピンポイント"
	if CN=4:N="全包位攻撃"
	if CN=5:N="パターン避け"
	if CN=6:N="毛玉"
	if CN=7:N="魔を撃つ人間"
	if CN=8:N="人を喰らいし魔"
	if CN=9:N="香霖堂"
	if CN=10:N="逢魔が刻"
	if CN=11:N="森羅結界"
	if CN=12:N="Lunatic"
	if CN=100:N="博麗霊夢"
	if CN=101:N="夢符「二重結界」"
	if CN=102:N="霊符「夢想封印　散」"
	if CN=103:N="霊符「夢想封印　集」"
	if CN=104:N="宝符「陰陽宝玉」"
	if CN=105:N="神技「八方鬼縛陣」"
	if CN=106:N="大結界「博麗弾幕結界」"
	if CN=107:N="神霊「夢想封印　瞬」"
	if CN=108:N="無題「空を飛ぶ不思議な巫女」"
	if CN=109:N="博麗アミュレット"
	if CN=110:N="調伏"
	if CN=111:N="無重力"
	if CN=112:N="直感"
	if CN=113:N="博麗大結界"
	if CN=114:N="天賦の才"
	if CN=200:N="霧雨魔理沙"
	if CN=201:N="魔符「スターダストレヴァリエ」"
	if CN=202:N="魔符「ミルキーウェイ」"
	if CN=203:N="光符「アースライトレイ」"
	if CN=204:N="恋符「ﾉﾝﾃﾞｨﾚｸｼｮﾅﾙﾚｰｻﾞｰ」"
	if CN=205:N="魔空「アステロイドベルト」"
	if CN=206:N="恋符「マスタースパーク」"
	if CN=207:N="星符「ドラゴンメテオ」"
	if CN=208:N="魔砲「ファイナルスパーク」"
	if CN=209:N="イリュージョンレーザー"
	if CN=210:N="問答無用"
	if CN=211:N="拝借"
	if CN=212:N="疾風怒濤"
	if CN=213:N="高速詠唱"
	if CN=214:N="魔力結晶"
	if CN=300:N="十六夜咲夜"
	if CN=301:N="奇術「ミスディレクション」"
	if CN=302:N="幻象「ルナクロック」"
	if CN=303:N="幻在「クロックコープス」"
	if CN=304:N="幻幽「ジャック・ザ・ルドビレ」"
	if CN=305:N="幻符「殺人ドール」"
	if CN=306:N="奇術「エターナルミーク」"
	if CN=307:N="幻葬「夜霧の幻影殺人鬼」"
	if CN=308:N="傷魂「ソウルスカルプチュア」"
	if CN=309:N="離剣の見"
	if CN=310:N="ナイフ回収"
	if CN=311:N="時間減速"
	if CN=312:N="時間加速"
	if CN=313:N="時間停止"
	if CN=314:N="咲夜の世界"
	if CN=400:N="魂魄妖夢"
	if CN=401:N="幽鬼剣「妖童餓鬼の断食」"
	if CN=402:N="獄界剣「二百由旬の一閃」"
	if CN=403:N="人符「現世斬」"
	if CN=404:N="畜趣剣「無為無策の冥罰」"
	if CN=405:N="六道剣「一念無量劫」"
	if CN=406:N="人世剣「大悟顕晦」"
	if CN=407:N="天上剣「天人の五衰」"
	if CN=408:N="断迷剣「迷津慈航斬」"
	if CN=409:N="精神統一"
	if CN=410:N="一閃"
	if CN=411:N="信念"
	if CN=412:N="白楼剣"
	if CN=413:N="楼観剣"
	if CN=414:N="師の教え"
	if CN=500:N="八雲紫"
	if CN=501:N="結界「夢と現の呪」"
	if CN=502:N="結界「動と静の均衡」"
	if CN=503:N="罔両「ｽﾄﾚｰﾄとｶｰﾌﾞの夢郷」"
	if CN=504:N="式神「八雲藍」"
	if CN=505:N="境符「四重結界」"
	if CN=506:N="罔両「八雲紫の神隠し」"
	if CN=507:N="結界「生と死の境界」"
	if CN=508:N="紫奥義「弾幕結界」"
	if CN=509:N="神隠し"
	if CN=510:N="式神：八雲藍"
	if CN=511:N="式神強化"
	if CN=512:N="八雲卍傘"
	if CN=513:N="睡眠"
	if CN=514:N="ネクロファンタジア"
	if CN=600:N="アリス・マーガトロイド"
	if CN=601:N="蒼符「博愛の仏蘭西人形」"
	if CN=602:N="戦符「リトルレギオン」"
	if CN=603:N="魔符「ｱｰﾃｨﾌﾙｻｸﾘﾌｧｲｽ」"
	if CN=604:N="紅符「紅毛の和蘭人形」"
	if CN=605:N="操符「乙女文楽」"
	if CN=606:N="咒詛「魔彩光の上海人形」"
	if CN=607:N="魔光「デヴィリーライトレイ」"
	if CN=608:N="咒詛「首吊り蓬莱人形」"
	if CN=609:N="仏蘭西人形"
	if CN=610:N="上海人形"
	if CN=611:N="蓬莱人形"
	if CN=612:N="人形生成"
	if CN=613:N="人形裁判"
	if CN=614:N="ドールクルセイダー"
	if CN=700:N="レミリア・スカーレット"
	if CN=701:N="天罰「スターオブダビデ」"
	if CN=702:N="紅符「不夜城レッド」"
	if CN=703:N="必殺「ハートブレイク」"
	if CN=704:N="冥符「紅色の冥界」"
	if CN=705:N="神罰「幼きデーモンロード」"
	if CN=706:N="神術「吸血鬼幻想」"
	if CN=707:N="紅魔「スカーレットデビル」"
	if CN=708:N="「紅色の幻想郷」"
	if CN=709:N="サーヴァントフライヤー"
	if CN=710:N="デーモンロードウォーク"
	if CN=711:N="紅魔館の主"
	if CN=712:N="吸血"
	if CN=713:N="亡き王女の為のセプテット"
	if CN=714:N="畏怖すべき存在"
	if CN=800:N="西行寺幽々子"
	if CN=801:N="冥符「黄泉平坂行路」"
	if CN=802:N="亡郷「亡我郷」"
	if CN=803:N="死符「ギャストリドリーム」"
	if CN=804:N="亡舞「生者必滅の理」"
	if CN=805:N="幽曲「ﾘﾎﾟｼﾞﾄﾘ・ｵﾌﾞ・ﾋﾛｶﾜ」"
	if CN=806:N="桜符「完全なる墨染の桜」"
	if CN=807:N="死蝶「華胥の永眠」"
	if CN=808:N="「反魂蝶」"
	if CN=809:N="蝶弾"
	if CN=810:N="胡蝶夢の舞"
	if CN=811:N="悉皆彷徨"
	if CN=812:N="ボーダーオブライフ"
	if CN=813:N="対岸の誘い"
	if CN=814:N="暴食"
	if CN=901:N="幻想結界"
	if CN=902:N="弾幕馬鹿"
	if CN=903:N="責任転嫁"
	if CN=904:N="マリス砲"
	if CN=905:N="瀟洒な従者"
	if CN=906:N="約束"
	if CN=907:N="御庭番"
	if CN=908:N="永遠を斬る"
	if CN=909:N="空っぽの賽銭箱"
	if CN=910:N="最後の砦"
	if CN=911:N="幽明境を異にする"
	if CN=912:N="支配するもの"
	return
*CARDKIND;カードの種類及び名前表示の背景枠の長さ
	GN=5
	if CN=1:GN=4:X=60
	if CN=2:GN=4:X=160
	if CN=3:GN=4:X=94
	if CN=4:GN=4:X=104
	if CN=5:GN=4:X=106
	if CN=6:GN=3:X=42
	if CN=7:GN=3:X=118
	if CN=8:GN=3:X=128
	if CN=9:GN=3:X=64
	if CN=10:GN=3:X=82
	if CN=11:GN=3:X=84
	if CN=12:GN=3:X=70
	if CN=100:GN=1
	if CN=101:GN=2:X=146
	if CN=102:GN=2:X=180
	if CN=103:GN=2:X=180
	if CN=104:GN=2:X=146
	if CN=105:GN=2:X=166
	if CN=106:GN=2:X=208
	if CN=107:GN=2:X=180
	if CN=108:GN=2:X=258
	if CN=109:GN=3:X=128
	if CN=110:GN=3:X=42
	if CN=111:GN=4:X=64
	if CN=112:GN=4:X=42
	if CN=113:GN=3:X=104
	if CN=114:GN=3:X=80
	if CN=200:GN=1
	if CN=201:GN=2:X=230
	if CN=202:GN=2:X=168
	if CN=203:GN=2:X=186
	if CN=204:GN=2:X=248
	if CN=205:GN=2:X=204
	if CN=206:GN=2:X=192
	if CN=207:GN=2:X=170
	if CN=208:GN=2:X=204
	if CN=209:GN=3:X=174
	if CN=210:GN=4:X=82
	if CN=211:GN=4:X=42
	if CN=212:GN=4:X=84
	if CN=213:GN=4:X=84
	if CN=214:GN=4:X=84
	if CN=300:GN=1
	if CN=301:GN=2:X=194
	if CN=302:GN=2:X=152
	if CN=303:GN=2:X=184
	if CN=304:GN=2:X=224
	if CN=305:GN=2:X=152
	if CN=306:GN=2:X=188
	if CN=307:GN=2:X=224
	if CN=308:GN=2:X=220
	if CN=309:GN=4:X=80
	if CN=310:GN=4:X=90
	if CN=311:GN=3:X=84
	if CN=312:GN=3:X=84
	if CN=313:GN=4:X=84
	if CN=314:GN=4:X=100
	if CN=400:GN=1
	if CN=401:GN=2:X=224
	if CN=402:GN=2:X=224
	if CN=403:GN=2:X=124
	if CN=404:GN=2:X=224
	if CN=405:GN=2:X=186
	if CN=406:GN=2:X=166
	if CN=407:GN=2:X=184
	if CN=408:GN=2:X=186
	if CN=409:GN=4:X=84
	if CN=410:GN=4:X=42
	if CN=411:GN=3:X=42
	if CN=412:GN=3:X=64
	if CN=413:GN=3:X=64
	if CN=414:GN=3:X=76
	if CN=500:GN=1
	if CN=501:GN=2:X=154
	if CN=502:GN=2:X=176
	if CN=503:GN=2:X=238
	if CN=504:GN=2:X=124
	if CN=505:GN=2:X=144
	if CN=506:GN=2:X=198
	if CN=507:GN=2:X=176
	if CN=508:GN=2:X=166
	if CN=509:GN=4:X=56
	if CN=510:GN=3:X=116
	if CN=511:GN=4:X=84
	if CN=512:GN=3:X=84
	if CN=513:GN=4:X=42
	if CN=514:GN=3:X=140
	if CN=600:GN=1
	if CN=601:GN=2:X=226
	if CN=602:GN=2:X=172
	if CN=603:GN=2:X=222
	if CN=604:GN=2:X=204
	if CN=605:GN=2:X=144
	if CN=606:GN=2:X=226
	if CN=607:GN=2:X=212
	if CN=608:GN=2:X=202
	if CN=609:GN=3:X=106
	if CN=610:GN=3:X=84
	if CN=611:GN=3:X=84
	if CN=612:GN=4:X=84
	if CN=613:GN=3:X=84
	if CN=614:GN=4:X=146
	if CN=700:GN=1
	if CN=701:GN=2:X=188
	if CN=702:GN=2:X=168
	if CN=703:GN=2:X=172
	if CN=704:GN=2:X=162
	if CN=705:GN=2:X=210
	if CN=706:GN=2:X=166
	if CN=707:GN=2:X=202
	if CN=708:GN=2:X=140
	if CN=709:GN=3:X=176
	if CN=710:GN=4:X=174
	if CN=711:GN=4:X=100
	if CN=712:GN=3:X=42
	if CN=713:GN=3:X=210
	if CN=714:GN=4:X=136
	if CN=800:GN=1
	if CN=801:GN=2:X=186
	if CN=802:GN=2:X=124
	if CN=803:GN=2:X=200
	if CN=804:GN=2:X=182
	if CN=805:GN=2:X=234
	if CN=806:GN=2:X=216
	if CN=807:GN=2:X=162
	if CN=808:GN=2:X=82
	if CN=809:GN=3:X=42
	if CN=810:GN=4:X=102
	if CN=811:GN=3:X=84
	if CN=812:GN=3:X=144
	if CN=813:GN=4:X=98
	if CN=814:GN=4:X=42
	if CN=901:GN=3:X=84
	if CN=902:GN=4:X=84
	if CN=903:GN=3:X=84
	if CN=904:GN=4:X=66
	if CN=905:GN=4:X=102
	if CN=906:GN=4:X=42
	if CN=907:GN=4:X=62
	if CN=908:GN=4:X=94
	if CN=909:GN=3:X=134
	if CN=910:GN=4:X=80
	if CN=911:GN=4:X=150
	if CN=912:GN=3:X=110
	return


*GRA;グラフィック
	if GN=1:gcopy 2,0,205,203,15
	if GN=2:gcopy 2,0,220,203,15
	if GN=3:gcopy 2,0,235,203,15
	if GN=4:gcopy 2,0,250,203,15
	if GN=5:gcopy 2,0,265,203,15
	if GN=6:gcopy 2,0,265,60,15
	if GN=7:gmode 3,,,192:gcopy 2,0,280,X,20:gmode 0
	if GN=11:gcopy 2,0,0,55,80
	if GN=12:gcopy 2,70,0,55,80
	if GN=13:gcopy 2,0,100,55,80
	if GN=14:gcopy 2,70,100,55,80
	if GN=15:gcopy 2,300,0,80,55
	if GN=21:gcopy 2,140,0,55,80
	if GN=22:gcopy 2,210,0,55,80
	if GN=23:gcopy 2,140,100,55,80
	if GN=24:gcopy 2,210,100,55,80
	if GN=25:gcopy 2,300,60,80,55
	return

*EXI;終了時の処理
	if (wparam=10)&(CSR!400) { ;テキスト窓消去時
		;screen 10,300,400,2
		gsel 0, 1
		if state=1:goto *BATTLE
		if state=2:goto *SINGLE
		if state=3:goto *DECK
	}
	sockput "Connection Closed", 0
	sockclose 0	;ソケット切断
	end

*RESET;変数を復帰させる
	repeat 3
		LP(cnt)=0:PN(cnt)="":PL(cnt)=0:MP(cnt)=0
		ucnt = cnt
		repeat 45
			LC(ucnt, cnt)=0:HC(ucnt, cnt)=0:SC(ucnt, cnt)=0:AC(ucnt, cnt)=0:GC(ucnt, cnt)=0
			lcnt = cnt
			repeat 3
				SS(ucnt, lcnt, cnt) = 0:AS(ucnt, lcnt, cnt) = 0
			loop
		loop
		repeat 3
			EC(ucnt, cnt)=0:FS(ucnt, cnt)=0
		loop
		repeat 5
			CC(ucnt, cnt)=0
		loop
		repeat 85
			RS(ucnt, cnt)=0
		loop
	loop
	repeat 5
		SL(cnt)=0:RQ(cnt)=0:AW(cnt)=0
	loop
	repeat 10
		PG(cnt) = 0
	loop
	repeat 101
		CH(cnt) = ""
	loop
	repeat 45
		DC(cnt) = 0
	loop
	repeat 12
		ucnt = cnt
		repeat 21
			DS(ucnt, cnt) = 0
		loop
	loop
	N="":T="":M="":CM="":SDT="":RDT=""
	TM=0
	exist "config.ini" ;コンフィグファイル読み込み
	if strsize >= 0 {
		notesel config
		noteload "config.ini"
		noteget PN(0), 0
	}
	return

*RESETSL
	repeat 5
	SL(cnt)=0
	loop
	return
