C#编写角色类游戏中经常遇到的角色设置 看你如何加点了要是升级加固定的点 写个固定的函数就行 反正都一样的把对应角色的ID保存正确了就行++是否要重载完全是个人爱好 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题是什么?难道我语文不够好 就是编个程序实现这个功能那,能我做下吗?? 不是做游戏,现在还没有那么高水平,是老师安排的作业,做不出来,你帮我写下实现这功能的程序吗 using System;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { // 初始化 Hero hero = new Hero("ABC", 2, 50, 100); Console.WriteLine(hero.DisplayCurrentStatus()); // 升级 hero++; Console.WriteLine(hero.DisplayCurrentStatus()); } public class Hero { public Hero(string name, int level, int health, int mana) { m_Name = name; m_Level = level; // 英雄的最大血和内力都与级别相关 // 这个英雄是个魔法师型的。 ^_^ m_MaxHealth = 50 + level * 30; m_MaxMana = 100 + level * 50; m_Health = health; m_Mana = mana; } public string Name { get { return m_Name; } } public int Level { get { return m_Level; } } public int MaxHealth { get { return m_MaxHealth; } } public int MaxMana { get { return m_MaxMana; } } public int Health { get { return m_Health; } set { // 如果更复杂可以当英雄血小于等于0时死亡 if (value > m_MaxHealth) m_Health = m_MaxHealth; else m_Health = value; } } public int Mana { get { return m_Mana; } set { if (value > m_MaxMana) m_Mana = m_MaxMana; else m_Mana = value; } } public static Hero operator ++(Hero hero) { return new Hero( hero.Name, hero.Level + 1, hero.MaxHealth + 30, hero.MaxMana + 50); } public string DisplayCurrentStatus() { string result = string.Empty; result += string.Format("Hero name: {0} ", m_Name); result += string.Format("Hero level: {0} ", m_Level); result += string.Format("Hero health: {0} ", m_Health); result += string.Format("Hero mana: {0} ", m_Mana); return result; } private string m_Name; private int m_Health; private int m_MaxHealth; private int m_Mana; private int m_MaxMana; private int m_Level; } }} 帮助 为何选择2次才有效果? c#如何读取excel单元格的数据 谁那里有消息总线的资料吗 C# 求远程备份数据库到本机的例子(SQL) c# 如何自定义一个对话框 LINQ 如果所查找的值有NULL报错 如何计算两个日期之间相差的天数? 如何将UTF-8转换成BIG5或GB2312? 最小化窗体然后再还原,控件无法正常显示。。。 获取richtextbox 当前窗口文本行数 c# 如何向数据库表中插入数据
{
class Program
{
static void Main(string[] args)
{
// 初始化
Hero hero = new Hero("ABC", 2, 50, 100);
Console.WriteLine(hero.DisplayCurrentStatus()); // 升级
hero++;
Console.WriteLine(hero.DisplayCurrentStatus());
} public class Hero
{
public Hero(string name, int level, int health, int mana)
{
m_Name = name;
m_Level = level;
// 英雄的最大血和内力都与级别相关
// 这个英雄是个魔法师型的。 ^_^
m_MaxHealth = 50 + level * 30;
m_MaxMana = 100 + level * 50;
m_Health = health;
m_Mana = mana;
} public string Name
{
get { return m_Name; }
} public int Level
{
get { return m_Level; }
} public int MaxHealth
{
get { return m_MaxHealth; }
} public int MaxMana
{
get { return m_MaxMana; }
} public int Health
{
get { return m_Health; }
set
{
// 如果更复杂可以当英雄血小于等于0时死亡
if (value > m_MaxHealth)
m_Health = m_MaxHealth;
else
m_Health = value;
}
} public int Mana
{
get { return m_Mana; }
set
{
if (value > m_MaxMana)
m_Mana = m_MaxMana;
else
m_Mana = value;
}
} public static Hero operator ++(Hero hero)
{
return new Hero(
hero.Name,
hero.Level + 1,
hero.MaxHealth + 30,
hero.MaxMana + 50); } public string DisplayCurrentStatus()
{
string result = string.Empty; result += string.Format("Hero name: {0} ", m_Name);
result += string.Format("Hero level: {0} ", m_Level);
result += string.Format("Hero health: {0} ", m_Health);
result += string.Format("Hero mana: {0} ", m_Mana); return result;
} private string m_Name;
private int m_Health;
private int m_MaxHealth;
private int m_Mana;
private int m_MaxMana;
private int m_Level;
}
}
}