Beispiel #1
0
        private static void read()      // Hieronder veelal hetzelfde als in server!
        {
            while (runClient)
            {
                try
                {
                    String input = reader.ReadLine();

                    if (input != null)
                    {
                        if (input.Contains("MOVE@"))
                        {
                            input = input.Substring(5);
                            string[] coordinates = input.Split(',');
                            int      x           = int.Parse(coordinates[0]);
                            int      y           = int.Parse(coordinates[1]);

                            currentForm.handleBoardMouseClick(x, y);
                        }
                        else if (input.Equals("ENDGAME"))
                        {
                            runClient = false;
                        }
                    }
                    else
                    {
                        runClient = false;
                    }
                }
                catch (IOException)
                {
                    runClient = false;
                }
            }
        }
Beispiel #2
0
        private static void read()
        {
            runWorkers = true;                          // Worker mag draaien
            while (runWorkers)
            {
                try
                {
                    String input = reader.ReadLine();

                    if (input != null)
                    {
                        if (input.StartsWith("START:"))                                                   // De client heeft een spel gestart met coordinaten gescheiden door een comma
                        {
                            input = input.Substring(6);                                                   // "START:" gedeelte weghalen
                            string[] size = input.Split(',');                                             // Overgebleven string splitsen op de komma
                            currentForm.boardSizeSelectorPos[0] = int.Parse(size[0]);                     // Boardsize zetten in het form
                            currentForm.boardSizeSelectorPos[1] = int.Parse(size[1]);
                            currentForm.Invoke(new ReversiForm.startGameCallback(currentForm.startGame)); // Start game button laten "klikken"
                        }
                        else if (input.StartsWith("MOVE@"))                                               // De client doet een zet met een muisklik op de coordinaten door een komma gescheiden
                        {
                            input = input.Substring(5);                                                   // Zelfde verhaal als hierboven
                            string[] coordinates = input.Split(',');
                            int      x           = int.Parse(coordinates[0]);
                            int      y           = int.Parse(coordinates[1]);

                            currentForm.handleBoardMouseClick(x, y);
                        }
                        else if (input.Equals("ENDGAME"))       // De client heeft het spel gestopt, stop deze worker en verbreek de verbinding
                        {
                            runWorkers = false;
                        }
                    }
                    else
                    {
                        runWorkers = false;             // Null = worker stoppen
                    }
                }
                catch (IOException)
                {
                    runWorkers = false;                 // IOException, worker stoppen
                }
            }
        }