0

好吧:

我在 Form1 中有一个restart()方法可以重新启动我的游戏,它还会将标签、文本字段、组框等更改为再次可见。

我需要这个方法Game.cs,问题是,当我把这个方法放进去时,C#给了我很多错误Game.cs

所以我想知道我怎么能 - 从 Game.cs 中调用 Form1 方法 - 使 txts、lbls 等更改与 Game.cs 一起工作

太感谢了。

编辑:这是重启方法

public void restart() {
    lblBeschrijving.Visible = true;
    gbNaam.Visible = true;
    lblNaam.Visible = true;
    txtNaam.Visible = true;
    gbMuren.Visible = true;
    cmbMuren.Visible = true;
    lvlMuren.Visible = true;
    gbMoeilijkheid.Visible = true;
    cmbMoeilijkheid.Visible = true;
    lblMoeilijkheid.Visible = true;
    picBeginscherm.Visible = true;
    btnSpelen.Visible = true;
    tmrSnake_Tick.Enabled = false;
    nFoodTeller = 0;
    foodExtra.nEnabled = true;


    nScore = System.Convert.ToInt32(snakeScoreLabel.Text);

    snake = new Snake();

    DialogResult error;
    error = MessageBox.Show("Oh no! You killed the snake!\nDo you wish to play Again?\n\nYou scored " + nScore, "Snake Game Error", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
    // ..and the snake's dead!

    if (error == DialogResult.No) {
        Close();
    }
}
4

1 回答 1

0

我假设我在 c# 上编程游戏方面与您处于同一水平。所以这是我的经验:

游戏逻辑和 UI 是 2 个独立的实体,UI 控制游戏而不是相反。这样可以确保如果 UI 发生更改,游戏仍然可以正常工作。实现这一点的方法是声明您的主 UI 可以挂钩的事件和委托。因此,当您触发事件时,UI 会收到信息。例如,我使用事件来更新俄罗斯方块的分数:

https://subversion.assembla.com/svn/xand-tetris/trunk/

祝你探索顺利

于 2013-03-07T08:30:24.870 回答