设为首页 收藏本站
登录 /立即注册 /找回密码

URPGs

快捷导航
  • 门户Portal
  • 论坛BBS
  • 群组Group
  • 导读Guide
  • 家园Space
  • 工具Tools
  • 广播Follow
  • 期刊Periodical
  • 排行榜Ranklist
  • 社区茶坊
  • pixlr图片编辑
  • 资源列表
  • photobucket
  • RMVA Lite [In English]
  • RM RTP
  • TryRUBY
  • RMXP+RMVX下载[VeryCD]
  • RMVA下载[66RPG]
搜索
  • 本版
  • 帖子
  • 用户
URPGs»论坛 › 休闲区 › 茶馆 › 无尽的打怪运动源码
返回列表 发新帖
查看: 2535|回复: 4

[原创] 无尽的打怪运动源码

[复制链接]
懒之圣帝
懒之圣帝 当前离线
积分
217
查看详细资料 窥视卡 雷达卡
发表于 2012-12-16 10:23:16 | 显示全部楼层 |阅读模式
好吧,记住尊重知识产权就行了。
源码~
[code=cpp]#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;
}[/code]
运动, 的

相关帖子

  • • 两个小的变化
  • • 茶馆版图重制~
  • • 这就是我制(dao)作(ban)的中文MC Wiki~精简版
  • • [多图注意]边境之地的冒险=-=
  • • 不科学事件之QQ=-=
  • • 无聊发现的Proc的妙用=w=
  • • 普通用户组的评分调整
  • • [Sign Tutorial]牌子(商店)使用教程...
  • • 是不是应该开一个MC的区=-=?
  • • Office2007造出来的……于是这算素材吗……(众:绝对不算!
回复

使用道具 举报

  • 提升卡
  • 置顶卡
  • 沉默卡
  • 喧嚣卡
  • 变色卡
  • 抢沙发
  • 千斤顶
  • 显身卡
delv25
delv25 当前离线
积分
188
查看详细资料 窥视卡 雷达卡
发表于 2012-12-16 17:32:39 | 显示全部楼层
good game
回复 Like Dislike

使用道具 举报

  • 显身卡
lbq
lbq 当前离线
积分
199
查看详细资料 窥视卡 雷达卡
发表于 2012-12-16 20:40:22 | 显示全部楼层
看了,这是Java?不懂⋯⋯
回复 Like Dislike

使用道具 举报

  • 显身卡
懒之圣帝
懒之圣帝 当前离线
积分
217
查看详细资料 窥视卡 雷达卡
 楼主| 发表于 2012-12-16 22:17:47 来自手机 | 显示全部楼层
忘记说这是C++写的...

点评

lbq
本人不了解,请谅解。。。怪不得没有Main函数。。。。。。  发表于 2012-12-17 00:59
回复 Like Dislike

使用道具 举报

  • 显身卡
逍遥
逍遥 当前离线
积分
85
查看详细资料 窥视卡 雷达卡
发表于 2012-12-17 17:17:17 | 显示全部楼层
收藏之...............
回复 Like Dislike

使用道具 举报

  • 显身卡
返回列表 发新帖
高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|意见反馈[feedback]| URPGs RPG Maker 游戏制作讨论

GMT+8, 2025-7-4 02:26 , Processed in 0.021740 second(s), 7 queries .

Powered by Discuz! X3.5

© 2011-2019 URPGs (Discuz! X3.4 © 2001-2019 Comsenz Inc.)

积分 0, 距离下一级还需 积分
快速回复 返回顶部 返回列表