Advertisement
Guest User

Untitled

a guest
Mar 26th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 11.41 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Net;
  7. using System.Net.Sockets;
  8. using System.Threading;
  9. using ServerData;
  10. using MessagesCommunication;
  11.  
  12. namespace Client
  13. {
  14.     class Client
  15.     {
  16.         public static Socket master;
  17.         public static string name;
  18.         public static string id;
  19.  
  20.         static void Main(string[] args)
  21.         {
  22.             Console.Title = "Player";
  23.             Console.Write("Enter your name: ");
  24.             name = Console.ReadLine();
  25.  
  26.  
  27.             //UWAGA!! GOTO deklaracja!!
  28.             A: Console.Clear();
  29.  
  30.             Console.WriteLine("Enter hostname: ");
  31.             string ip = Console.ReadLine();
  32.  
  33.             master = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  34.             //IPEndPoint ipe = new IPEndPoint(IPAddress.Parse(ip), 4242);
  35.             try
  36.             {
  37.                 //master.Connect(ipe);
  38.                 master.Connect(ip, 4242);
  39.             }
  40.             catch
  41.             {
  42.                 Console.WriteLine("Could not connect to the host!");
  43.                 Thread.Sleep(1000);
  44.                 goto A;
  45.             }
  46.  
  47.             Thread t = new Thread(Data_IN);
  48.             t.Start();
  49.  
  50.             for (;;)
  51.             {
  52.                 Console.ForegroundColor = ConsoleColor.Cyan;
  53.                 Console.Write(name + "@Player:~$");
  54.                 TestFunction();
  55.                 //string input = Console.ReadLine();
  56.                 //Packet p = new Packet(input);
  57.  
  58.                 //Packet p = new Packet(PacketType.Chat, id);
  59.                 //p.Gdata.Add(name);
  60.                 //p.Gdata.Add(input);
  61.  
  62.                 //master.Send(p.ToBytes());
  63.             }
  64.         }
  65.  
  66.         static void Data_IN()
  67.         {
  68.             byte[] Buffer;
  69.             int readBytes;
  70.  
  71.             for (;;)
  72.             {
  73.                 try
  74.                 {
  75.                     Buffer = new byte[master.SendBufferSize];
  76.                     readBytes = master.Receive(Buffer);
  77.  
  78.                     if (readBytes > 0)
  79.  
  80.                     {
  81.                         string text = Messages.ChangeType.ToString(Buffer);
  82.                         DataManager(text);
  83.                         int i = 0;
  84.                         switch (i)
  85.                         {
  86.                             //RegisteredGames
  87.                             case 1:
  88.                                 {
  89.                                     break;
  90.                                 }
  91.                             //ConfirmJoiningGame
  92.                             case 2:
  93.                                 {
  94.                                     break;
  95.                                 }
  96.                             //Game
  97.                             case 3:
  98.                                 {
  99.                                     //Console.WriteLine("Discover");
  100.                                     //Discover temp = new Discover();
  101.                                     //temp.gameId = 1;
  102.                                     //temp.playerGuid = Guid.NewGuid().ToString();
  103.                                     //Discover(temp);
  104.                                     break;
  105.                                 }
  106.                             //data
  107.                             case 4:
  108.                                 {
  109.                                     //Console.WriteLine("Move");
  110.                                     //Move temp = new Move();
  111.                                     //temp.direction = MoveType.down;
  112.                                     //temp.directionSpecified = true;
  113.                                     //temp.gameId = 1;
  114.                                     //temp.playerGuid = Guid.NewGuid().ToString();
  115.                                     //Move(temp);
  116.                                     break;
  117.                                 }
  118.                             //PickUpPiece
  119.                             case 5:
  120.                                 {
  121.                                     //Console.WriteLine("PickUpPiece");
  122.                                     //PickUpPiece temp = new PickUpPiece();
  123.                                     //temp.gameId = 1;
  124.                                     //temp.playerGuid = Guid.NewGuid().ToString();
  125.                                     //PickUpPiece(temp);
  126.                                     break;
  127.                                 }
  128.                             //TestPiece
  129.                             case 6:
  130.                                 {
  131.                                     //Console.WriteLine("TestPiece");
  132.                                     //TestPiece temp = new TestPiece();
  133.                                     //temp.gameId = 1;
  134.                                     //temp.playerGuid = Guid.NewGuid().ToString();
  135.                                     //TestPiece(temp);
  136.                                     break;
  137.                                 }
  138.                         }
  139.                     }
  140.                 }
  141.                 catch (SocketException ex)
  142.                 {
  143.                     Console.WriteLine("The server disconnected!");
  144.                     Console.ReadLine();
  145.                     Environment.Exit(0);
  146.                 }
  147.             }
  148.         }
  149.  
  150.         static void DataManager(string text)
  151.         {
  152.             Console.ForegroundColor = ConsoleColor.Cyan;
  153.             Console.WriteLine(text.Trim('\0'));
  154.  
  155.             //switch (p.packetType)
  156.             //{
  157.             //    case PacketType.Registration:
  158.             //        //Console.WriteLine("Recieved a packet for reistration! Responding...");
  159.             //        id = p.Gdata[0];
  160.             //        break;
  161.             //    case PacketType.Chat:
  162.             //        Console.WriteLine(p.Gdata[0] + ": " + p.Gdata[1]);
  163.             //        Console.ForegroundColor = ConsoleColor.Cyan;
  164.             //        break;
  165.             //}
  166.         }
  167.  
  168.         private static void TestFunction()
  169.         {
  170.             int i;
  171.             if (Int32.TryParse(System.Console.ReadLine(), out i))
  172.                 switch (i)
  173.                 {
  174.                     //get games
  175.                     case 1:
  176.                         {
  177.                             Console.WriteLine("Get games");
  178.                             GetGames();
  179.                             break;
  180.                         }
  181.                     //join game
  182.                     case 2:
  183.                         {
  184.                             string Team = string.Empty, Game = string.Empty, Role = string.Empty;
  185.  
  186.                             while (Game != "first" && Game != "Second")
  187.                             {
  188.                                 Console.WriteLine("Choose Game:");
  189.                                 Game = (System.Console.ReadLine()).ToLower();
  190.                             }
  191.  
  192.                             while (Team != "red" && Team != "blue")
  193.                             {
  194.                                 Console.WriteLine("Choose preferred team:\n1.Red\n2.Blue");
  195.                                 Team = (System.Console.ReadLine()).ToLower();
  196.                             }
  197.  
  198.                             while (Role != "leader" && Role != "player")
  199.                             {
  200.                                 Console.WriteLine("Choose preferred role:\n1.Leader\n2.Player");
  201.                                 Role = (System.Console.ReadLine()).ToLower();
  202.                             }
  203.                             JoinGame(Game, Team, Role);
  204.                             break;
  205.                         }
  206.                     //discover
  207.                     case 3:
  208.                         {
  209.                             Console.WriteLine("Discover");
  210.                             Discover temp = new Discover();
  211.                             temp.gameId = 1;
  212.                             temp.playerGuid = Guid.NewGuid().ToString();
  213.                             Discover(temp);
  214.                             break;
  215.                         }
  216.                     //move
  217.                     case 4:
  218.                         {
  219.                             Console.WriteLine("Move");
  220.                             Move temp = new Move();
  221.                             temp.direction = MoveType.down;
  222.                             temp.directionSpecified = true;
  223.                             temp.gameId = 1;
  224.                             temp.playerGuid = Guid.NewGuid().ToString();
  225.                             Move(temp);
  226.                             break;
  227.                         }
  228.                     //PickUpPiece
  229.                     case 5:
  230.                         {
  231.                             Console.WriteLine("PickUpPiece");
  232.                             PickUpPiece temp = new PickUpPiece();
  233.                             temp.gameId = 1;
  234.                             temp.playerGuid = Guid.NewGuid().ToString();
  235.                             PickUpPiece(temp);
  236.                             break;
  237.                         }
  238.                     //TestPiece
  239.                     case 6:
  240.                         {
  241.                             Console.WriteLine("TestPiece");
  242.                             TestPiece temp = new TestPiece();
  243.                             temp.gameId = 1;
  244.                             temp.playerGuid = Guid.NewGuid().ToString();
  245.                             TestPiece(temp);
  246.                             break;
  247.                         }
  248.                 }
  249.         }
  250.  
  251.         private static void Send(byte[] dataBuf)
  252.         {
  253.             //Packet p = new Packet();
  254.             //p.PacketXml(dataBuf);
  255.             master.Send(dataBuf);
  256.         }
  257.  
  258.         private static void JoinGame(string gameName, string preferedTeam, string preferedRole)
  259.         {
  260.             MessagesCommunication.JoinGame jG = new MessagesCommunication.JoinGame();
  261.             if (preferedTeam == "blue" && preferedRole == "player")
  262.             {
  263.                 jG = Messages.CreateMessage.JoinGame(gameName, TeamColour.blue, PlayerType.player);
  264.             }
  265.             else if (preferedTeam == "red" && preferedRole == "player")
  266.             {
  267.                 jG = Messages.CreateMessage.JoinGame(gameName, TeamColour.red, PlayerType.player);
  268.             }
  269.             else if (preferedTeam == "blue" && preferedRole == "leader")
  270.             {
  271.                 jG = Messages.CreateMessage.JoinGame(gameName, TeamColour.blue, PlayerType.leader);
  272.             }
  273.             else if (preferedRole == "red" && preferedRole == "leader")
  274.             {
  275.                 jG = Messages.CreateMessage.JoinGame(gameName, TeamColour.red, PlayerType.leader);
  276.             }
  277.  
  278.             Send(Messages.ChangeType.ToByteArrayObject(jG));
  279.         }
  280.  
  281.         private static void GetGames()
  282.         {
  283.             MessagesCommunication.GetGames gG = Messages.CreateMessage.GetGames();
  284.             Send(Messages.ChangeType.ToByteArrayObject(gG));
  285.         }
  286.  
  287.         private static void Discover(Discover discover)
  288.         {
  289.             Send(Messages.ChangeType.ToByteArrayObject(discover));
  290.         }
  291.  
  292.         private static void Move(Move move)
  293.         {
  294.             Send(Messages.ChangeType.ToByteArrayObject(move));
  295.         }
  296.  
  297.         private static void PickUpPiece(PickUpPiece pick)
  298.         {
  299.             Send(Messages.ChangeType.ToByteArrayObject(pick));
  300.         }
  301.  
  302.         private static void TestPiece(TestPiece testPiece)
  303.         {
  304.             Send(Messages.ChangeType.ToByteArrayObject(testPiece));
  305.         }
  306.  
  307.     }
  308. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement