public Tic_Tac_Toe_Client(Form server, Boolean error, Form menu) { // This call is required by the designer. InitializeComponent(); this.server = server; this.menu = menu; if (error == true) server.Close(); // Add any initialization after the InitializeComponent() call. board = new CSquare[3, 3]; // create 3 X 3 board //create nine CSquare's and place their Panels on board board[0, 0] = new CSquare(btn1, ' ', 0); board[0, 1] = new CSquare(btn2, ' ', 1); board[0, 2] = new CSquare(btn3, ' ', 2); board[1, 0] = new CSquare(btn4, ' ', 3); board[1, 1] = new CSquare(btn5, ' ', 4); board[1, 2] = new CSquare(btn6, ' ', 5); board[2, 0] = new CSquare(btn7, ' ', 6); board[2, 1] = new CSquare(btn8, ' ', 7); board[2, 2] = new CSquare(btn9, ' ', 8); //create SolidBrush for writing on Squares brush = new SolidBrush(Color.Black); //make connection request to server on port 5000 connection = new TcpClient("localhost", 5000); stream = connection.GetStream(); //create objects for writing and reading bytes to streams writer = new BinaryWriter(stream); reader = new BinaryReader(stream); //create thread for sending and receiving messages outputThread = new Thread(Run); outputThread.Start(); }
// PaintSquares //invoked when user clicks Panels //private void square_MouseUp(System.Object sender, System.Windows.Forms.MouseEventArgs e) //{ //} // square_mouseUp void square_MouseUP(object sender, EventArgs e) { //counters for traversing Tic-Tac-Toe board int row, column; for(row = 0; row <= 2; row++) for (column = 0; column <= 2; column++){ //determine which Panel was clicked if (board[row, column].Panel == sender){ mCurrentSquare = board[row, column]; //send move to server sendClickedSqaure(board[row, column].Location); } } }