📄 game.cpp
字号:
#include "stdlib.h"
#include "HiLow.h"
#include "iostream.h"
void Help()
{
cout<<"\n游戏规则:\n① 积分规则:\n·猜中1次,积1分;猜错1次,不积分。\n·1局中连续猜中3次,除正常积分外奖励1分;连续猜错3次,罚1分。\n·1局全部猜中,除正常积分外奖励3分;1局全部猜错,罚3分。\n·玩家的最低积分为0,即不出现负分。\n ② 牌面大小比较规则:\n每张扑克牌的牌面由花色(梅花Club、方块Diamond、红心Heart和黑桃Spade)和牌点(A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K)组成。\n确定两张扑克牌牌面大小的规则有两条:\n·如果两张牌面的牌点不同,则牌面大小仅与牌点有关,而与牌面的花色无关。牌点的大小顺序为:2 < 3 < 4 < 5 < 6 < 7 < 8 < 9 < 10 < J < Q < K < A。\n·如果两张牌面的牌点相同,则牌面大小仅与牌面的花色有关。花色的大小顺序\n为:Club < Diamond < Heart < Spade。\n";
}
void Guessing(HiLow &game)
{
char Input;
bool Result;
if(game.IsGameOver())
{
cout<<"玩家手中已无活牌,请选择重新发牌!\n";
return;
}
if(game.IsSetOver())
{
cout<<"未使用的扑克牌小于10张,是否继续进行下一盘游戏?(Y--Yes\tN---No)";
cin>>Input;
if(Input=='N'||Input=='n')
exit(0);
else
cout<<"请选择重新洗牌\n";
return;
}
cout<<"庄家牌比你手中持有的那张大?(Y-Yes\tN-No)";
cin>>Input;
if(Input=='Y'||Input=='y')
if(!(Result=game.Compare()))
{
game.ResultShow(Result);
game.Accumulate(true);
cout<<"\n恭喜你^0^\n";
}
else
{
game.ResultShow(Result);
game.Accumulate(false);
cout<<"\n很遗憾:-(\n";
}
else //'N','n'
if(Input=='N'||Input=='n')
if(Result=game.Compare())
{
game.ResultShow(Result);
game.Accumulate(true);
cout<<"\n恭喜你^0^\n";
}
else
{
game.ResultShow(Result);
game.Accumulate(false);
cout<<"\n很遗憾:-(\n";
}
}
void main()
{
HiLow game;
char Input;
cout<<"******************************** Hi_Low Game ***********************************"<<endl;
cout<<" S----洗牌 D----发牌 G----猜点 H----显示积分 "<<endl;
cout<<" O----帮助 E----退出 C----清屏 "<<endl;
cout<<"********************************************************************************"<<endl;
while(1)
{
cin>>Input;
switch (Input)
{
case 'S':
case 's':game.Shuffle();break;
case 'D':
case 'd':game.Deal();game.PlaycardShow();break;
case 'H':
case 'h':game.ScoreShow();break;
case 'G':
case 'g':Guessing(game);break;
case 'o':
case 'O':Help();break;
case 'c':
case 'C':system("cls");
cout<<"******************************** Hi_Low Game ***********************************"<<endl;
cout<<" S----洗牌 D----发牌 G----猜点 H----显示积分 "<<endl;
cout<<" O----帮助 E----退出 C----清屏 "<<endl;
cout<<"********************************************************************************"<<endl;
break;
case 'E':
case 'e':exit(0);break;
default:
break;
}//switch
}//while
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -