2016-10-27 3 views
0

Я хочу создать простую игру в Winform C# (шаблон MVP), чтобы развивать свои навыки.C# Связать объект с pictureBox

Эта игра состоит из битвы с 4-мя монстрами (4 объекта из класса Monster). Каждый монстр представлен в pictureBox (я помещаю изображение монстра внутри). Когда монстр умирает (его свойство «Жизнь» находится под или равно 0), я хочу поставить красный крест на соответствующем pictureBox.

Мой вопрос: «Как это возможно, чтобы связать объект (Monster2, например) к PictureBox (pictureBox2, например)?»

Я думал о «переключателе», но мне это не нравится. О собственности PictureBox тоже в классе Monster, но мне также это не нравится (я не люблю смешивать View и Presenter). Может быть, «событие» в свойстве «Жизнь», но я действительно не знаю, как его записать, чтобы выбрать правильный снимок pictureBox (monster1 => pictureBox1, monster2 => pictureBox2 и т. Д.).

Я хотел бы код, который может быть изменен очень быстро, если, например, я хочу 8 монстров (с 8 PictureBox), а не 4.

Вот простой образ того, что я хочу. Здесь герой атакует третьего монстра. Из-за атаки третий монстр умирает. Итак, здесь я хочу поставить красный крест на третьем картинке.

enter image description here

Спасибо за вашу помощь!

+0

Не можете ли вы просто использовать словарь? – UnholySheep

ответ

0

Я бы сделал пользовательский элемент управления (MonsterViewControl или что-то еще), и ему понадобится объект MonsterModel (или IMonster или что-то еще). Затем вы можете создать собственный метод OnPaint, который либо нарисовал бы монстра, либо красный крест, зависящий от того, как выглядит модель.

Смежные вопросы