我想在Winform C#(模式MVP)中创建一个简单的游戏,以发展我的技能。
这个游戏包含4个怪物的战斗(来自Monster类的4个物体)。每个怪物都在一个pictureBox中表示(我把怪物放在里面)。 当一个怪物死亡(它的属性“生命”低于或等于0)时,我想在相应的图片框上放一个红叉。
我的问题是:“怎样才能将对象(例如,monster2)链接到pictureBox (例如pictureBox2)?”
我想过一个“开关”,但我不喜欢它。 关于一个属性PictureBox也在Monster类中,但我也不喜欢它(我不喜欢混合View和Presenter)。 可能是“生命”属性上的“事件”,但我真的不知道如何编写它以便选择正确的pictureBox(monster1 => pictureBox1,monster2 => pictureBox2等等)。
我想要一个可以快速更改的代码,例如,如果我想要8个怪物(8个pictureBox)而不是4个。
这是我想要的简单图像。在这里,英雄攻击第三个怪物。由于袭击,第三个怪物死亡。所以在这里,我想在第三张图片框上放一个红叉。
感谢您的帮助!
答案 0 :(得分:0)
我会制作一个自定义用户控件(MonsterViewControl或其他东西),并让它采用'MonsterModel'对象(或IMonster或其他)。然后,您可以创建一个自定义OnPaint方法,该方法可以绘制怪物,也可以根据模型的外观绘制红色十字。