導航:首頁 > 編程知識 > 撲克牌游戲什麼編程語言比較簡單

撲克牌游戲什麼編程語言比較簡單

發布時間:2023-03-03 19:40:24

① c語言程序設計撲克牌游戲

定義一個結構類型表示一張牌,結構包含3個成員,第一個成員char:取值2,3~K,A表示牌名字,第二個成員int:取值2~14表示牌真實大小。第三個成員:結構鏈表指針。
寫一個初始化函數,定義52大小的結構數組,成員值初值分別和牌對應,遍歷數組並將每個元素的鏈表指針依次指向下一個元素地址。這樣得到一個初始鏈表。(相當於一盒新牌)
所有涉及隨機數都用rand函數,洗牌分四份就是循環取隨機數m=1~n,n是隨循環自減,初值52,直到n變成0。每隨一次循環就從初始鏈表中遍歷取出對應第m個節點,並從初始鏈表中將這個節點斷開(既前一個節點指針直接指向後一個節點指針)。每取13張就組成一個新的鏈表。這樣獲得4個新鏈表分別表示4個玩家。
最後出牌就是分別遍歷自己的鏈表,利用循環取牌比較結構數值大小。(取出的牌要從鏈表斷開和上面一樣,你把取出節點寫成獨立函數就能反復使用)。

② 如何用c語言編寫紙牌發牌程序

發牌原程序見我的空間(http://hi..com/crazycola/blog/item/52402bd4b3f68705a08bb746.html),可選是否包含大小王,可選發牌列數。

以下為改過的版本,不包含大小王(即總數52張),只能發4堆。

另外附加了用戶菜單,原程序中不含菜單部分。

代碼如下:

---------------------------------------
#include <stdlib.h>
#include <time.h>
#include <stdio.h>

int menu()
{
int choice;
printf("1 發牌/0 退出:");
scanf("%d",&choice);
return choice;
}

void main( void )
{
int i1, j, total;
int *iArr;
int tag = 0;
char* pok_C[] = { "黑桃", "紅桃", "梅花", "方塊" };
char* pok_N[] = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" };

if(!menu()) exit(0);

total = 52;
srand( (unsigned)time( NULL ) );
iArr = (int*)malloc(total*sizeof(int));

for( i1=0; i1<total; i1++ )
{
iArr[i1]=rand()%total;
if( i1==0 ) continue;
do {
tag = 0;
for( j=0; j<i1; j++ )
if( iArr[j] == iArr[i1] )
{
iArr[i1]=rand()%total;
tag = 1;
}
} while( tag==1 );
}

for( i1=0; i1<total; i1++ )
{
printf("%s%s\t",pok_C[iArr[i1]%4],pok_N[iArr[i1]%13]);
if(i1%4==3) printf("\n");
}

free(iArr);

}

閱讀全文

與撲克牌游戲什麼編程語言比較簡單相關的資料

熱點內容
天空網解壓密碼 瀏覽:583
拉薩網站布局該怎麼設計 瀏覽:416
零售數據怎麼用圖來表示 瀏覽:628
英雄無敵7win1064位 瀏覽:951
寧波pm編程技能培訓哪裡便宜 瀏覽:779
國外疫情數據哪裡准確 瀏覽:924
桌面上的部分文件不見了 瀏覽:453
win10ie主頁改不過來 瀏覽:833
arccatalog添加資料庫伺服器 瀏覽:437
手機里如何找app 瀏覽:510
cmd轉換文件夾 瀏覽:257
使命召喚9可以在win10上運行嗎 瀏覽:383
網路盒子怎麼收費 瀏覽:995
戶戶通沒有網路怎麼回事 瀏覽:78
個稅原文件改名之後找不到了 瀏覽:824
文件另存為在一個地方卻找不到了 瀏覽:502
記錄每天走的里程下什麼app 瀏覽:323
如何修改字幕文件 瀏覽:493
頭條數據助手有什麼用 瀏覽:423
logcat分析工具 瀏覽:236

友情鏈接