纸牌游戏

来源:互联网 发布:discuz阿里云cdn设置 编辑:程序博客网 时间:2024/04/27 18:25

本文来自一个实际的学习作业:

整个程序的功能为:1、产生一副扑克牌;2、洗牌,随机混合;3、发牌;4、按照规则玩游戏,知道结束

游戏规则为:将牌布置为12*4的,取出左上角第一个,放在对应数字的列,然后在该列取以一个牌,直到第一列全部为1时游戏结束。

#include "stdafx.h"#include <stdlib.h>;#include <time.h>;int _tmain(int argc, _TCHAR* argv[]){//1 搞到一副牌printf(" 1 获取一副扑克牌\n");int poke[48];int i,j,k;for(i=0;i<12;i++)  poke[i]=i+1;for(i=12;i<24;i++) poke[i]=i-11;for(i=24;i<36;i++) poke[i]=i-23;for(i=36;i<48;i++) poke[i]=i-35;for(j=0;j<4;j++)//显示结果{for(k=0;k<12;k++){i=j*12+k;printf("%4d", poke[i]);}printf("\n");}printf("\n");printf(" 2 洗牌\n");int m,n,t;srand(time(0));//随机数的使用for(int a=0;a<1000;a++)//对所有的元素进行随机交换{m=rand()%48;n=rand()%48;t=poke[m];poke[m]=poke[n];poke[n]=t;}for(j=0;j<4;j++){for(k=0;k<12;k++){i=j*12+k;printf("%4d", poke[i]);}printf("\n");}printf("\n");printf(" 3 发牌\n");int pok[8][12]={0};for(j=0;j<4;j++){for(k=0;k<12;k++){i=j*12+k;pok[j][k]=poke[i];}}for(j=0;j<8;j++){for(k=0;k<12;k++){i=j*12+k;printf("%4d", pok[j][k]);}printf("\n");}printf("\n");printf(" 4 取牌,放牌,直到游戏结束\n");printf("\n");int low[12],up[12];for(i=0;i<12;i++){low[i]=4;up[i]=0;}int a=0,b=0,value;while(pok[7][0] != 1){value=pok[a][b];up[b]++;pok[a][b]=0;b=value-1;pok[low[b]][b]=value;low[b]++;a=up[b];}printf(" 5 显示结果\n");for(j=0;j<8;j++){for(k=0;k<12;k++){i=j*12+k;printf("%4d", pok[j][k]);}printf("\n");}printf("\n");system("pause");return 0;}


0 0
原创粉丝点击