C语言程序设计课程设计扑克牌游戏,怎么做?

C语言程序设计课程设计扑克牌游戏,怎么做?,第1张

#include<conio.h>

#include<time.h>

#include<stdio.h>

#include<stdlib.h>

int jisuan(int)

int comptotal

char s1[]="A234567890JQK"

//char s2[4][5]={"红桃","黑桃","草花","方块"}

char s2[4]={3,4,5,6}

int poke[52]

int ch

int win=0

int computer[5],user[5]

int usertotal

int users

int k

int main()

{ void xipai(int poke[])

void ai()

int i,j

////////////////////////////////////////////////////////上面是变量和声明

printf("\n这是简单的廿一点游戏:\n")

for(i=0i<52i++)

{

if(i%13==0)putchar('\n')

poke[i]=i

printf("%c%c%c ",s2[i/13],s1[i%13]=='0'?'1':' ',s1[i%13])

}

putchar('\n')

/////////////////////////////////////////////////////////主代码

k=0

xipai(poke)

while(ch!=27)

{ comptotal=0

usertotal=0

if(k>=42)

{

printf("\n剩余牌数不足十张,重新洗牌")

xipai(poke)

k=0

}

printf("\n\n\n\n\n\n\n\n新局开始:\n")

printf("现在共有牌%2d张\n",52-k)

if(win==0)

{

computer[0]=k++

user[0]=k++

printf("\n电脑做庄,要牌:")

ai()

}

else

{

printf("\n玩家做庄,要牌:\n\t回车要牌\n\t空格过牌")

user[0]=k++

computer[0]=k++

}

printf("\n玩家开始要牌:\n")

usertotal=jisuan(poke[user[0]])

printf("%c%c%c 共%2d点\t",s2[poke[user[0]]/13],s1[poke[user[0]]%13]=='0'?'1':' ',s1[poke[user[0]]%13],usertotal)

users=0

ch=1

while(ch!=32&&users<4)

{

ch=getch()

switch(ch)

{

case 27:

goto end

break

case 32:

break

case 13:

user[++users]=k

usertotal+=jisuan(poke[user[users]])

printf("\b\b\b\b\b\b\b\b\b%c%c%c共%2d点\t",s2[poke[k]/13],s1[poke[k]%13]=='0'?'1':' ',s1[poke[k]%13],usertotal)

k++

if(usertotal>=21)ch=32

break

default:

break

}

}

if(win==1)

{

printf("\n电脑开始要牌:\n")

ai()

}

printf("\n\n\n玩家的点数是%2d",usertotal)

printf("\n电脑的点数是%2d",comptotal)

printf("\n\n本局结算:")

if(comptotal>21&&usertotal<=21)

{

printf("\n\n电脑爆牌了")

win=1

printf("\n恭喜,你赢了")

}

if(usertotal>21&&comptotal<=21)

{

printf("\n\n你爆牌了")

printf("\n下次小心点")

win=0

}

if(usertotal>21&&comptotal>21)

{

printf("\n\n你们两个,怎么都这么不小心啊,都撑死了还要吗")

}

if(usertotal<=21&&comptotal<=21)

{

if(usertotal>comptotal)

{

win=1

printf("\n\n不错,你赢了")

}

else if(usertotal<comptotal)

{

win=0

printf("\n\n撑死胆大的,饿死胆小的,没胆子,输了吧")

}

else

printf("\n\n平了,算你走运")

}

getch()

}

end:

return 0

}

void xipai(int poke[])

{

int y,tmp,i,j

for(j=0j<7j++)

for(i=0i<52i++)

{

srand(time(0))

y=rand()%10

tmp=poke[i]

poke[i]=poke[(y*i*i)%52]

poke[(y*i*i)%52]=tmp

}

}

///////////////////////////////////////////////子函数

void ai()

{

int i

comptotal=jisuan(poke[computer[0]])

printf("\n%c%c%c 共%2d点\t",s2[poke[computer[0]]/13],s1[poke[computer[0]]%13]=='0'?'1':' ',s1[poke[computer[0]]%13],comptotal)

for(i=0i<4i++)

{

if(comptotal<17)

{

computer[i+1]=k++

comptotal+=jisuan(poke[computer[i+1]])

printf("\b\b\b\b\b\b\b\b\b%c%c%c共%2d点\t",s2[poke[computer[i+1]]/13],s1[poke[computer[i+1]]%13]=='0'?'1':' ',s1[poke[computer[i+1]]%13],comptotal)

}

}

}

int jisuan(int i)

{int dian

switch(i%13)

{

case 0:

case 10:

case 11:

case 12:

dian=1

break

default:

dian=i%13+1

}

return dian

}

方法一:

1、打开控制面板---添加或删除程序——windows组件

2、选择 附件和工具——点击详细信息。

3、把游戏打钩,确定就可以了。

方法二:

可以到别的电脑复制到自己的电脑就可以玩了,位置如下:

windows游戏在C:\windows\system32 里面

纸牌游戏”是sol.exe

“扫雷”是winmine.exe

“三维d球”是PINBALL.EXE

“空当接龙”是freecell.exe

“红心大战”是mshearts.exe

蜘蛛纸牌   spider

拓展资料:

纸牌游戏是windows 系统自带的一种休闲游戏

Flash版小游戏

纸牌游戏小游戏:是一款经典的模仿PC机上的纸牌游戏——纸牌游戏拖拉机(Addictive Tri Peak),熟悉并喜欢纸牌游戏的玩家可以来体验下吧!

游戏名:纸牌游戏

游戏英文名:addictive tri peak

游戏大小:479.83 KB

游戏类型:棋牌小游戏

游戏专题:棋牌,扑克牌,纸牌,挑战,智力

游戏标签:纸牌游戏,棋牌

纸牌游戏规则:

游戏中下方的牌称为为主牌,若上面有比主牌大1或者小1的牌,点击它们可消除。若没有可消除的,可点击主牌可换主牌。点击右边的wild card可增加一定数量的牌,点击undo可撤销上一步的 *** 作,点击stop time可暂停游戏,点击new deal可重置。

*** 作说明:

鼠标点击 *** 作。详细情况请参看上述纸牌游戏规则。

如何开始:

游戏加载完成后点击play game - 接着点击play - 再点击new game - 然后点击continue即可开始游戏

游戏目标:

在限定的时间内,消除所有的牌获得更高的分数吧!

呵呵,说实话,

第一,需求说的不明确呀,三张牌比较大小,比较规则呢?

第二,交互界面,怎么交互。

第三,各个类的作用是什么。

第四,设计起来还是比较烦的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12196690.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存