public void Setup(Worm inWorm) { worm = inWorm; triggerCol.radius = worm.carrying ? fleeRadius : seekRadius; }
public void TestBackgroundPixelsAreOverwrittenByBodyPixels() { var worm = Worm.FromFrames(new[] { new Frame(new uint[] { 0x00000001 }), new Frame(new uint[] { 0x00000000 }) }); Assert.That(worm.Pixels, Is.EqualTo(new uint[] { 0x00000001 })); }
public void createWorm(float x, float y) { GameObject wormObject = new GameObject(); wormObject.name = "Worm"; Worm newWorm = wormObject.AddComponent <Worm>(); newWorm.init(x, y, this); }
static void Main() { var teams = new Dictionary <string, List <Worm> >(); string input = Console.ReadLine(); while (input != "quit") { string[] tokens = input .Split(new[] { " -> " }, StringSplitOptions.None); string wormName = tokens[0]; string team = tokens[1]; long wormScore = long.Parse(tokens[2]); if (!teams.ContainsKey(team)) //not registered team { teams[team] = new List <Worm>(); Worm wormToRegiser = new Worm { name = wormName, score = wormScore }; teams[team].Add(wormToRegiser); } else //team registered { bool wormIsAlreadyInTeam = CheckIsTheNameRegistered(teams, wormName); if (wormIsAlreadyInTeam) //already registered, ignored { break; } else //not registered teammate { Worm wormToRegiser = new Worm { name = wormName, score = wormScore }; teams[team].Add(wormToRegiser); } } input = Console.ReadLine(); } OrderAndPrintResult(teams); }
public UserControlWorms(Worm worm) { InitializeComponent(); this.worm = worm; name.Content = worm.name; name.Foreground = (worm.equip == Team.teams.red) ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Blue); name.FontSize = 14; HP.Content = worm.hp; HP.Foreground = (worm.equip == Team.teams.red) ? new SolidColorBrush(Colors.Red) : new SolidColorBrush(Colors.Blue); HP.FontSize = 14; }
static void Main(string[] args) { Dictionary <string, List <Worm> > WormsWorldParty = new Dictionary <string, List <Worm> >(); var input = Console.ReadLine(); while (input != "quit") { var tokens = input.Split(new string[] { " -> " }, StringSplitOptions.RemoveEmptyEntries).ToList(); var wormName = tokens[0]; var teamName = tokens[1]; var wormScore = int.Parse(tokens[2]); if (!WormsWorldParty.ContainsKey(teamName)) { WormsWorldParty[teamName] = new List <Worm>(); Worm currentWorm = new Worm { Name = wormName, Score = wormScore }; } if (WormsWorldParty[teamName].Any(x => x.Name == wormName)) { input = Console.ReadLine(); continue; } if (!WormsWorldParty[teamName].Any(x => x.Name == wormName)) { WormsWorldParty[teamName].Add(new Worm { Name = wormName, Score = wormScore }); } input = Console.ReadLine(); } Console.WriteLine(); WormsWorldParty = WormsWorldParty.OrderByDescending(x => x.Value.Sum(s => s.Score)) .ThenByDescending(x => x.Value.Sum(y => y.Score) / x.Value.Count()) .ToDictionary(x => x.Key, x => x.Value); var counter = 1; foreach (var entry in WormsWorldParty) { Console.WriteLine($"{counter}. {entry.Key} - {entry.Value.Sum(x => x.Score)}"); foreach (var score in entry.Value) { Console.WriteLine($"###{score.Name} : {score.Score}"); } counter++; } }
// Use this for initialization public void init(Worm owner) { this.owner = owner; transform.parent = owner.transform; transform.localPosition = new Vector3(0, 0, 0); mat = GetComponent <Renderer>().material; mat.shader = Shader.Find("Sprites/Default"); mat.mainTexture = Resources.Load <Texture2D>("Textures/Worm"); mat.color = new Color(1, 1, 1); mat.renderQueue = RenderCoordinator.ANIMAL_RQ; }
public void MeasurementReceived(BotEngine.Interface.FromProcessMeasurement <IMemoryMeasurement> measurement) { InputSimulator sim = new InputSimulator(); var overview = measurement?.Value.WindowOverview.FirstOrDefault(); var entry = overview.ListView.Entry.First(x => Regex.IsMatch(x.LabelText.ElementAt(2).Text, @"Wormhole [A-Z]")); string toSearch = entry.LabelText.ElementAt(2).Text.Split(' ')[1]; string Hole = (toSearch.Contains("K162")) ? "UNK" : Worm.GetHole(toSearch); var scanResults = measurement?.Value.WindowProbeScanner.First().ScanResultView.Entry.FirstOrDefault(); string scanID = scanResults?.LabelText.ElementAt(1).Text.Substring(0, 3); if (Regex.IsMatch(Hole, @"Barbican|Conflux|Redoubt|Sentinel|Vidette")) { scanID = "Drifter"; } ClipString = string.Format(ClipString, scanID, Hole); bool isEol = false; if (Hole.Contains("UNK")) { var motor = new WindowMotor(EveMainWindow.Value); ShowInfo(overview.ListView.Entry.First(x => Regex.IsMatch(x.LabelText.ElementAt(2).Text, @"Wormhole [A-Z]")), measurement); //ShowInfo(overview.ListView.Entry.FirstOrDefault(x => x.LabelText.ElementAt(2).Text.Contains("Wormhole")),measurement); Sanderling.Interface.FromInterfaceResponse response = null; do { response = sensor?.MeasurementTakeNewRequest(EveClientId.Value); } while (null == response); var InfoWindow = response.MemoryMeasurement?.Value.WindowOther.First(x => x.Caption.Contains("formation")); SelectAndCopy(sim, InfoWindow); ClipString = string.Format(ClipString, scanID, Hole);//, Extensions.Julian4()); bool isEOL = false; var results = Classify(ClipString, out isEOL); string Name = (string.IsNullOrEmpty(results)) ? ClipString : results; Name += ((isEOL) ? " eol" + Extensions.Julian4() : Extensions.Julian4()); BookmarkByOverview(Name); ///// Use this as a way of saying my program is done reset the ///// ScanHelper program foreground //Thread.Sleep(50); //SetForegroundWindow(new System.Windows.Interop.WindowInteropHelper(App.Current.MainWindow).Handle); // App.Current.MainWindow.Close(); } BookmarkByOverview(ClipString + Extensions.Julian4()); }
public void HatchEgg_Ok(double[] wormWeights, ChickenType chieckenType, int epxectedEggCount) { var chic = _hatchery.Create(chieckenType); var worms = new List <Worm>(); foreach (var weight in wormWeights) { var worm = new Worm(weight); worms.Add(worm); } var eggs = chic.LayEggs(worms); eggs.Should().NotContainNulls() .And.HaveCount(epxectedEggCount); }
public void SpawnWorms() { MainWorm = FindMainWorm(); GameObject mainWorm; mainWorm = Instantiate(Resources.Load("Worm") as GameObject, nodePositions[MainWorm.HeadIndex], new Quaternion()); mainWorm.GetComponent <WormController>()._mapCreator = this.gameObject.GetComponent <MapCreator>(); mainWorm.GetComponent <WormController>().BodyInit(MainWorm.Nodes.Length - 2, GetWormBodyPositions(MainWorm.Nodes)); //GameObject wormBody = Instantiate(Resources.Load("WormBody") as GameObject, // new Vector3(mainWorm.transform.position.x, mainWorm.transform.position.y, // mainWorm.transform.position.z), new Quaternion()); //wormBody.transform.parent = mainWorm.transform; }
private IEnumerable <Worm> GetOpponentWormsWithoutObstacles(IEnumerable <Worm> opponentWorms, Worm activeWorm) { var map = gameState.Map; var wormsWithoutObstaclesInRange = new List <Worm>(); foreach (var worm in opponentWorms) { var x = worm.Position.X; var y = worm.Position.Y; while (x != activeWorm.Position.X || y != activeWorm.Position.Y) { if (x > activeWorm.Position.X) { x -= 1; } else if (x < activeWorm.Position.X) { x += 1; } if (y > activeWorm.Position.Y) { y -= 1; } else if (y < activeWorm.Position.Y) { y += 1; } var cellType = map[y][x].Type; if (cellType == CellType.DIRT || cellType == CellType.DEEP_SPACE) { break; } } if (x == activeWorm.Position.X && y == activeWorm.Position.Y) { wormsWithoutObstaclesInRange.Add(worm); } } return(wormsWithoutObstaclesInRange); }
public Worm CreateWorm(Vector3 pos, bool lookUp, int playerNum, int teamNum, Color color, Texture2D tex) { Quaternion spawnRot = lookUp ? Quaternion.identity : Quaternion.Euler(0.0f, 0.0f, 180.0f); GameObject wormObj = WadeUtils.Instantiate(wormPrefab, pos, spawnRot); worms.Add(wormObj); Worm worm = wormObj.GetComponentInChildren <Worm>(); worm.playerNum = playerNum; worm.teamNum = teamNum; worm.GetComponent <Renderer>().material.SetTexture("_MainTex", tex); worm.GetComponent <Renderer>().material.SetColor("_MainTint", color); return(worm); }
public static void Main(string[] args) { Worm First = new Worm(numberOfParts: 30, pos: Coordinates(_max(Console.WindowWidth / 2, 30), Console.WindowHeight / 2), direction: Dir); Console.CursorVisible = false; Thread inputThread = new Thread(new ThreadStart(Input)); inputThread.Start(); First.Show(); while (true) { First.Move(direction: Dir); Thread.Sleep(100); } }
void Update() { for (int i = 0; i < NumWorms; i++) { Worm w = worms[i]; w.TubeRenderer.material.color = new Color(currentFade * 0.6f, currentFade * 0.6f, currentFade * 0.6f, currentFade); updateWorm(w); } float beat = 1f; if (beatsFFT) { beat = 20f * beatsFFT.scaledAvgFreq; } fadeInOut(); CentreObj.transform.localScale = Vector3.ClampMagnitude( new Vector3(2f + beat, 2f + beat, 2f + beat) * currentFade, 6f); CentreObj.GetComponentInChildren <Light>().intensity = beat; }
static void Main(string[] args) { Prototype prototype = null; Prototype bud = null; prototype = new Worm("Worm"); bud = prototype.Clone(); Console.WriteLine(bud.Name); prototype = new CaseWorm("CaseWorm"); bud = prototype.Clone(); Console.WriteLine(bud.Name); prototype = new Butterfly("Butterfly"); bud = prototype.Clone(); Console.WriteLine(bud.Name); Console.ReadKey(); }
public void Shoot(Worm worm, Vector2 target, Transform indicator) { this.target = target; this.worm = worm; this.indicator = indicator; rb = GetComponent <Rigidbody2D>(); collider = GetComponent <CircleCollider2D>(); collider.enabled = false; rb.AddForce(GetInitVelocity(), ForceMode2D.Impulse); if (target.x - transform.position.x < 0) { GetComponent <SpriteRenderer>().flipX = true; } indicator.localScale = new Vector2(0.1f, 0.1f); }
private ICommand GetRandomCommand(Worm currentActiveWorm) { ICommand command; var random = new Random(); var validCells = GetValidAdjacentCells(currentActiveWorm); if (!validCells.Any()) { return(new DoNothingCommand()); } var randomCell = validCells[random.Next(0, validCells.Length)]; var randomCellPosition = new MapPosition() { X = randomCell.X, Y = randomCell.Y }; switch (randomCell.Type) { case CellType.AIR: command = new MoveCommand() { MapPosition = randomCellPosition }; break; case CellType.DIRT: command = new DigCommand() { MapPosition = randomCellPosition }; break; default: command = new DoNothingCommand(); break; } return(command); }
static void GameStart() { AutoSetting(); Direction dir = Direction.Right; ConsoleKeyInfo cki = new ConsoleKeyInfo(); Worm worm = new Worm(WormLen, (byte)((Conf.FieldWidth - WormLen) / 2), (byte)(Conf.FieldHeight / 2)); Food food = new Food(Conf.FieldHeight, Conf.FieldWidth); food.GenerateNewPos(ref worm); PrintWorm(worm); PrintFood(food.Element); while (true) { if (Console.KeyAvailable == true) { cki = Console.ReadKey(true); KeyToDir(cki.Key, ref dir); } if (!worm.Go(dir, ref food)) { Console.Clear(); Console.WriteLine("The end"); Console.ReadLine(); return; } if ((worm[0].X == food.Element.X) && (worm[0].Y == food.Element.Y)) { if (!food.GenerateNewPos(ref worm)) { Console.Clear(); Console.WriteLine("You win"); Console.ReadLine(); return; } PrintFood(food.Element); } PrintAction(worm[0], worm.DeletedElement); Thread.Sleep(200); } }
/// <summary> /// Call this to release a worm /// </summary> public void SpawnWorm() { GameObject objCloned = AcquireClone(); Worm objWorm = objCloned.GetComponent <Worm>(); //removes the object clone from the parent area objCloned.transform.position = new Vector3 ( GetWormPositionBaseOnCamera().x, GetWormPositionBaseOnCamera().y, 0f ); objCloned.transform.rotation = Quaternion.identity; //initialize worm from the script objWorm.InitializeWorm(); //add this worm to this pooler if (!listOfReleasedWorms.Contains(objWorm)) { listOfReleasedWorms.Add(objWorm); } }
private string GetShootDirection(Worm targetWorm, Worm currentActiveWorm) { var directionString = ""; if (targetWorm.Position.Y > currentActiveWorm.Position.Y) { directionString += "S"; } else if (targetWorm.Position.Y < currentActiveWorm.Position.Y) { directionString += "N"; } if (targetWorm.Position.X > currentActiveWorm.Position.X) { directionString += "E"; } else if (targetWorm.Position.X < currentActiveWorm.Position.X) { directionString += "W"; } return(directionString); }
void OnCollisionEnter2D(Collision2D col) { if (clashTimer > clashTime) { Worm worm = col.collider.GetComponent <Worm>(); if (worm && col.collider is PolygonCollider2D) { GameObject clashEffectObj = EffectsManager.instance.PlayEffect(EffectType.Clash, transform.position + transform.up, transform.rotation, 2f); float emissionRate = (GetComponent <Rigidbody2D>().velocity.sqrMagnitude + worm.GetComponent <Rigidbody2D>().velocity.sqrMagnitude) / 2f; clashEffectObj.GetComponent <ParticleSystem>().emissionRate = clashMinParticle + emissionRate * clashParticleStrength; AudioSource clashAudio = SoundManager.instance.Play2DSong("Clash", 1f); clashAudio.pitch = Random.Range(0.9f, 1.1f); clashAudio.volume = Random.Range(0.9f, 1f); worm.clashTimer = 0f; clashTimer = 0f; } } }
public void Hit(Worm w) { if (ragdoll) { return; } var _blood = Instantiate <GameObject>(bloodPrefab); _blood.transform.localScale *= (Random.value - 0.5f) + 1; _blood.transform.position = transform.position; var wp = w.transform.position; rb.velocity = (3 * w.rb.velocity.magnitude) * Vector3.Lerp((transform.position - wp).normalized, or.normal.Value, 0.5f); ySpeed = 0; ragdoll = true; rb_e = transform.FindChild("EnemyHead").GetComponent <Rigidbody>(); transform.FindChild("EnemyHead").GetComponent <SphereCollider>().enabled = true; transform.FindChild("EnemyHead").SetParent(null); rb_e.isKinematic = false; rb_e.velocity = (3 * w.rb.velocity.magnitude) * Vector3.Lerp((rb_e.transform.position - wp).normalized, or.normal.Value, 0.5f); }
void Start() { _mainWorm = _mapCreator.MainWorm; }
private void Start() { _worm = FindObjectOfType <Worm>(); _slider = FindObjectOfType <Slider>(); _gameState = FindObjectOfType <GameState>(); }
private void Start() { CurrentWorm = Instantiate(WormPrefab, SpawnPoint); }
private void Start() { _potato = FindObjectOfType <Potato>(); _worm = FindObjectOfType <Worm>(); _dropParent = new GameObject("Drops").transform; }
public void WormDead() { CurrentWorm.Dead(); CurrentWorm = Instantiate(WormPrefab, SpawnPoint); }
private static async Task GiveHairyAndCurlyFriendsAndWeapons(Guid appleId) { using var localScope = ServiceProvider.CreateScope(); var context = localScope.ServiceProvider.GetService <ApplicationDbContext>(); var worms = await context.Apples .Where(a => a.Id == appleId) .SelectMany(a => a.Worms) .Include(worm => worm.Weapons) .Include(worm => worm.FriendshipsA) .ThenInclude(friendship => friendship.WormB) .ToListAsync(); var curly = worms.Single(worm => worm.Name == "Curly"); var hairy = worms.Single(worm => worm.Name == "Hairy"); hairy.Weapons.Add(new WormWeapon { Name = "Super Banana Bomb" }); hairy.Weapons.Add(new WormWeapon { Name = "Holy Hand Grenade" }); var joan = new Worm { Name = "Joan", Apple = new Apple { FruitStatus = FruitStatus.Unripe } }; joan.Weapons.Add(new WormWeapon { Name = "Dodgy Phone Battery" }); joan.Weapons.Add(new WormWeapon { Name = "Angry Concrete Donkey" }); hairy.FriendshipsA.AddRange(new[] { new WormFriendship { WormA = hairy, WormB = curly }, new WormFriendship { WormA = hairy, WormB = joan }, new WormFriendship { WormA = hairy, WormB = new Worm { Name = "Starr", Apple = new Apple { FruitStatus = FruitStatus.Fuzzy } } } }); var moe = worms.Single(worm => worm.Name == "Moe"); moe.Weapons.First().Name = "Bazooka Pie"; moe.FriendshipsA.RemoveAll(friendship => friendship.WormB.Name == "Ringo"); await context.SaveChangesAsync(); }
private void Start() { parent = transform.parent.GetComponent <Worm>(); }
private void InitializeEvents() { Events.ServerPlayerHello += e => { MyIdentity = e; ShowMessage("Howdy, " + e.name); }; Action <int, string> CreateRemoteEgo = (user, name) => { // could use event instead // dictonary.valueset += CoPlayerNames[user] = name; // create remote ego RemoteEgos[user] = new Worm { Color = 0xff, Canvas = Map.Canvas, Wrapper = Map.Wrapper, Location = new Point(), ThisNetworkInstanceCannotEat = true }.AddTo(Map.Worms).Grow(); //ShowMessage("remote worm created - " + Map.Worms.Count); }; Events.ServerPlayerJoined += e => { CreateRemoteEgo(e.user, e.name); ShowMessage("Player joined - " + e.name); Messages.PlayerAdvertise(MyIdentity.name); Messages.TeleportTo((int)Map.Ego.Location.x, (int)Map.Ego.Location.y); for (int i = 1; i < Map.Ego.Parts.Count; i++) { // there is no apple, but we just need to gain in size Messages.EatApple((int)Map.Ego.Location.x, (int)Map.Ego.Location.y); } }; #region ServerPlayerLeft Events.ServerPlayerLeft += e => { if (CoPlayerNames.ContainsKey(e.user)) { CoPlayerNames.Remove(e.user); } if (Cursors.ContainsKey(e.user)) { Cursors[e.user].Orphanize(); Cursors.Remove(e.user); } if (RemoteEgos.ContainsKey(e.user)) { var w = RemoteEgos[e.user]; while (w.Parts.Count > 0) { w.Shrink(); } Map.Worms.Remove(w); RemoteEgos.Remove(e.user); } ShowMessage("Player left - " + e.name); }; #endregion Events.UserPlayerAdvertise += e => { if (CoPlayerNames.ContainsKey(e.user)) { return; } CreateRemoteEgo(e.user, e.name); // ShowMessage("Player already here - " + e.name); }; #region MouseMove Events.UserMouseMove += e => { var s = default(ShapeWithMovement); if (Cursors.ContainsKey(e.user)) { s = Cursors[e.user]; } else { s = new ShapeWithMovement { filters = new[] { new DropShadowFilter() }, alpha = 0.5 }; var g = s.graphics; g.beginFill((uint)e.color); g.moveTo(0, 0); g.lineTo(14, 14); g.lineTo(0, 20); g.lineTo(0, 0); g.endFill(); Cursors[e.user] = s; }; s.AttachTo(this).MoveTo(e.x, e.y); }; Events.UserMouseOut += e => { if (Cursors.ContainsKey(e.color)) { Cursors[e.color].Orphanize(); } }; #endregion Events.UserVectorChanged += e => { if (RemoteEgos.ContainsKey(e.user)) { RemoteEgos[e.user].Vector = new Point(e.x, e.y); } }; Events.ServerSendMap += e => { OnServerSendMap(); }; Events.UserLevelHasEnded += e => { // update rankings OnLevelHasEnded(); }; Events.UserSendMap += e => { // we got a new map, do we need it? foreach (var v in Map.Apples) { v.Control.Orphanize(); } Map.Apples.Clear(); // now add apples as the new map says var integers_as_bytes = e.buttons.Select(i => (byte)i).ToArray(); var m = new MemoryStream(integers_as_bytes); var AppleCount = m.ReadByte(); for (int i = 0; i < AppleCount; i++) { new Apple { Wrapper = Map.Wrapper, Location = new Point(m.ReadByte(), m.ReadByte()) }.AddTo(Map.Apples).AttachTo(Map.Canvas); } //ShowMessage("got map: " + integers_as_bytes.Length); }; Events.UserTeleportTo += e => { //ShowMessage(new { teleport = e.user, e.x, e.y }.ToString()); if (RemoteEgos.ContainsKey(e.user)) { var w = RemoteEgos[e.user]; w.Color = 0xff; w.IsAlive = true; w.Location = new Point(e.x, e.y); w.Grow(); w.Shrink(); } }; Events.UserEatApple += e => { if (RemoteEgos.ContainsKey(e.user)) { var w = RemoteEgos[e.user]; w.Grow(); foreach (var v in from i in Map.Apples where i.Location.IsEqual(new Point(e.x, e.y)) select i) { v.Control.Orphanize(); Map.Apples.Remove(v); Sounds.sound20.ToSoundAsset().play(); } } }; #region EatThisWorm Events.UserEatThisWormBegin += e => { if (!RemoteEgos.ContainsKey(e.user)) { return; } var user = RemoteEgos[e.user]; if (!AllEgos.Any(i => i.Key == e.food)) { return; } var food = AllEgos.Single(i => i.Key == e.food).Value; food.WormWhoIsGoingToEatMe = user; food.Color = 0x8f8f8f; // whatif async end never comes? }; Events.UserEatThisWormEnd += e => { if (!RemoteEgos.ContainsKey(e.user)) { return; } var user = RemoteEgos[e.user]; if (!AllEgos.Any(i => i.Key == e.food)) { return; } var food = AllEgos.Single(i => i.Key == e.food).Value; food.IsAlive = false; // do the eating while (food.Parts.Count > 1) { food.Shrink(); user.Grow(); } food.WormWhoIsGoingToEatMe = null; if (food == Map.Ego) { // we now decide how long must we be dead DeathDelay.AtDelayDo( delegate { food.IsAlive = true; food.Color = 0x00ff00; Messages.TeleportTo((int)Map.Ego.Location.x, (int)Map.Ego.Location.y); } ); } }; #endregion }
private void button2_Click(object sender, EventArgs e) { Worm worm = new Worm(); TorjanHorse Th = new TorjanHorse(); Spyware spy = new Spyware(); worm.NextEngine(Th); Th.NextEngine(spy); string[] files = Directory.GetFiles(tSRC.Text, "*.txt"); foreach (string file in files) { using (StreamReader sr = new StreamReader(file)) { Input p = new Input(file, sr.ReadLine()); if (p != null) worm.Process(p); } } listBox1.DataSource = null; listBox1.DataSource = Chain.lst; //Chain.lst.Clear(); }