user-0 提问: 给刚学完C的出个题目,娱乐娱乐

回复:
user: user-1
content: 我是新手，看不出来到底是要完成什么功能

user: user-2
content: 小弟不才，刚开始自学c,看不出个所以然来！

user: user-3
content: 楼主有点奸诈

user: user-4
content: 引用 10 楼 u014556710 的回复:[quote=引用 8 楼 u010211892 的回复:] [quote=引用 楼主 u013573183 的回复:]  int main() {   Hero player;   player.Name = "爱丽丝";   player.Level = 1;    Enemy slime;   slime.Name = "史莱姆";   slime.Exp = 100;      while(player.Level < 5)   {     Fight(player, slime);   }    return 0; }   补全剩余代码  接分，如下，由于不是指针不能改level导致死循环 题目嘛，说是为了照顾c，结果Enemy申明还放在后面，c不能这样，用.而不是->这可怎么改，我没办法了  #include <stdio.h> typedef struct{ char *Name; int Level; int Exp; } Hero; typedef Hero Enemy ;  void Fight(Hero a,Enemy b) { a.Level++; }  int main() {   Hero player;   Enemy slime;   player.Name = ""爱丽丝"";   player.Level = 1;       slime.Name = "史莱姆"";   slime.Exp = 100;       while(player.Level < 5)   {     Fight(player, slime);   }     return 0; }[/quote]   你的typedef Hero Enemy 是怎么回事 Hero 和 Enemy 是两个不同的结构体[/quote] 原因很简单：我懒

user: user-5
content: 引用 8 楼 u010211892 的回复:[quote=引用 楼主 u013573183 的回复:]  int main() {   Hero player;   player.Name = "爱丽丝";   player.Level = 1;    Enemy slime;   slime.Name = "史莱姆";   slime.Exp = 100;      while(player.Level < 5)   {     Fight(player, slime);   }    return 0; }   补全剩余代码  接分，如下，由于不是指针不能改level导致死循环 题目嘛，说是为了照顾c，结果Enemy申明还放在后面，c不能这样，用.而不是->这可怎么改，我没办法了  #include <stdio.h> typedef struct{ char *Name; int Level; int Exp; } Hero; typedef Hero Enemy ;  void Fight(Hero a,Enemy b) { a.Level++; }  int main() {   Hero player;   Enemy slime;   player.Name = ""爱丽丝"";   player.Level = 1;       slime.Name = "史莱姆"";   slime.Exp = 100;       while(player.Level < 5)   {     Fight(player, slime);   }     return 0; }[/quote]   你的typedef Hero Enemy 是怎么回事 Hero 和 Enemy 是两个不同的结构体

user: user-4
content: 引用 楼主 u013573183 的回复: int main() {   Hero player;   player.Name = "爱丽丝";   player.Level = 1;    Enemy slime;   slime.Name = "史莱姆";   slime.Exp = 100;      while(player.Level < 5)   {     Fight(player, slime);   }    return 0; }   补全剩余代码  接分，如下，由于不是指针不能改level导致死循环 题目嘛，说是为了照顾c，结果Enemy申明还放在后面，c不能这样，用.而不是->这可怎么改，我没办法了  #include <stdio.h> typedef struct{ char *Name; int Level; int Exp; } Hero; typedef Hero Enemy ;  void Fight(Hero a,Enemy b) { a.Level++; }  int main() {   Hero player;   Enemy slime;   player.Name = ""爱丽丝"";   player.Level = 1;       slime.Name = "史莱姆"";   slime.Exp = 100;       while(player.Level < 5)   {     Fight(player, slime);   }     return 0; }

user: user-6
content: 捉迷藏的游戏。。。

user: user-0
content: 实现的话以最舒服的方式实现就可以了  之所以写成结构,是为了照顾只学了C的  高手可以任意实现   另外,不要被表面现象骗了,我这是个引导,并非显示了全部内容,可自行发挥  比如 while(player.Level < 5)   {     Fight(player, slime);   }  暗示着,1次或多次Fight 之后 player.Level 是会增加的.

user: user-0
content: 开发模式是自顶向下, 半测试驱动开发  给新人引导一下软件开发的思路.

user: user-0
content: 我打算逐步弄成RPG游戏  这是一个最基本的简单实现,之后慢慢增加功能,可不要往名字大战上写..

user: user-7
content: 感觉是c++的入门知识呢！

user: user-8
content: #include <string> class Hero { public: Hero(const char* pName,int level):m_name(pName),m_level(level) {}  std::string m_name; int m_level; }; class Enemy { public:Enemy(const char* pName, int exp):m_name(pName),m_exp(exp){}  std::string m_name; int m_exp; }; void Fight(const Hero& a, const Enemy& b) {     printf("%s with level %d fight %s with exp %d\n",a.m_name.c_str(),a.m_level,b.m_name.c_str(),b.m_exp); } 引用 楼主 u013573183 的回复: int main() {   Hero player;   player.Name = "爱丽丝";   player.Level = 1;    Enemy slime;   slime.Name = "史莱姆";   slime.Exp = 100;      while(player.Level < 5)   {     Fight(player, slime);   }    return 0; }   补全剩余代码

user: user-9
content: 以前玩过一款小游戏，叫做名字大作战，好像跟这个有点相似