掷骰子游戏程序设计

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:31:23
掷骰子游戏设计
1. 假如有n个学生排成一圈,编号从1到n,每个人有初始积分,设为100。
2. 从1号开始掷骰子,骰子出现后,根据点数减去掷骰人的相应积分, 如 减去 10*(6-点数),然后根据点数多少,就依次向后数掷骰的点数同等数量的人,被数到的最后一个人继续掷骰子,计算积分,依此类推。
3. 如果某人掷骰后,其积分小于等于0则出列,余下的人继续按照此法进行游戏,直到剩下最后一个人,为胜利者。
4. 要求返回每次出列的人的编号,掷骰子的次数,当前积分。
并返回最后胜利者的相应信息。
5. 要求用环链表以及类来实现这个程序。

在VC++ 6.0 和Dev-C++都通过;
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
const int m_ding=10;
int n=0, d, r=10, z[m_ding], s=0;
srand(time(0));
for(int j=0;j<m_ding;++j)
{
z[j]=100;
}
while(r>1)
{
++n;
for(int i=0;i<m_ding;++i)
{
if(r==1)
break;
if(z[i]==1)
{
continue;
}
d=(rand()%6)+1;
z[i]=z[i]-(10*(6-d));
if(z[i]<=0)
{
cout<<i<<"号出局"<<"最后积分为"<<z[i]<<"一共玩 了"<<n<<"把."<<"\n\n";
z[i]=1;
-- r;
if(r==1)
{
for(int di=0;di<m_ding;++di)
{
if(z[di]!=1)
cout<<"胜利为"<<di<<"号"<<"最后得分为"