开发者

The type or namespace name 'Button' could not be found (are you missing a using directive or an assembly reference?)

开发者 https://www.devze.com 2022-12-31 08:40 出处:网络
What am I missing I cant figure it out by the way this is a simple tic tac toe game. Also how can I incorporate a listbox with a horizontal scrollbar to select the player?

What am I missing I cant figure it out by the way this is a simple tic tac toe game.

Also how can I incorporate a listbox with a horizontal scrollbar to select the player?

Player1 = (x) Or Player2 = (O)

Thanks in advance!!!

Main Form - xGameForm

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MyGame
{
    public partial class xGameForm : Form
    {

        public Button xGameButton9;开发者_StackOverflow社区
        public Button xGameButton8;
        public Button xGameButton7;
        public Button xGameButton6;
        public Button xGameButton5;
        public Button xGameButton4;
        public Button xGameButton3;
        public Button xGameButton2;
        public Button xGameButton1;



        public Button[] _buttonArray;
        public bool isX;
        public bool isGameOver;

        Button tempButton = (Button)sender;

        public xGameForm()

        {
            InitializeComponent();
        }

        public void xGameForm_Load(object sender, EventArgs e)
        {
            _buttonArray = new Button[9] { xGameButton1, xGameButton2, xGameButton3, xGameButton4, xGameButton5, xGameButton6, xGameButton7, xGameButton8, xGameButton9 };

            for (int i = 0; i < 9; i++)

            this._buttonArray[i].Click += new System.EventHandler(this.ClickHandler);

            InitTicTacToe(); 

        }

        public void InitTicTacToe()
        {
            for (int i = 0; i < 9; i++)
            {
                _buttonArray[i].Text = "";
                _buttonArray[i].ForeColor = Color.Black;
                _buttonArray[i].BackColor = Color.LightGray;
                _buttonArray[i].Font = new System.Drawing.Font("Microsoft Sans Serif", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            }
            this.isX = true;
            this.isGameOver = false;
        }

       public void ClickHandler(object sender, System.EventArgs e)
        {
            Button tempButton = (Button)sender;
            if( this.isGameOver )
            {
                MessageBox.Show("press reset to start a new game!","Game End",MessageBoxButtons.OK);
                return;         
            }
            if( tempButton.Text != "" ) 
            {
                return;
            }
            if( isX)    
                tempButton.Text = "X";
            else
                tempButton.Text = "O";
            isX = !isX; 
            this.isGameOver = Result1.CheckWinner(_buttonArray );
        }

       public void xGameResetButton_Click(object sender, EventArgs e)
        {
            InitTicTacToe();    
        }
}
    }

Class Result1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyGame
{
    public class Result1
    {


        static private int[,] Winners = new int[,]
                   {
                        {0,1,2},
                        {3,4,5},
                        {6,7,8},
                        {0,3,6},
                        {1,4,7},
                        {2,5,8},
                        {0,4,8},
                        {2,4,6}
                   };
        static public bool CheckWinner(Button[] myControls)
        {
            bool gameOver = false;
            for (int i = 0; i < 8; i++)
            {
                int a = Winners[i, 0], b = Winners[i, 1], c = Winners[i, 2];
                Button b1 = myControls[a], b2 = myControls[b], b3 = myControls[c];
                if (b1.Text == "" || b2.Text == "" || b3.Text == "")
                    continue;
                if (b1.Text == b2.Text && b2.Text == b3.Text)
                {
                    b1.BackColor = b2.BackColor = b3.BackColor = Color.LightCoral;
                    b1.Font = b2.Font = b3.Font = new System.Drawing.Font("Microsoft Sans Serif", 32F, System.Drawing.FontStyle.Italic & System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
                    gameOver = true;
                    MessageBox.Show(b1.Text + " .... Wins the game!", "Game End", MessageBoxButtons.OK);
                    break;
                }
            }
            return gameOver;
        }
    }
}


Button is a class in the System.Windows.Forms namespace.
Unless you import the namespace, the compiler won't know which class you want.

You need to import the namespace by adding using System.Windows.Forms; to the top of the class..


You need to add a using directive for using System.Windows.Forms into the file with you result1 class in it or explicitly reference System.Windows.Forms.Button. Otherwise the complire does not know what a button is.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号