纸牌游戏21点设计制作(C语言)
纸牌游戏21点设计制作 (C语言)
我是编程爱好者。早期使用windows时就被扫雷游戏,钻石棋游戏,红心大战游戏迷住。相信大家也都玩过吧。在学习VB6编程时就编制过钻石棋和红心大战那样的纸牌游戏。都是标准Windows图形界面的。感兴趣的同好可参考我在同站上传的资源《纸牌游戏设计(VB6源码)》,其中有纸牌卡座制作和博眼子游戏。
今天再与大家共享C语言的纸牌游戏《21点》。此纸牌游戏起源于法国后流行世界各国,上世纪传入中国。它与《争上游》(俗称大怪路子或八十分)、《红心大战》(俗称拱猪)等都曾风靡上海滩。今试编此游戏程序介绍一些界面设计方法和游戏设计各个功能的算法。代码中加了注释,也展示了算法的设计要点和算法检验以及程序调试方法与过程。
算法设计:52张牌面制作显示。洗牌,随机显示52张牌。牌序0到51换算为A234...到JQK。界面显示圆角牌背牌面。界面提示文字显示。程序主要介绍了一些测试调试方法。代码中有详细注释。
drawcards ( ){。 // 设计制作显示52张牌, 验牌测试 }
showcard ( ){ // 验牌测试,洗牌显示 //设计过程:画牌验牌洗牌测试用 }
shuffle_cards ( ){ // 洗牌设计 }
transcards ( ){ //牌序号转为牌点和牌花色, 画出牌张 }
print_t ( ){ //打印标题提示等文字 //** 参数 sx,sy, ss3=$, tsize=text size }
MySpringC是一个简化的C语言编译器。当前运行在Android平台上,是Android平台的一款应用。
使用MySpringC可以书写简单的C语言程序,编写完成后可以编译、运行并获得 结果。还可以做出安卓手机桌面app应用。SpringC支持的C与普通的C非常类似。MySpringC它没有复杂、庞大的编程环境,只要你了解一点C或java,只需要一部手机,在家里、在地铁上任何方便的时候,就可以编写满足自己特定需求的小程序。v.2.7是目前的完善版本。下面的游戏代码就是用它在安卓手机上编写的,可制作成安卓手机桌面app应用程序。
程序提供了一个框架,VB , VC, VS 或 JAVA 改写可作为参考。
此样例可复制粘贴到编译器直接使用,亦可用 VB6 ,C++ , java 改写。
//以下是源码:
//**************************************************
//* 纸牌游戏《 21 点》 Version 1.1.0 *
//********** Black Jack ******************
//* 制作:张纯叔 ( micelu@126.com ) *
//**************************************************
Canvas cs ; //画布
string sBarDes[10];
int nBarId[10];
string sMenu[50];
int nMenu[50];
float src[4]; //ClearDraw (cls) clear screen
string s,ss,ss1,ss2,ss3; //print text
int sx,sy,dx,dy,px,py; //draw
int i,j,n,t,k; //t = times
int num; //select card number
int pn ; //发牌计数
int pnum[54]; //洗牌后的牌序列
int cardnum,cardstyle; //牌点牌花色
string cas1,cas2,cas4; //牌点牌花色图案$
string cas3,cas5 ; //牌背花色, 下注图案
double Rn; //random number
string t$; //提示文字
int tsize; //textsize
int users1,users2,users3; //东北西玩家分数
int bankers ; //庄家分数 score
int bs,us1,us2,us3 ; //计算分数 banker & users
int c1,c2,c1s,c2s ; //calculate score
int bn, bpn[5]; //banker 牌序列
int un, upn[5]; //user 牌序列
int userdo; //补牌
int gscore ; //输入c1c2计算各家分数
int bet ; //赌注,计算胜负 bet*2
int isdo; //1 翻牌可计算分,0 不计
int context; //canvasProc
int obj;
int id;
int event; //canvasProc
int getA ; //A 可算作 1 点 或 11 点
main(){
setDisplay(1);
cs.SetBackground(205,205,205);
cs.Active();
cs.SetProc (context, mycanvasProc);
sBarDes[0]="重新开始";
nBarId[0]=100;
sBarDes[1]=" 发 牌 ";
nBarId[1]=101;
sBarDes[2]=" 补 牌 ";
nBarId[2]=102;
sBarDes[3]=" ";
nBarId[3]=103;
sBarDes[4]="退出程序";
nBarId[4]=104;
sBarDes[5]="V.";
nBarId[5]=105;
setToolBarHeight(6);
setButtonTextSize(13);
setToolBarBackgroundColor(255,192,192,192);
setButtonColor(255,0,0,240);
setButtonTextColor(255,255,255,0);
setToolBar(100,myToolBarProc,sBarDes,nBarId,6);
sMenu[0]="重新开始";
nMenu[0]=200;
sMenu[1]="发牌" ;
nMenu[1]=201;
sMenu[2]="补牌";
nMenu[2]=202;
sMenu[3]=" ";
nMenu[3]=203;
sMenu[4]="测试 => 洗牌验牌";
nMenu[4]=204;
sMenu[5]="测试 => 查看计分";
nMenu[5]=205;
sMenu[6]="显示游戏主屏幕";
nMenu[6]=206;
sMenu[7]="退出";
nMenu[7]=207;
setMenu(200,myMenuProc,sMenu,nMenu,8);
setTitle("纸牌游戏 21 点 ");
//**********
cas3="
纸牌游戏21点设计制作(C语言)相关推荐
- 纸牌游戏炸金花设计制作(C语言)
纸牌游戏炸金花设计制作 (C语言) 我是编程爱好者.早期使用windows时就被扫雷游戏,钻石棋游戏,红心大战游戏迷住.相信大家也都玩过吧.在学习VB6编程时就编制过钻石棋和红心大战那样的游戏.都是标 ...
- 纸牌游戏新版小猫钓鱼设计制作
新版纸牌游戏<小猫钓鱼>设计制作 此游戏设计是我新创制的简单的卡牌游戏.属于儿童益智类游戏,适用于儿童的认知教育. 游戏规则很简单:找配对的牌消去. 游戏设置2个玩家对玩,鱼池置牌21张, ...
- java中的纸牌游戏_JAVA课程设计纸牌游戏
<JAVA课程设计纸牌游戏>由会员分享,可在线阅读,更多相关<JAVA课程设计纸牌游戏(16页珍藏版)>请在人人文库网上搜索. 1.一.问题分析和任务定义1.题目:纸牌游戏:编 ...
- 用计算机玩纸牌,《玩“纸牌”游戏》教学设计
[教学目标] 知识目标:1.进一步认识窗口.对话框和菜单命令. 2.让学生掌握纸牌游戏的玩法,使学生从玩中学计算机知识. 3.使学生熟练掌握鼠标器的操作方法. 4.初步使用"帮助" ...
- Android项目猜纸牌游戏之一 界面设计和资源文件的设计
视频课:[免费]安卓项目开发实战-张晨光的在线视频教程-CSDN程序员研修院 本游戏实现安卓手机下的猜纸牌游戏,由电脑和玩家一起玩,进行随机扑克的猜测,得分! 一:定义字符串的资源文件 <?xm ...
- Pygame实战:打扑克嘛?Python教你“经典纸牌游戏21点”玩法
导语 昨天不是周天嘛? 你们在家放松一般都会做什么呢? 周末逛逛街,出去走走看电影......这是你们的周末. 程序员的周末就是在家躺尸唐诗躺尸,偶尔加班加班加班,或者跟着几个朋友在家消遣时间打打 ...
- 纸牌游戏CardBattle的设计与开发
转载于:https://www.cnblogs.com/ZHONGZHENHUA/p/10125635.html
- 纸牌游戏红心大战拱猪设计(C语言)
纸牌游戏红心大战设计 ( C语言 ) 红心大战是Windows的经典游戏,中国式的红心是拱猪游戏,加入了方块J羊和梅花10 变压器(即俗称加倍).加大了游戏难度和趣味性. 试制此游戏是准备编制网络版 ...
- 基于java的蜘蛛纸牌游戏的设计与实现
技术:Java等 摘要: 蜘蛛纸牌是一款休闲益智类游戏,基本每一台计算机系统中都会装有这款游戏.游戏只要是通过移动纸牌将玩牌区域中和发牌区域中的纸牌以同种花色按照顺序归类,考验玩家的眼力,手速,反应速 ...
最新文章
- java 加载dll后打包_让Jacob从当前路径读取dll文件及相关打包方法
- 贴一段数组动态扩容的代码
- java商城开发_javaweb实战之商城项目开发(一)
- [蓝桥杯][算法训练VIP]接水问题(思维)
- selenium 使用js执行脚本儿链接整理
- oledbdataadapter 取不到数据 plsql能取到 date_Python3 CookBook | 数据结构和算法(二)...
- JAVA面试要点006---.net中的委托与java中的代理模式和委托
- 【渝粤教育】国家开放大学2018年春季 7385-21T公共关系学(本) 参考试题
- 国内交易平台关闭了,教你如何把Zcash(zec)兑换成人民币
- m序列生成方法及其fpga实现
- 一起玩转CAN卡“第五通道”吧!
- 如何为macOS High Sierra创建可启动的USB安装程序
- 本科计算机专业学物理力学吗,想读完研就工作,应该选哪个方向,本科物理, - 考研 - 小木虫 - 学术 科研 互动社区...
- 《西游记》《封神榜》各路神仙基本层次图,不要再傻傻分不清楚了
- 天津大学计算机软件学院,2019计算机考研天津大学数据科学与服务工程团队(与软件学院共建)...
- POJ 2248【加法链】
- c语言中单链表的逆置
- 北京军区技侦局_校庆70周年系列学术活动之六:
- ZZ 自制低成本3D激光扫描测距仪(3D激光雷达),第二部分
- python读取csv文件‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence
热门文章
- BP神经网络模型用什么软件,bp神经网络数学模型
- Linux 编程之时间篇:wall time, cpu time 和 timer
- 服务器帝国后台如何修改账户,新星帝国怎么更改服务器_服务器更换方法
- 步入AIGC时代,展望人工智能发展
- 语音降噪_标准谱减法(附Python源码) @Learning Speech enhancement__1
- C++中cout和cerr的区别?
- 基于腾讯云COS+CI图文音视频解决方案
- 项目总结——NB-IOT烟感报警器
- (自用)前端颜色搭配【渐变色】
- 如何使用学生邮箱来获得免费正版的JB全家桶(IDEA/PyChram/CLion)