二十一点游戏设计报告(16页).doc
《二十一点游戏设计报告(16页).doc》由会员分享,可在线阅读,更多相关《二十一点游戏设计报告(16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-二十一点游戏设计报告-第 16 页课程设计实验报告书程序名:二十一点游戏班级:12计算机科学与技术一班指导老师:韩静小组成员:刘宇、徐含、叶安江二十一点游戏设计报告一、 问题描述:要求支持键盘操作以及计算机的自动判断,并能够在界面上及时准确的显示当前牌面、点数,实现得分的自动加减及显示。二、功能分析:二十一点游戏需解决的问题包括:1、 游戏开始、进行、结束过程中的界面设计,以及发牌等动画的显示。2、 产生随机的牌点以及显示在牌面。3、 如何利用键盘实现开牌、要牌等操作。4、 如何实现发牌的动画效果。5、 如何实现筹码的录入以及玩家赌金的自动加减。6、 如何保存赌金的数值,以便于下次开始游戏时
2、能够显示最新的赌金。三、 程序设计:1、 程序设计总体结构:首先,初始化进入图形模式,提示按键开始游戏。开始游戏,进入游戏的主题部分,处理程序实现过程中的各种事件和函数。在处理过程中,判断游戏是否结束。若未结束,从开始界面处执行程序,若结束,则跳出循环,结束游戏。初始化参数开始界面、动画开始游戏处理和实现游戏进行过程中的的各种事件和功能游戏结束?关闭图形模式 否 是主函数为: main() int num1,num2,i,p; char index; p=1; kaishijiemian(); /*调用开始界面的函数*/ gundong(); /*调用滚动函数*/ while(p=1) duj
3、in(1); /*读取赌金*/ youxijiemian(); /*进入游戏界面*/ srand(unsigned)time(NULL ); for(i=1;i16?DN() 是 是 panduan() playerdsp=1?dujin(1)保存赌金jieshu(n) 游戏结束 Computerds关闭图形模式 否 详细描述:文件名函数原型函数功能函数处理 21dian .ckaishi() 创建游戏的进入界面通过绘图、画线、填色、显示数字等生成界面gundong()从进入界面到切到游戏界面时产生一段动画youxijiemian()游戏进行时的背景,其上显示各种提示以及筹码、赌金等对玩家键入
4、的键码、定义的值进行分析判断,通过绘图、画线、填色、显示数字等生成游戏界面fapai()游戏进行中发牌的总控制通过对WJ()、DN()、wanjiapai()、diannaopai()、jisuanWJ()、jisuanDN()等函数的调用,实现对发牌的总控制panduan()比较玩家、电脑的点数大小,并计算出相应的赌金对fapai()函数中传递来的playerds、computerds进行判断,判定游戏的胜负,并改变money的值jieshu()显示双方点数。提示游戏操作,生成游戏结果通过绘图、画线、填色、显示数字等生成界面,WJ()DN()对游戏过程中玩家和电脑的进行操作,便于融入程序,起
5、过渡作用wanjiapai(int g)diannaopai(int h)绘制游戏过程中的牌以及显示点数通过对movebar、movebar1的调用实现图形化牌、牌点jisuanWJ ()、jisaunDN()计算牌的点数,并赋值到computerds、playerds中通过一系列的比较,得出双方的牌点数四、 小组分工 全部的图形界面、及动画设计刘宇文件部分,以及键值框的设计徐含主函数以及除图形函数、文件部分以外的子函数叶安江五、 源代码:#include#include#include#include#include#include#include#include#define Key_Es
6、c 0x11b#define Key_Enter 0x1c0b#define Key_Y 0x1579#define Key_N 0x316e int winner; /*胜者数*/ int playerds,computerds; /*玩家、电脑的点数*/ char player6; char computer4; int money=2000; int wager; /*下注的赌金*/ int ky; int j,m; int paishu; void kaishi(); /*定义开始动画*/ void gundong(); void youxijiemian(); void fapai(
7、); /*定义发牌函数*/ void panduan(); /*定义判断函数*/ void dujin(int b); /*定义读取、保存赌金的函数*/ void WJ(); /*有关玩家电脑操作的函数*/ void DN(); void wanjiapai(int g); /*玩家和电脑的发牌动画*/ void diannaopai(int h); void jisuanWJ(); /*计算玩家和电脑的点数*/ void jisuanDN(); void jieshu(int n); /*游戏结束动画*/ char pai54=A,2,3,4,5,6,7,8,9,10,J,Q,K, A,2,
8、3,4,5,6,7,8,9,10,J,Q,K, A,2,3,4,5,6,7,8,9,10,J,Q,K, A,2,3,4,5,6,7,8,9,10,J,Q,K,0; main() int num1,num2,i,p; char index; p=1; kaishi(); gundong(); while(p=1) dujin(1); /*读取赌金*/ youxijiemian(); /*进入游戏界面*/ srand(unsigned)time(NULL ); /*洗牌*/ for(i=1;i=10000;i+) num1=rand()%52; num2=rand()%52; index=pain
9、um1; painum1=painum2; painum2=index; fapai(); /*发牌函数*/ panduan(); /*判断函数*/ dujin(2); /*保存赌金*/ ky=bioskey(0); switch(ky) case Key_Esc: p=0;break; default: p=1;break; closegraph(); /*调用开始动画*/ void kaishi() int graphdriver,graphmode; graphdriver=DETECT; initgraph(&graphdriver,&graphmode,); cleardevice(
10、); setbkcolor(9); setviewport(10,10,630,470,2); /*开图视口*/ setfillstyle(1,2); setcolor(YELLOW); floodfill(80,80,15); ellipse(20,20,45,45,20,10); settextstyle(2,0,9); setfillstyle(3,7); floodfill(20,20,8); setfillstyle(1,10); floodfill(21,300,1); setcolor(6); ellipse(300,80,0,360,120,70); settextstyle(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十一点 游戏 设计 报告 16
限制150内