欢迎来到天天文库
浏览记录
ID:19330509
大小:306.04 KB
页数:15页
时间:2018-10-01
《课程设计-掷骰子游戏设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、C++课程设计华东交通大学基础学院C++课程设计报告题目:掷骰子游戏的分析与设计姓名:张春梅学号:20080810010101班级:08信息与计算科学(1)班学年学期:2009~2010学年第一学期日期:2009年12月21日14C++课程设计目录一掷骰子游戏设计需求分析21、掷骰子游戏需求22、游戏实现方式3二类关系图和类主要成员函数和成员变量4三模块的设计分析51、游戏类(classPlayer)的说明52、游戏类(classPlayer)的流程图83、程序运行结果:11四存在的问题与不足及总结13五掷骰子游戏使用说明书(操作手册)1414C++课程设计一掷骰子游戏设计需求分析1、
2、掷骰子游戏需求:1)假如有n个学生排成一圈,编号从1到n,每个人有初始积分,不防设为100。2)从1号开始掷骰子,骰子出现后,根据点数减去掷骰人的相应积分,如减去10*(6-点数),然后根据点数多少,就依次向后数掷骰的点数同等数量的人,被数到的最后一个人继续掷骰子,计算积分,依此类推。3)如果某人掷骰后,其积分小于等于0则出列,余下的人继续按照此法进行游戏,直到剩下最后一个人,为胜利者。4)要求打印每次出列的人的编号,掷骰子的次数,当前积分。并打印最后胜利者的相应信息。5)要求用环链表以及类来实现这个程序。6)选做:问掷骰m次后,还剩下几个人积分多少,显示出来。14C++课程设计2、游
3、戏实现方式:为了实现游戏的上述功能,在整个程序的设计中构造了一个游戏类(classplayer)。下面是游戏类(classplayer)的成员函数实现的功能:1)成员函数Player(char*pName,intid)用于储存参赛者的姓名和他们的编号;2)成员函数Player::Integral(intnumber)用于计算参赛者的当前积分和掷骰子的次数。3)成员函数Player::Initial()用于创建参赛者的链表。4)成员函数Player::Game()用于判断是否要有参赛者出列并记录当前参赛者的信息和掷骰子的次数、点数。5)成员函数Display()用于打印本次游戏打印每次出
4、列的人的编号,掷骰子的次数和最后胜利者的相应信息。14C++课程设计二类关系图和类主要成员函数和成员变量Player类code;countscorename[20]numOfPlayerPlayer*head;Player*next;Player()Integral()Display()~Player()Initial()Game()code//每位参赛者的编号count//每位参赛者掷骰子的次数score//参赛者的积分name[20]//参赛者的姓名numOfPlayer//参加游戏总人数14C++课程设计三模块的设计分析1.游戏类(classPlayer)的说明1).构造函数Pl
5、ayer(char*pName,intid)用于储存参赛者的姓名和他们的编号;Player::Player(char*pName,intid){code=id;score=100;count=0;strcpy(name,pName);}先是从程序中输入参赛者人数,通过DOS屏幕的提示依次输入参赛者的姓名,系统会自动给参赛者编号,而这些信息由构造函数Player储存。2).Player::Integral(intnumber)用于计算参赛者的当前积分和掷骰子的次数。Player::~Player(){Player*t;Player*p=head;for(inti=1;i<=numOfPl
6、ayer;i++){t=p;if(i!=numOfPlayer){p=p->next;}deletet;}}intPlayer::Integral(intnumber){count=count+1;score-=(6-number)*10;if(score<=0)return0;elsereturn1;}通过构造函数Integral()来计算参赛者的当前积分和掷骰子的次数。另外该函数被后面的Game()函数调用,用于判断是否有参赛者出列。3).析构函数Player::~Player()。因为分配了堆内存,所以当程序结束时要把空间给释放。14C++课程设计4).Player::Initi
7、al()用于创建参赛者的链表。Player*ps;//创建的结点指针Player*pend;//链尾指针,用于在其后面插入结点Player::Initial(){intid;intm;Player*ps;Player*pend;while(1){cout<<"下面请输入参赛者人数:";cin>>m;numOfPlayer=m;for(id=1;id<=m;id++){cout<<"请输入"<
此文档下载收益归作者所有