| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1962 人关注过本帖
标题:[讨论]一个小程序21点
取消只看楼主 加入收藏
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 

但是我发现我没看的 书和工作中具体的怎么做好像 有很大的区别啊
我发现我学的都只是语法上的东西例如老谭的书,但工作中好像全是什么数据库连接啊什么的真是一头雾水啊

[此贴子已经被作者于2006-7-29 16:18:07编辑过]


2006-07-28 13:17
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
得分:0 

#include <iostream>
#include <stdlib.h>
#include <ctime>
using namespace std;
//金钱类
class money
{public:
money(){M=50;}
int shift(int a,int b);
private:
int M;
};
//21点类
class point21
{public:
void Sru();
void Cli();
int display();
private:
int a;
int b;
money c;
};
//21点程序
void point21::Sru()
{int i=1,j=0; char c;
b=0;a=0;
srand(time(0));
while(j==0)
{if(b<13)
{if(rand()%6<4)
b+=(rand()%9+1);}
else if(b>=13&&b<=21)
{if(rand()%6<2)
b+=(rand()%9+1);}
if(b>18)j=1;
}
while(i==1)
{
cout<<"要牌请按Y/y,亮牌请按T/t: "<<endl;
cin>>c;
if(c=='y'||c=='Y')
{a+=(rand()%9+1);cout<<"您的牌点是:"<<a<<endl;}
if(c=='T'||c=='t')
i=0;}
}
void point21::Cli()
{cout<<"您的牌点是:"<<a<<" "<<"电脑的牌点是:"<<b<<endl;
a=21-a;
b=21-b;
}
int point21::display()
{int x;
if(a>=0&&b>=0)
{if(a<b)
{
cout<<"您胜利赢了10枚金币"<<endl;
cout<<"您还有 "<<c.shift(10,x=1)<<" 枚金币"<<endl;}
else if(a>b)
{
cout<<"您输了10枚金币"<<endl;
cout<<"您还有 "<<c.shift(10,x=0)<<" 枚金币"<<endl;}
else {
cout<<"平局"<<endl;
cout<<"您还有 "<<c.shift(0,x=-1)<<" 枚金币"<<endl;}
}
else if(a<0&&b>=0)
{cout<<"您爆牌了,输了20枚金币"<<endl;
cout<<"您还有 "<<c.shift(20,x=0)<<" 枚金币"<<endl;}
else if(a>=0&&b<0)
{cout<<"电脑爆牌了您赢了20枚金币"<<endl;
cout<<"您还有 "<<c.shift(20,x=1)<<" 枚金币"<<endl;}
else
{
cout<<"平局"<<endl;
cout<<"您还有 "<<c.shift(0,x=-1)<<" 枚金币"<<endl;}

}
//欢迎界面
void welcome()
{
cout<<" #########################"<<endl;
cout<<" # #"<<endl;
cout<<" # 21点 #"<<endl;
cout<<" # 欢迎您 #"<<endl;
cout<<" # #"<<endl;
cout<<" #########################"<<endl;
cout<<"游戏规则:"<<endl;
cout<<"在游戏中,每个玩家都争取拿到最接近21点的牌,<可以多次要牌,然后点数累加>;但是不能超过21点,超过为“爆牌”即失败,只有最接近21点的人才有可能得到胜利。"<<endl;
cout<<"游戏开始:";
}
int money::shift(int a,int b)
{if(b==1)
M+=a;
else if(b==0)
M-=a;
return M;
}
int main()
{point21 D;char i;
welcome();
do
{
D.Sru();
D.Cli();
D.display();
if(D.display()==0)break;
cout<<"您要在来一局吗? 按1键继续,退出请按q。"<<endl;
cin>>i;
}
while(int(i)!='q');
cout<<"欢迎再来"<<endl;
return 0;
}


2006-09-29 19:03
快速回复:[讨论]一个小程序21点
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030968 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved