模擬洗牌遊戲
阿新 • • 發佈:2018-12-17
洗牌發牌
解釋
我的小程式碼
#include <stdio.h> #include <stdlib.h> #include <time.h> void Shuffle(int A[][13]); void Deal(int A[][13]); void Print(int a,int b,int c); int main() { srand(time(NULL)); int A[4][13]={0}; Shuffle(A); Deal(A); return 0; } void Shuffle(int A[][13]) { int r,c; for(int i=1;i<=52;) { r=rand()%4; c=rand()%13; if(A[r][c]==0) { A[r][c]=i; i++; } } } void Deal(int A[][13]) { int find=0; for(int card=1;card<=52;) { for (int i = 0; i < 4; i++) { for (int j = 0; j < 13; j++) { if(A[i][j]==card) { Print(card,i,j); card++; } } } } } void Print(int a,int b,int c) { printf("the %d is ",a); if(b==0) printf("hongtao "); if(b==1) printf("heitao "); if(b==2) printf("meihua "); if(b==3) printf("fangpian "); printf("%d\n",c+1); }
心得
1.可以把card++;i++;放在if語句中
2.按照card的順序歷遍二維陣列來找到那個值