Поскольку класс «Игра» - это игровой цикл (чтение ввода, преобразование и рендеринг), я не думаю, что это хорошая идея, чтобы дублировать этот класс в проекте XNA. Скорее, я бы создал механизм состояния (простое перечисление состояния игры, то есть MainMenu, MiniGame1, MiniGame2, Paused и т. Д.) И обрабатывать каждую конкретную мини-игру в классе Game1 в соответствии с переменной gameState. Например
В ваших Game1.Draw Метод
switch(gameState)
{
case: GameState.MiniGame1
{
minigame1.Draw(spriteBatch);
}break
case: GameState.MiniGame2
{
minigame2.Draw(spriteBatch);
}break;
}
ваших мини-игры больше похожи на уровни, которые должны быть загружены в класс Game1, а не стоять в одиночку игры. Конечно, это тривиальный пример, но, надеюсь, вы получите эту идею.