- 154 名前:デフォルトの名無しさん mailto:sage [2007/09/19(水) 22:11:14 ]
- >>143
なんかよくわかんないけど130は基本的にダメPO。 宿題スレの乗りでおいてみる¨ #include <stdio.h> #include <stdlib.h> #include <time.h> #include <memory.h> int S=0,H=13,C=26,D=39,J=52,N=4,M=54; char* SUIT[5]={"S","H","C","D"}; void swap(int *a,int *b) {int t=*a;*a=*b;*b=t;} void initDeck(int *d){int i;for(i=0;i<M;i++)d[i]=i;} void initHand(int *h){memset(h,-1,sizeof(int)*N*M);} void shuffle(int* d){int i,j;srand((unsigned)time(0)); for(i=0;i<M;i++){j=rand()%M;swap(d+i,d+j);}} void distribute(int *d,int *h){int i; for(i=0;i<M;i++)swap(h+((i%N)*M+(i/N)),d+i);} void show(int *h){int i,j,t;for(i=0;i<N;i++){ printf("PLAYER%d: ",i);for(j=0;(t=h[i*M+j])>=0;j++){ if(t<J)printf("%s-%d ",SUIT[t/13],t%13+1); else printf("JOKE ");}puts("");}} void game(){int d[M];int h[N*M];initDeck(d);initHand(h); shuffle(d);distribute(d,h);show(h);} int main() {game();system("PAUSE");return 0;}
|

|