使用C#Visual Studio 2010的飞镖计分游戏-在evey第3次计分后交替计分

使用C#Visual Studio 2010的飞镖计分游戏-在evey第3次计分后交替计分,c#,visual-studio-2010,function,loops,methods,C#,Visual Studio 2010,Function,Loops,Methods,刚买了一个飞镖板,想创建一个小计分应用程序,到目前为止,我已经设置了玩家姓名和个人按钮来开始游戏。三个游戏-301、501和1001,这是两名玩家依次投掷三个飞镖,以达到零的目标分数。 我已经包括了许多按钮,每个飞镖的得分从20到1,每个按钮分别用于单、双、三、公牛、外公牛和无得分按钮。一旦游戏开始,前三个按钮的按下应归于玩家1,然后按下以下三个按钮将相应的分数分配给玩家2。游戏结束时,获胜的玩家达到目标分数(或将分数减为零) 我可以用一个球员选择按钮来做这件事,但我想知道一些技巧,如何将另一种

刚买了一个飞镖板,想创建一个小计分应用程序,到目前为止,我已经设置了玩家姓名和个人按钮来开始游戏。三个游戏-301、501和1001,这是两名玩家依次投掷三个飞镖,以达到零的目标分数。 我已经包括了许多按钮,每个飞镖的得分从20到1,每个按钮分别用于单、双、三、公牛、外公牛和无得分按钮。一旦游戏开始,前三个按钮的按下应归于玩家1,然后按下以下三个按钮将相应的分数分配给玩家2。游戏结束时,获胜的玩家达到目标分数(或将分数减为零)

我可以用一个球员选择按钮来做这件事,但我想知道一些技巧,如何将另一种得分模式编码为自动模式

非常感谢您的帮助。多谢各位

namespace dbstats
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

        btnPlay.Visible = false;
        btnReset.Visible = false;
        btnUndo.Visible = false;
        gbDartBoard.Visible = false;
        gbScoreBoard.Visible = false;
        lbP1Select.Visible = false;;
        lbP2Select.Visible = false;
        cmbP1.Visible = false;
        cmbP2.Visible = false;

        string[] lines = File.ReadAllLines(@"playerStats.csv");
        foreach (var line in lines)            
        {
            string[] names = line.Split(',');
            if (names[0] != "NAME")
            {
                cmbP1.Items.Add(names[0]);
                cmbP2.Items.Add(names[0]);
            } 
        }
    }

    private void tsm301_Click(object sender, EventArgs e)
    {
        lbP1Select.Visible = true;
        cmbP1.Visible = true;
        lbP2Select.Visible = true;
        cmbP2.Visible = true;
        btnPlay.Visible = true;
        tbPlayer1.Text = "301";
        tbPlayer2.Text = "301";

        gamesToolStripMenuItem.Visible = false;
        manageToolStripMenuItem.Visible = false;
    }

    private void btnPlay_Click(object sender, EventArgs e)
    {
        if (cmbP1.SelectedItem == cmbP2.SelectedItem || cmbP1.SelectedItem == null || cmbP2.SelectedItem == null)
        {
            MessageBox.Show("Make Sure:" + "\n\n"
                            + "The Players are NOT the same." + "\n"
                            + "&" + "\n"
                            + "At least one selection is NOT left blank", "Choose Again!");
        }
        else
        {
            lbP1Select.Visible = false;
            cmbP1.Visible = false;
            lbP2Select.Visible = false;
            cmbP2.Visible = false;
            btnPlay.Visible = false;

            lbPlayer1.Text = cmbP1.SelectedItem.ToString();
            lbPlayer2.Text = cmbP2.SelectedItem.ToString();

            btnReset.Visible = true;
            btnUndo.Visible = true;
            gbDartBoard.Visible = true;
            gbScoreBoard.Visible = true;
            lbPlayer1.Visible = true; ;
            lbPlayer2.Visible = true;                
        }
    }
}

turnsEntered
成员变量保留到管理轮次/得分的任何类

// Call after every time a new score is entered. Start at 0.
turnsEntered++;
if (turnsEntered % 3 == 0)
{
    SwitchPlayer(); // However you keep track of current player - switch here
}
输入第三个分数后,它将切换玩家…再输入第三个分数后,它将再次切换,等等


您可以稍后检查
turnsEntered
,以确定游戏何时结束。重新初始化新游戏时,将其设置回零。

您的问题实在太模糊,无法回答。你在看什么样的应用程序?网络应用?桌面?我建议找一个好的MVC或MVVM框架。文本墙,没有代码。我太懒了,看不懂这些。发布你的代码并说明你的问题。你说你“包括了很多按钮”。。。那么这是否意味着你已经做了一些事情?它是
ASP.NET
WPF
WinForms
,还是别的什么?@Matt-我基本上是在创建一个省道计分计算器,它在文本框中显示一个数字,然后按下相应的计分按钮来减去这个数字。@Andrew-我使用的是在VS2010中使用C#创建的WinForms。我还使用了总共63个按钮,它们对应于在飞镖板上投掷一个飞镖所获得的分数,并希望每三次投掷两名玩家交替使用每个文本框的分数。希望这能让你感觉到,我也用你的方法在每个玩家的侧面用单选按钮来指示一个回合。现在就到。