【发布时间】:2016-03-30 05:27:50
【问题描述】:
所以我正在尝试制作通用战斗代码,为此我需要将敌人类传递给我的战斗虚空。现在它看起来像这样:
static void Combat()
{
Character.Player player = new Character.Player();
Character.Gnome gnome = new Character.Gnome();
}
带字符的类如下所示:
class Character
{
//hp, damage and other universal stuff
}
class Player : Character
{
//hp, damage and stuff
}
class Enemy : Character
{
}
class Gnome : Enemy
{
//stuff
}
class Skeleton : Enemy
{
//stuff
}
因此,目前,void Combat() 不是通用代码,因为您只能与 gnome 战斗。我希望能够进行战斗(骷髅)或战斗(侏儒)来对抗这个特定的对手。我试过这样做
void Combat(Character.Enemy enemyType)
{
Character.enemyType enemy = new Character.enemyType();
}
但它不起作用。有什么想法吗?
【问题讨论】:
-
Combat方法如何使用Character.Gnome对象或任何其他字符?
标签: c# class parameter-passing void