一个C++小游戏

binxue365 2009-12-07 01:43:11
#include<iostream>
#include<time.h>
#include<fstream>
#include<windows.h>

using namespace std;

int main()
{
ofstream out;
//打开文件追加
out.open("D:\mylog.zmlog",ios::in|ios::out|ios::app);
//打开文件前每次清空原有内容
// out.open("D:\mylog.zmlog",ios::in|ios::trunc|ios::out);
if (!out)
{
cout<<"不能打开文件!"<<endl;
return 1;
}


srand((unsigned)time (NULL));
int m_cishu;
int count=1;
int a_win = 0;
int b_win = 0;
int ping = 0;

cout<<"这是一个非常简单的决斗小游戏"<<endl;
out<<"这是一个非常简单的决斗小游戏"<<endl;
cout<<"日志文件保存在D:\mylog.zmlog"<<endl;

cout<<endl;

time_t timep;
char *ch;
timep=time(NULL);
ch=ctime(&timep);
cout<<"---------------------------------------------------"<<endl;
out<<"---------------------------------------------------"<<endl;
cout<<"当前时间:"<<ch;
out<<"当前时间:"<<ch;
cout<<"---------------------------------------------------"<<endl;
out<<"---------------------------------------------------"<<endl;

while (1)
{
cout<<"请输入决斗次数"<<endl;

while(!(cin>>m_cishu))
{
cin.clear();
cin.ignore();
cout<<"输入有误,请重新输入!"<<endl;
out<<"输入有误,请重新输入!"<<endl;
cout<<"请输入决斗次数"<<endl;
}
...全文
1310 34 打赏 收藏 转发到动态 举报
写回复
用AI写文章
34 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jerry-hu 2010-01-28
  • 打赏
  • 举报
回复
不错,过不了多久我也会做出来的。呵呵
readfuture 2010-01-27
  • 打赏
  • 举报
回复
[Quote=引用 X 楼 owen_008 的回复:]
给楼主顶一个
[/Quote]
+1
xiaofan8888 2010-01-20
  • 打赏
  • 举报
回复
good
三楼 2010-01-19
  • 打赏
  • 举报
回复
呵呵。。。大学时候有写过
lmecho 2010-01-15
  • 打赏
  • 举报
回复
飘过
funaiflly 2009-12-26
  • 打赏
  • 举报
回复
有意思
lyh7736362 2009-12-22
  • 打赏
  • 举报
回复
不错不错
binxue365 2009-12-22
  • 打赏
  • 举报
回复
char a[num];
cin>>a;

int m=0;
for (int i=0;i<strlen(a);i++)
{
switch(a[i])
{
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':
//cout<<"1";
break;
default:
//cout<<"2";
m++;
}
}

while(m!=0)
{
cout<<"你输入的有"<<m<<"处错误,请重新输入!"<<endl;
cin>>a;

m=0;
for (int i=0;i<strlen(a);i++)
{
switch(a[i])
{
case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':
//cout<<"1";
break;
default:
//cout<<"2";
m++;
}
}
}
int m_cishu = 0;
for (int k=0;k<strlen(a);k++)
{
m_cishu =10*m_cishu+(a[k]-48);
//m_cishu *= 10 ^ k;
//cout<<a[k]<<endl;
}
cout<<m_cishu<<endl;
binxue365 2009-12-22
  • 打赏
  • 举报
回复
#include <iomanip>
cout<<"--------------------------"<<endl;
cout<<"分类 剩余血量 受到攻击"<<endl;
cout<<"联盟 "<<setw(5)<<a_hp<<" "<<setw(5)<<b_hurt<<endl;
cout<<"部落 "<<setw(5)<<b_hp<<" "<<setw(5)<<a_hurt<<endl;
cout<<"--------------------------"<<endl;

out<<"--------------------------"<<endl;
out<<"分类 剩余血量 受到攻击"<<endl;
out<<"联盟 "<<setw(5)<<a_hp<<" "<<setw(5)<<b_hurt<<endl;
out<<"部落 "<<setw(5)<<b_hp<<" "<<setw(5)<<a_hurt<<endl;
out<<"--------------------------"<<endl;

cout<<"--------------------"<<endl;
cout<<"结果 次数 胜率%"<<endl;
cout<<"联盟获胜"<<setw(10)<<a_win<<" "<<setw(5)<<setprecision(4)<<a_wingailv<<endl;
cout<<"部落获胜"<<setw(10)<<b_win<<" "<<setw(5)<<setprecision(4)<<b_wingailv<<endl;
cout<<"平 "<<setw(10)<<ping<<" "<<setw(5)<<setprecision(4)<<pinggailv<<endl;
cout<<"--------------------"<<endl;
cout<<endl;




binxue365 2009-12-22
  • 打赏
  • 举报
回复
<<
十一文 2009-12-14
  • 打赏
  • 举报
回复
up
binxue365 2009-12-14
  • 打赏
  • 举报
回复
binxue388 2009-12-14
  • 打赏
  • 举报
回复
else if(b_wingailv == 100)
{
out<<"部落完胜,不给联盟任何机会,让我们为他欢呼!";
}
else if(b_wingailv ==0)
{
out<<"啊,不会吧,部落如此之弱,去死吧,别玩了!";
}
else
{
out<<"部落啊,部落,binxue388如此看好你,哎,罚你面壁思过NNNNN秒!";
}

if (ping >= 50.0 && ping <80.0)
{
out<<"为了和平,欢呼吧!"<<endl;
}
else if(ping >= 80.0 && ping <100.0)
{
out<<"为了和平,再次欢呼吧!"<<endl;
}
else if(ping == 100)
{
out<<"事实证明,联盟部落实力相当,共同抵抗燃烧军团去吧!"<<endl;
}
else if(ping ==0)
{
out<<"联盟部落水火不容,风火不侵!"<<endl;
}
else
{
out<<"世界要和平,人民要太平!";
}
out<<endl;
out<<endl;
}
}
}
out.close();
system("PAUSE");
return 0;
}
binxue365 2009-12-14
  • 打赏
  • 举报
回复
else
{
out<<"建议你给机器上上油 =。=!"<<endl;
}

if (a_wingailv >= 50.0 && a_wingailv <80.0)
{
out<<"联盟好样的,果然不负作者所望!";
}
else if(a_wingailv >= 80.0 && a_wingailv <100.0)
{
out<<"联盟果然不是盖的,再接再励,消灭燃烧军团的任务就交给你们了!";
}
else if(a_wingailv == 100)
{
out<<"联盟完胜,不给部落任何机会,让我们为他欢呼!";
}
else if(a_wingailv ==0)
{
out<<"哇靠,不会吧,联盟如此之弱,去死吧,别玩了!";
}
else
{
out<<"联盟啊,联盟,binxue388如此看好你,哎,罚你面壁思过NNNNN秒!";
}

if (b_wingailv >= 50.0 && b_wingailv <80.0)
{
out<<"部落好样的,果然不负作者所望!";
}
else if(b_wingailv >= 80.0 && b_wingailv <100.0)
{
out<<"部落果然不是盖的,再接再励,消灭燃烧军团的任务就交给你们了!";
}
binxue365 2009-12-14
  • 打赏
  • 举报
回复
else
{
cout<<"世界要和平,人民要太平!";
}
cout<<endl;
cout<<endl;

out<<endl;
out<<endl;
out<<"总共决斗次数 :"<<count-1<<endl;
out<<"总计运行时间(单位:ms):"<<(double)( EndTime.QuadPart - BegainTime.QuadPart )*1000 /

Frequency.QuadPart<<endl;
out<<"--------------------"<<endl;
out<<"结果 次数 胜率%"<<endl;
out<<"联盟获胜 "<<a_win<<" "<<a_wingailv<<endl;
out<<"部落获胜 "<<b_win<<" "<<b_wingailv<<endl;
out<<"平 "<<ping<<" "<<pinggailv<<endl;
out<<"--------------------"<<endl;
out<<"binxue388点评:"<<endl;
if (yunxingjieguo > 0 && yunxingjieguo <= 40.0)
{
out<<"哇靠,难道你就是传说中的黄金计算机!"<<endl;
}
else if (yunxingjieguo > 40.0 && yunxingjieguo <= 60.0)
{
out<<"不错,不错,你的机器性能很好!"<<endl;
}
else if (yunxingjieguo >60.0 && yunxingjieguo <= 80.0)
{
out<<"还好,还好,你的机器不是586!"<<endl;

}
else if (yunxingjieguo >80.0 && yunxingjieguo <= 100.0)
{
out<<"天哪,你开了多少应用程序啊!"<<endl;
}
binxue365 2009-12-14
  • 打赏
  • 举报
回复

if (b_wingailv >= 50.0 && b_wingailv <80.0)
{
cout<<"部落好样的,果然不负作者所望!";
}
else if(b_wingailv >= 80.0 && b_wingailv <100.0)
{
cout<<"部落果然不是盖的,再接再励,消灭燃烧军团的任务就交给你们了!";
}
else if(b_wingailv == 100)
{
cout<<"部落完胜,不给部落任何机会,让我们为他欢呼!";
}
else if(b_wingailv ==0)
{
cout<<"啊,不会吧,部落如此之弱,去死吧,别玩了!";
}
else
{
cout<<"部落啊,部落,binxue388如此看好你,哎,罚你面壁思过NNNNN秒!";
}

if (ping >= 50.0 && ping <80.0)
{
cout<<"为了和平,欢呼吧!"<<endl;
}
else if(ping >= 80.0 && ping <100.0)
{
cout<<"为了和平,再次欢呼吧!"<<endl;
}
else if(ping == 100)
{
cout<<"事实证明,联盟部落实力相当,共同抵抗燃烧军团去吧!"<<endl;
}
else if(ping ==0)
{
cout<<"联盟部落水火不容,风火不侵!"<<endl;
}
binxue388 2009-12-14
  • 打赏
  • 举报
回复
else if (yunxingjieguo > 40.0 && yunxingjieguo <= 60.0)
{
cout<<"不错,不错,你的机器性能很好!"<<endl;
}
else if (yunxingjieguo >60.0 && yunxingjieguo <= 80.0)
{
cout<<"还好,还好,你的机器不是586!"<<endl;

}
else if (yunxingjieguo >80.0 && yunxingjieguo <= 100.0)
{
cout<<"天哪,你开了多少应用程序啊!"<<endl;
}
else
{
cout<<"建议你给机器上上油 =。=!"<<endl;
}
if (a_wingailv >= 50.0 && a_wingailv <80.0)
{
cout<<"联盟好样的,果然不负作者所望!";
}
else if(a_wingailv >= 80.0 && a_wingailv <100.0)
{
cout<<"联盟果然不是盖的,再接再励,消灭燃烧军团的任务就交给你们了!";
}
else if(a_wingailv == 100)
{
cout<<"联盟完胜,不给部落任何机会,让我们为他欢呼!";
}
else if(a_wingailv ==0)
{
cout<<"哇靠,不会吧,联盟如此之弱,去死吧,别玩了!";
}
else
{
cout<<"联盟啊,联盟,binxue388如此看好你,哎,罚你面壁思过NNNNN秒!";
}
binxue388 2009-12-14
  • 打赏
  • 举报
回复

if (a_hp == 0 && b_hp == 0)
{
cout<<"平!"<<endl;
out<<"平!"<<endl;
ping++;
}
if (a_hp == 0 && b_hp != 0)
{
cout<<"部落获胜"<<endl;
out<<"部落获胜"<<endl;
b_win++;
}
if (b_hp == 0 && a_hp != 0)
{
cout<<"联盟获胜"<<endl;
out<<"联盟获胜"<<endl;
a_win++;
}
}

m_cishu--;
count++;

if(m_cishu == 0)
{
QueryPerformanceCounter(&EndTime);

float a_wingailv=(float)100*a_win/(count-1);
float b_wingailv=(float)100*b_win/(count-1);
float pinggailv=(float)100*ping/(count-1);
double yunxingshijian = (double)( EndTime.QuadPart - BegainTime.QuadPart )*1000 /

Frequency.QuadPart;
double yunxingjieguo = yunxingshijian / (count - 1);

cout<<endl;
cout<<endl;
cout<<"总共决斗次数 :"<<count-1<<endl;
cout<<"总计运行时间(单位:ms):"<<yunxingshijian<<endl;
cout<<"--------------------"<<endl;
cout<<"结果 次数 胜率%"<<endl;
cout<<"联盟获胜 "<<a_win<<" "<<a_wingailv<<endl;
cout<<"部落获胜 "<<b_win<<" "<<b_wingailv<<endl;
cout<<"平 "<<ping<<" "<<pinggailv<<endl;
cout<<"--------------------"<<endl;
cout<<endl;
cout<<"binxue388点评:"<<endl;
if (yunxingjieguo > 0 && yunxingjieguo <= 40.0)
{
cout<<"哇靠,难道你就是传说中的黄金计算机!"<<endl;
}
binxue388 2009-12-14
  • 打赏
  • 举报
回复
while (m_cishu != 0)
{
cout<<endl;
cout<<"这是第"<<count<<"次决斗,还有"<<m_cishu-1<<"次决斗"<<endl;
cout<<endl;
cout<<"--------------------------"<<endl;
cout<<"分类 剩余血量 受到攻击"<<endl;
cout<<"联盟 10000 0"<<endl;
cout<<"部落 10000 0"<<endl;
cout<<"--------------------------"<<endl;

out<<endl;
out<<"这是第"<<count<<"次决斗,还有"<<m_cishu-1<<"次决斗"<<endl;
out<<endl;
out<<"--------------------------"<<endl;
out<<"分类 剩余血量 受到攻击"<<endl;
out<<"联盟 10000 0"<<endl;
out<<"部落 10000 0"<<endl;
out<<"--------------------------"<<endl;

int a_hp = 10000;//初始化A的血量
int b_hp = 10000;//初始化B的血量
int a_hurt = 0; //初始化A的伤害
int b_hurt = 0; //初始化B的伤害

while(a_hp > 0 && b_hp> 0)
{
a_hurt = rand()%2000;
b_hurt = rand()%2000;
//cout<<a_hurt<<" "<<b_hurt<<endl;
a_hp -= b_hurt;
b_hp -= a_hurt;

if (a_hp < 0)
a_hp=0;
if (b_hp < 0)
b_hp=0;

cout<<"--------------------------"<<endl;
cout<<"分类 剩余血量 受到攻击"<<endl;
cout<<"联盟 "<<a_hp<<" "<<b_hurt<<endl;
cout<<"部落 "<<b_hp<<" "<<a_hurt<<endl;
cout<<"--------------------------"<<endl;

out<<"--------------------------"<<endl;
out<<"分类 剩余血量 受到攻击"<<endl;
out<<"联盟 "<<a_hp<<" "<<b_hurt<<endl;
out<<"部落 "<<b_hp<<" "<<a_hurt<<endl;
out<<"--------------------------"<<endl;
binxue365 2009-12-14
  • 打赏
  • 举报
回复
srand((unsigned)time (NULL));

time_t timep;
char *ch;
timep=time(NULL);
ch=ctime(&timep);
cout<<endl;
cout<<"---------------------------------------------------"<<endl;
out<<"---------------------------------------------------"<<endl;
cout<<"当前时间:"<<ch;
out<<"当前时间:"<<ch;
cout<<"---------------------------------------------------"<<endl;
out<<"---------------------------------------------------"<<endl;
out<<"自从联盟和部落并肩作战共同抵抗燃烧军团的入侵,已经过去了十年,尽管成功的挽救了艾泽拉斯大陆,联盟和部落之间错弱

的协议早已荡然无存。"<<endl;
out<<"而如今,震天的战鼓再一次响起!"<<endl;
out<<" 作者:binxue388"<<endl;

while (1)
{
cout<<"新一轮的进攻开始了,请输入决斗次数:"<<endl;
while (!(cin>>m_cishu))
{
cin.clear();
cin.ignore();
cout<<"输入有误,请重新输入!"<<endl;
out<<"输入有误,请重新输入!"<<endl;
cout<<"请输入决斗次数:"<<endl;
}
out<<"新一轮的进攻开始了!"<<endl;

int count = 1; //初始化count
int a_win = 0; //初始化A赢的次数
int b_win = 0; //初始化B赢的次数
int ping = 0; //初始化平的次数

LARGE_INTEGER BegainTime;
LARGE_INTEGER EndTime;
LARGE_INTEGER Frequency;
QueryPerformanceFrequency(&Frequency);
QueryPerformanceCounter(&BegainTime);
加载更多回复(14)

594

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧