Win-TC(19)纸牌小游戏

Win-TC(19)纸牌小游戏

ID:39889899

大小:180.50 KB

页数:32页

时间:2019-07-14

Win-TC(19)纸牌小游戏_第1页
Win-TC(19)纸牌小游戏_第2页
Win-TC(19)纸牌小游戏_第3页
Win-TC(19)纸牌小游戏_第4页
Win-TC(19)纸牌小游戏_第5页
资源描述:

《Win-TC(19)纸牌小游戏》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Win-TC(1.9)纸牌小游戏实例Win-TC(1.9)以前刚学C语言时用的编译器,虽然老了一些,还是简单实用。纸牌游戏种类繁多,五花八门,让人眼花缭乱,本程序是在Win-TC编译环境下实现的一种传统的纸牌接龙游戏。游戏规则如下:将打开的纸牌从上至下由大到小按顺序排列纸牌,如果花色相同,从K,Q,J到2,A的13张牌将移到左下角叠放。每次可以移动一张或多张纸牌(如果花色相同且是按大到小的牌),游戏中共有104张牌,重复上操作,将牌全部按要求移到左下方,游戏胜利结束。游戏中共设难易级别三种(一种花色、两种花色、四种花色),游戏全过程用鼠标操作,具体操作为:将鼠标移到要移动纸牌区按住

2、左键不要松开把选定的纸牌拖到目标处再松开鼠标的左键,如果操作成功纸牌将由原处移到目标处。图1、纸牌游戏操作界面上图为进入游戏初始选择难易级别操作界面,Select窗口中共有四个按钮,close,One,Two,Four,功能分别如下:Close――――――关闭Select窗口One―――――――选择单色级别(初级)Two―――――――选择双色级别(中级)Four―――――――选择四色级别(高级)游戏界面左上角有两个按钮,“游戏”、“发牌”。其中“游戏”按钮中有几个子菜单如下图所示:Begin――重新开局Select――选择难易级别Score――查看游戏成绩Quit―――退出返回系统

3、图2、右图为“游戏”子菜单游戏中设计了一个成绩分数记录会话窗口,统计当前游戏进程战绩情况。如下图所示:图3、战况分数榜游戏胜利结束会自动打开游戏结束会话窗口,并统计本次游戏战况分数。如下图所示:图4、中级(两色)游戏胜利结束上图为中级(两色)游戏胜利结束会话窗口,三个按钮:close关闭Gameover会话窗口,Begin重新开局(退出会话窗口),Select选择游戏难易级别。游戏操作界面左下方为按顺序排列的8列纸牌,中间为信息显示框:Score为本次游戏的得分情况,Work为游戏的操作手数。上方为十个纸牌游戏操作分区,现已全部清空,牌已经全部移到左下方。图5为高级(四色)游戏中的

4、截图,游戏界面上方的十个分区中从左往右,1至4分区中盖着的纸牌分别有5张,5至10分区中盖着的纸牌分别有4张,只要把面上打开的纸牌移走,盖着的纸牌会自动打开。右下共有6叠纸牌,每叠中有10张共是60张。游戏开始后会自动把最左边的纸牌发到游戏分区,按下“发牌”按钮每次发一叠牌,每个分区一张纸牌。每次游戏共发6次牌。图5、高级(四色)游戏中程序的难处在处理鼠标操作屏幕移牌动作,因为要正确判断鼠标的屏幕矢量位置是在哪一张纸牌上有一定的难度,纸牌从上到下按顺序叠放,下一张压着上一张一半过的位置。程序中采用栈数据来描述纸牌的游戏过程数据,先进后出,后进先出,因移牌都是从下边开始的。纸牌的高度

5、采用两种记数法,栈底的一张牌为纸牌的全高度,其它的纸牌高度为未被压的高度。判断出鼠标位于哪张纸牌后,再次判断位于选定区域内的纸牌是否可以移动,因为被选的牌(多张)如果花色不同是不可移动的,花色相同,但不是按从大到小(上张牌比下张牌大1)顺序排列不可移动。最后判断将要移动到目标处是否可以接纳移来的牌,如果将要进栈的第一个牌大于目标处原来栈底的牌不可移动,本次移牌动作失败。Win-TC纸牌游戏源程序如下:#include"graphics.h"#include"stdio.h"#include"dos.h"#include"stdlib.h"#include"time.h"#defin

6、eRS40//纸牌高度#defineCS30//纸牌宽度#defineNh5//放置纸牌高度(上张未打开状态)#defineYh15//放置纸牌高度(上张打开状态)#defineMWind1//主窗口#defineBWind2//子窗口#defineTY50//纸牌游戏区初始高度//定义纸牌的栈数据typedefstructSTACK{charn[5];//牌号名称inty;//Y轴分量inth;//牌号大小数字ints;//花色intm;//移走状态intopen;//牌的正反面状态inter;//牌的边颜色intfr;//牌面字体颜色}Stack;StackPai[104];/

7、/两付纸牌的缓存区StackPai60[6][10];//待发的六份牌缓存区//定义纸牌的数组数据typedefstructARRAY{StackS[52];//栈数据缓存区intf;intr;//尾指针intx;//x轴分量}Array;ArrayGP[10];//游戏中十个分区缓存区intHS[4]={6,3,5,4};//花色用列表intMx[10]={35,95,155,215,275,335,395,455,515,575};//十个游戏分区用列表intRm

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。