HSPでトランプのモジュール型変数を作って適当に配る
HSPでトランプのモジュール型変数を作って適当に配る
#runtime "hsp3cl"#cmpopt varinit 1#module TrumpCard name,power,suit#modinit str _name,int _power,int _suitname=_namepower=_powersuit=_suitreturn#modcfunc tcNamereturn name#modcfunc tcPowerreturn power#modcfunc tcSuitreturn suit#global#module Trump deck,iter,countMax,hash#define new(%1) dimtype %1,5:newmod %1,Trump#modinitrandomize#define deckDefine names= \"SA","S2","S3","S4","S5","S6","S7","S8","S9","S10","SJ","SQ","SK", \"HA","H2","H3","H4","H5","H6","H7","H8","H9","H10","HJ","HQ","HK", \"CA","C2","C3","C4","C5","C6","C7","C8","C9","C10","CJ","CQ","CK", \"DA","D2","D3","D4","D5","D6","D7","D8","D9","D10","DJ","DQ","DK", \"JK","jk" :\powers= \1,2,3,4,5, 6,7,8,9,10, 11,12,13, \1,2,3,4,5, 6,7,8,9,10, 11,12,13, \1,2,3,4,5, 6,7,8,9,10, 11,12,13, \1,2,3,4,5, 6,7,8,9,10, 11,12,13, \0,0 :\suits= \1,1,1,1,1, 1,1,1,1,1, 1,1,1, \2,2,2,2,2, 2,2,2,2,2, 2,2,2, \3,3,3,3,3, 3,3,3,3,3, 3,3,3, \4,4,4,4,4, 4,4,4,4,4, 4,4,4, \0,0deckDefineforeach namesnewmod deck,TrumpCard,names(cnt),powers(cnt),suits(cnt)loopforeach deckhash(cnt)=cntloopcount=length(deck)repeat countr=rnd(count)tmp=hash(cnt)hash(cnt)=hash(r)hash(r)=tmploopitr=0return#modcfunc trpCountreturn count#modfunc local trpNext var cardcard=deck(hash(iter))iter++return#define global trpNext(%1,%2) dimtype %2,5:trpNext@Trump %1,%2#globalnew@Trump trprepeat trpCount(trp)i=cnt/4trpNext trp,cardif cnt\4=0 {p1(i)=card}else:if cnt\4=1 {p2(i)=card}else:if cnt\4=2 {p3(i)=card}else:if cnt\4=3 {p4(i)=card}loopmes "【Player 1】"foreach p1mes tcName(p1.cnt)+",",1loopmes "\n【Player 2】"foreach p2mes tcName(p2.cnt)+",",1loopmes "\n【Player 3】"foreach p3mes tcName(p3.cnt)+",",1loopmes "\n【Player 4】"foreach p4mes tcName(p4.cnt)+",",1loopmes ""