0

了解しました:

Form1にはrestart()、ゲームを再起動するメソッドがあります。これにより、ラベル、テキストフィールド、グループボックスなども再び表示されるように変更されます。

このメソッドを含める必要がありますGame.cs。問題は、このメソッドを入れると、C#で大量のエラーが発生することです。Game.cs

だから私はどうすればいいのだろうと思っていました-Game.cs内からForm1メソッドを呼び出します-txt、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 は情報を受け取ります。たとえば、イベントを使用して Tetris のスコアを更新しました。

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

頑張って探索

于 2013-03-07T08:30:24.870 に答える