// constructeur public FormServeur() { InitializeComponent(); Joueur1 = new Joueur(panelFond, new Point(100, 100),true); Joueur2 = new Joueur(panelFond, new Point(100, 150),false); // Cette fois les joueurs sont clairements labelScoreJ1.Text = "0"; labelScoreJ2.Text = "0"; // L'interface n'est plus la même non plus, on dédouble tout. pBChargeJ1.Maximum = 1000; pBChargeJ1.Minimum = 0; pBChargeJ2.Maximum = 1000; pBChargeJ2.Minimum = 0; try { IPAddress ipAd = IPAddress.Parse("127.0.0.1"); //on utilise l'adresse ip locale myList = new TcpListener(ipAd, 8001); //initialisation du listener myList.Start(); // on écoute sur le port Console.WriteLine("The server is running at port 8001..."); Console.WriteLine("The local End point is :" + myList.LocalEndpoint); // Ces trois lignes ci ne servent qu'a controler via la console ce qui se passe. Console.WriteLine("Waiting for a connection....."); cl = myList.AcceptTcpClient(); // dés qu'il y a une connection on peut passer a la suite Console.WriteLine("Connection accepted from " + cl.Client.RemoteEndPoint); stm = cl.GetStream(); // le flux de données est créé } catch (Exception e) { Console.WriteLine("Error..... " + e.StackTrace); Console.ReadLine(); } th1 = new Thread(Launch); // on lance le thread qui va lire le flux th1.Name = "Serveur"; th1.Start(); }
// on recoit l'ip de la fenetre précédente public FormClient(String ip) { InitializeComponent(); Joueur1 = new Joueur(panelFond, new Point(100, 100),true); Joueur2 = new Joueur(panelFond, new Point(100, 150),false); labelScoreJ1.Text = "0"; labelScoreJ2.Text = "0"; pBChargeJ1.Maximum = 1000; pBChargeJ1.Minimum = 0; pBChargeJ2.Maximum = 1000; pBChargeJ2.Minimum = 0; try { tcpclnt = new TcpClient(); Console.WriteLine("Connecting.....");// pour le débug tcpclnt.Connect(ip, 8001); // On se connecte à l'ip recue et sur le bon port Console.WriteLine("Connected");// pour le débug stm = tcpclnt.GetStream(); // On crée le flux connected = true; // dés qu'il est fait on est connecté } catch (Exception e) { Console.WriteLine("Error..... " + e.StackTrace); Console.ReadLine(); } Thread th1 = new Thread(Launch); // on lance le thread de lecture du flux th1.Name = "Client"; th1.Start(); }
private Keys tirer; // variable pour le tir #endregion Fields #region Constructors public FormSinglePlayer() { InitializeComponent(); Joueur1 = new Joueur(panelFond, new Point(100, 100),true); // création du joueur labelScore.Text = "0"; // initialisation du score pBCharge.Maximum = 1000; //initialisation de la jauge de tir pBCharge.Minimum = 0; Thread th1 = new Thread(Decor); // Declaration du thread de gestion du décor th1.Name = "decor"; // on donne un nom au thread th1.Start(); // démarrage du thread pBDessin.Controls.AddRange(new Control[] { this.Joueur1.forme }); // on ajoute au pB le controle du joueur. Cela permet de ne pas avoir de "carré noir" entournant le dessin du joueur }
public Tir(Joueur joueur) { panelFond = joueur.panel; tir = new PictureBox(); Point p = new Point(); p.Y = joueur.Location.Y + (joueur.Height) / 2; p.X = joueur.Location.X + joueur.Width; tir.Location = p; tir.BackColor = Color.White; tir.Width = 10; tir.Height = 2; joueur.panel.Controls.Add(tir); Console.Beep(1000, 2); }
public void Avance(int vitesse, Joueur joueur) { Point p = new Point(); p = this.enemi.Location; if (joueur.Location.Y + joueur.Height / 2 <= this.enemi.Location.Y + this.enemi.Height / 2) { p.Y -= vitesse; } else if (joueur.Location.Y + joueur.Height / 2 > this.enemi.Location.Y + this.enemi.Height / 2) { p.Y += vitesse; } p.X -= vitesse*2; enemi.Location = p; }