无尽的打怪运动源码
好吧,记住尊重知识产权就行了。源码~
#include <iostream> //混合io流
#include <windows.h> //睡觉函数用的
//--------------------------------int
int player_hp;//玩家的绳命值
int player_maxhp;//同上,最大绳命
int player_mp;//魔力值
int player_maxmp;//最大魔力
int player_atk;//攻击力
int player_def;//防御力
int enemy_hp;//敌方的绳命值
int enemy_maxhp;//最大绳命
int enemy_atk;//攻击力
int enemy_def;//防御力
int command;//指令
int skill_command;//特技
int turn_count;//回合数
int guard_flag;//防御中
//-----------------------------double
double damage;//伤害值
//-----------------------------bool
bool battle;//战斗中?
//-----------------------------namespace
using namespace std;//命名空间 std
//-----------------------------others
//------------------------------------attacks
void cost_player_hp(){
cout << "玩家受到了"<<damage<<"点伤害!\n";
player_hp -= damage;//扣减玩家绳命
}
void cost_enemy_hp(){
cout << "敌人受到了"<<damage<<"点伤害!\n";
enemy_hp -= damage;//扣减敌方绳命
}
void emeny_attack(){
cout <<"敌人的攻击!\n";
damage = enemy_atk * 4 - player_def * 2;//伤害求出
if (damage <= 0){//若伤害小于等于0的判定
cout << "玩家毫发无损!\n";
}else{
cost_player_hp();
}
}
void player_attack(){
cout <<"玩家的攻击!\n";
damage = player_atk * 4 - enemy_def * 2;//伤害求出
if (damage <= 0){//小于等于0判定
cout << "敌人毫发无损!\n";
}else{
cost_enemy_hp();
}
}
void core_impact(){
if (player_mp >= 5){//你有MP么?
cout <<"玩家释放了核心冲击!\n";
player_mp -= 5;//扣减MP。
damage = player_atk * 5 - enemy_def * 2;//不同的伤害求出
if (damage <= 0){
cout << "敌人毫发无损!\n";
}else{
cost_enemy_hp();
}
}
else{
cout << "MP不足!\n";
}
}
//-------------------------------------cleardamage
void clear_damage(){//行动一次调用一次
damage = 0;//清空伤害值
guard_flag = 0;//清空防御标志
}
//------------------------------------command
void player_command(){
cout << "指令?\n" << "1:攻击, 2:特技, 之外:待机\n";
cin >> command;
}
void skill(){
cout << "特技?\n" << "1:核心冲击 消耗MP:5\n"<<"之外:取消\n";
cin >> skill_command;
}
//----------------------------activer
void status(){
cout << "HP:\t" << player_hp << "/" << player_maxhp <<
" MP:\t" << player_mp << "/" << player_maxmp << " "<<player_atk << "/"<< player_def <<"\n"
//------------------------------------------
"HP:\t"<< enemy_hp <<" " <<enemy_atk << "/"<< enemy_def << "\n";
}
//---------------------------battle
void result(){
if (enemy_hp <= 0){
cout << "全歼敌方!\n";
}else if (player_hp <= 0){
cout << "骚年,你挂了。\n";
}
}
void turn(){
while (battle = true){
cout << "--状态-----------------------------------\n";
cout << "回合数:"<<turn_count<<"\n";
status();//状态画面.
cout << "--指令-----------------------------------\n";
player_command();//玩家指令
switch (command){//指令的分歧点
case 1://攻击时?
player_attack();
break;
case 2:
cout << "--特技-----------------------------------\n";
skill();//特技的实行
switch (skill_command){//特技的分歧点
case 1:
core_impact();
break;
case 255:
cout << "取消!\n";//返回函数
break;
}
break;
default:
cout << "玩家在等待时机!\n";
break;
};
command = 0;
clear_damage();
if (enemy_hp <= 0){//战斗者的分歧点
result();
break;
battle = false;
}
status();
emeny_attack();
clear_damage();
if (player_hp <= 0){
result();
break;
battle = false;
}
status();
++turn_count;//给turn_count+1
}
}
int main(){
cout << "依次输入主角的 HP,MP,攻击力,防御力\n";
cin >> player_maxhp;
player_hp = player_maxhp;
cin >> player_maxmp;
player_mp = player_maxmp;
cin >> player_atk;
cin >> player_def;
cout << "yooooooooooooo~\n" << "敌人来袭!请选关~\n";
battle = true;//战斗的标志
int level;
cin >> level;
switch (level){
case 1:
enemy_hp = 255;
enemy_maxhp = 255;
enemy_atk = 25;
enemy_def = 24;
break;
case 2:
enemy_hp = 555;
enemy_maxhp = 555;
enemy_atk = 40;
enemy_def = 50;
break;
case 3:
enemy_hp = 2000;
enemy_maxhp = 2000;
enemy_atk = 75;
enemy_def = 68;
break;
}
turn();//战斗开始!
cout << "骚年!游戏结束!\n";
cout << "---------------STAFF----------------\n";
cout << "制作人 懒之圣帝\n";
cout << "2012 Lazy Soft";
Sleep(5000);//睡觉
return 0;
} {:nm04:}good game 看了,这是Java?不懂⋯⋯ 忘记说这是C++写的... 收藏之...............
页:
[1]