все таки нужно нужно было использовать конструктор Zero
public Fire(int min_x, int min_y, int max_x, int max_y)
: base(min_x, min_y, max_x, max_y)
{
w = 8;
h = 16;
isActive = false;
}
Еще я сделал Zero абстрактным.
Так как там одинаковые конструкции обработки слов у первых 3 кнопок, я вынес это все в функцию и передавал делегат. На мой взгляд это рациональнее. В целом, спасибо за урок)