/// <summary> /// deal with the iunput info about the operations of ship /// </summary> /// <param name="ss"></param> public static void userInput(SocketState ss) { String input = ss.sb.ToString(); String[] parts = input.Split('\n'); foreach (char temp in parts[0]) { if (temp != '(' && temp != ')') { if (temp != 'F') { lock (theworld) { theworld.getShip()[ss.uid].doOperate(temp); } } else { lock (theworld) { theworld.Fire(ss.uid); } } } ss.sb.Remove(0, 1); } ss.sb.Remove(0, 1); NController.GetData(ss); }
public void TestWorldMethod() { world world1 = new world(); star s = new star(0, new Vector2D(0, 200), 1); projectile p1 = new projectile(1, new Vector2D(0, 376), new Vector2D(0, 0), true, 2); Ship ship = new Ship(1, new Vector2D(0, 0), new Vector2D(0, 0), false, "s", 5, 0); String A = s.ToString(); star s1 = JsonConvert.DeserializeObject <star>(A); world1.addStar(s); world1.setFrame(0); world1.addShip(ship); world1.Fire(1); world1.addproj(p1); world1.setRespawn(300); world1.setSize(750); Assert.AreEqual(world1.getProj().Values.Count, 1); Assert.AreEqual(world1.getShip().Values.Count, 1); Assert.AreEqual(world1.getStar().Values.Count, 1); ship = new Ship(1, new Vector2D(0, 0), new Vector2D(0, 0), true, "s", 5, 0); for (int i = 0; i <= 4; i++) { world1.getShip()[1].hpdecrease(); } world1.respawn(ship); world1.addLostID(1); world1.cleanup(); world1.removeProjectile(p1); world1.removeStar(s); world1.removeShip(ship); Assert.AreEqual(world1.getShip().Values.Count, 0); Assert.AreEqual(world1.getShip().Values.Count, 0); Assert.AreEqual(world1.getStar().Values.Count, 0); world1.update(); s.update(51); s.update(102); s.update(160); s.update(230); }