示例#1
0
    private void MatcheeClientTraits(Shark s)
    {
        GameObject tempTraitImage;

        s.desiredTraits.Clear();
        //int randomTraitCount = Random.Range(3, 6);

        //Give sharks random traits
        for (int i = 0; i < randomTraitCount; i++)
        {
            Trait randomTrait = gameTraits[Random.Range(0, gameTraits.Count)];
            while (s.desiredTraits.Contains(randomTrait))
            {
                randomTrait = gameTraits[Random.Range(0, gameTraits.Count)];
            }

            s.desiredTraits.Add(randomTrait);
        }
        s.desiredTraits.Remove(null);

        //Setup Matchee Traits Panel
        for (int i = 0; i < s.desiredTraits.Count; i++)
        {
            tempTraitImage = Instantiate(traitImage, matcheeTraits.transform);
            tempTraitImage.GetComponent <Image>().sprite = s.desiredTraits[i].traitSprite;
        }

        matcheeTraitList = s.desiredTraits;
    }
示例#2
0
    public void RandomObstacle(Window _GameWindow)
    {
        double rand = SplashKit.Rnd();

        if (rand < 0.2)
        {
            Obstacle newObstacle = new Shark(_GameWindow, _Player);
            _Obstacles.Add(newObstacle);
        }
        else if (rand < 0.4)
        {
            Obstacle newObstacle = new Turtle(_GameWindow, _Player);
            _Obstacles.Add(newObstacle);
        }
        else if (rand < 0.6)
        {
            Obstacle newObstacle = new BodyBoard(_GameWindow, _Player);

            _Obstacles.Add(newObstacle);
        }
        else
        {
            Obstacle newObstacle = new Waste(_GameWindow, _Player);

            _Obstacles.Add(newObstacle);
        }
    }
示例#3
0
    /// <summary>
    /// Possibly adds an animal at a grid position, by reading a given symbol.
    /// If the symbol does not represent an animal, then nothnig happens.
    /// </summary>
    /// <param name="x">The x-coordinate of the tile.</param>
    /// <param name="y">The y-coordinate of the tile.</param>
    /// <param name="symbol">The symbol to read.</param>
    void AddAnimal(int x, int y, char symbol)
    {
        Animal result = null;

        // a shark?
        if (symbol == '@')
        {
            result = new Shark(this, new Point(x, y));
        }

        // a penguin or seal, possibly inside a hole?
        if (result == null)
        {
            int animalIndex = GetAnimalIndex(symbol);
            if (animalIndex < 0)
            {
                animalIndex = GetAnimalInHoleIndex(symbol);
            }

            if (animalIndex >= 0)
            {
                result = new MovableAnimal(this, new Point(x, y), animalIndex);
            }
        }
    }
        public void TestGetDangerousAnimals()
        {
            var   expected   = 1;
            var   repository = new Repository <AnimalInfo>();
            Shark shark      = new Shark()
            {
                Name = "The great White Shark", IsDangerous = true
            };
            Tarantula tarantula = new Tarantula()
            {
                Name = "Rose hair tarantula"
            };

            var tarantulaInfo = new AnimalInfo(tarantula);

            tarantulaInfo.Image = "Some base64 tarantula image";
            var sharkInfo = new AnimalInfo(shark);

            sharkInfo.Image = "Some base64 of great white shark image";

            repository.Insert(sharkInfo);
            repository.Insert(tarantulaInfo);

            var actual = repository.GetDangerous().Count;

            Assert.AreEqual(expected, actual);
        }
示例#5
0
 protected void SetUp()
 {
     _horse = new Horse(1, "American");
     _shark = new Shark(2, "Great White");
     _human = new Human(3, "Jason");
     _robot = new Robot(4, "R2D2");
 }
示例#6
0
 static public void Postfix(Shark __instance)
 {
     if (__instance.state == SharkState.AttackPlayer && SharkSpy.isWearingHat)
     {
         __instance.ChangeState(SharkState.PassiveSurface);
     }
 }
示例#7
0
 static void Main(string[] args)
 {
     Animal newGuy   = new Animal("unknow", 0);
     Fish   newFish  = new Fish("fish", 1);
     Shark  newShark = new Shark("shark", 2);
     Bird   newBird  = new Bird("bird", 1);
     Eagle  newEagle = new Eagle("eagle", 2);
 }
示例#8
0
        public void CheckSharkRespondToDanger()
        {
            Shark shark = new Shark();

            string sharkResponse = shark.RespondToDanger();

            Assert.Equal("Gnaw gnaw gnaw", sharkResponse);
        }
示例#9
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        Time.timeScale = 0;
        Shark shark = collision.GetComponent <Shark>();

        winnerName = shark.playerData.name;
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
示例#10
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        Shark s = other.gameObject.GetComponent <Shark>();

        if (s != null)
        {
            Destroy(other.gameObject);
        }
    }
示例#11
0
        public override async Task <bool> ProcessSharkData(BlockData block)
        {
            if (block.Type == BlockType.CONNECTED)
            {
                if (_request.IsConnect)
                {
                    var resp = new HttpProxyResponse
                    {
                        Status = HttpProxyStatus.CONNECTION_ESTABLISHED
                    };

                    var respData = Encoding.ASCII.GetBytes(resp.ToString());
                    await WriteAsync(respData);
                    await FlushAsync();
                }
                else
                {
                    var headerBlock = new BlockData()
                    {
                        Id = Id, BlockNumber = 0, Type = BlockType.DATA
                    };
                    headerBlock.Data = _request.GenerateHttpHeader();
                    Shark.EncryptBlock(ref headerBlock);
                    await Shark.WriteBlock(headerBlock);
                }

                Logger.LogInformation($"{_request.HostData} connected, {Id}");

#pragma warning disable CS4014
                ProcessData(_request.IsConnect ? 0 : 1);
#pragma warning restore CS4014
            }
            else if (block.Type == BlockType.CONNECT_FAILED)
            {
                var resp = new HttpProxyResponse
                {
                    Status = HttpProxyStatus.BAD_GATEWAY
                };
                var respData = Encoding.ASCII.GetBytes(resp.ToString());

                await WriteAsync(respData);
                await FlushAsync();

                _pipe.Reader.Complete();

                Logger.LogWarning($"Connect to {_request.HostData} failed, {Id}");

                return(false);
            }
            else if (block.Type == BlockType.DATA)
            {
                await WriteAsync(block.Data);
                await FlushAsync();
            }

            return(!_httpFailed);
        }
示例#12
0
 void Start()
 {
     clone = Instantiate(playerSpawn, transform.position, transform.rotation);
     if (!reversed)
     {
         clone.transform.Rotate(0, 0, 180);
     }
     shark = clone.GetComponent <Shark>();
 }
示例#13
0
        private Task StartUdpRelay()
        {
            return(Task.Factory.StartNew(async() =>
            {
                try
                {
                    int dataNumber = 0;
                    while (true)
                    {
                        var readTask = _udp.ReceiveAsync();
                        var complete = await Task.WhenAny(readTask, Task.Delay(TimeSpan.FromSeconds(30)));

                        if (complete != readTask)
                        {
                            Logger.LogWarning("Udp relay receive timeout, {0}", Id);
                            break;
                        }

                        var readed = readTask.Result;
                        var remote = readed.RemoteEndPoint;
                        if (readed.Buffer.Length == 0)
                        {
                            break;
                        }
                        var requset = Socks5UdpRelayRequest.Parse(readed.Buffer);
                        if (requset.Fraged)
                        {
                            // drop fraged datas
                            continue;
                        }

                        // TODO: address check!
                        if (_target.Port != 0 && remote.Port != _target.Port)
                        {
                            // drop not matched source datas by port
                            continue;
                        }

                        _lastEndpoint = remote;
                        var block = new BlockData()
                        {
                            Id = Id, BlockNumber = dataNumber++, Type = BlockType.DATA
                        };
                        block.Data = requset.Data.ToBytes();
                        Shark.EncryptBlock(ref block);
                        await Shark.WriteBlock(block);
                    }
                }
                catch (Exception e)
                {
                    Logger.LogError(e, "Socks udp relay errored");
                }
                CloseConnetion();
                _socksFailed = true;
            }).Unwrap());
        }
示例#14
0
    protected override void OnPickup(Shark shark)
    {
        if (shark.GetComponentInChildren <Boost>())
        {
            Destroy(gameObject);
            return;
        }

        Instantiate(boost, shark.transform);
    }
示例#15
0
    public virtual void Drop()
    {
        dropped = true;
        shark   = null;
        var newDrop = Instantiate(dropHandler, transform.position, transform.rotation, transform).GetComponent <DropHandler>();

        transform.SetParent(transform.parent.parent);
        GetComponent <Rigidbody2D>().isKinematic = false;
        GetComponent <Collider2D>().enabled      = true;
    }
 public override float AddSingleResult(ManifoldPoint cp, CollisionObjectWrapper colObj0Wrap, int partId0, int index0, CollisionObjectWrapper colObj1Wrap, int partId1, int index1)
 {
     if (Shark.CharacterOnSight)
     {
         CharacterStatus.DamageReceived = Constants.DAMAGE_TO_CHARACTER;
         Shark.ChangeSharkWay();
         SoundManager.SharkAttack.play();
     }
     return(0);
 }
示例#17
0
 // Use this for initialization
 void Awake()
 {
     if (m_instance != null)
     {
         Destroy(gameObject);
         return;
     }
     registrarMensajes();
     m_instance = this;
 }
示例#18
0
        public void CanOverrideMethods()
        {
            Salmon testSalmon = new Salmon();
            Eel    testEel    = new Eel();
            Shark  testShark  = new Shark();

            Assert.Equal("yummy", testSalmon.Sushify());
            Assert.Equal("yummy", testEel.Sushify());
            Assert.Equal("yucky", testShark.Sushify());
        }
示例#19
0
        public void CanReturnSmellBlood()
        {
            // Arrange
            Shark shark = new Shark("Sharknado");
            // Act
            bool returnFromMethod = shark.SmellBlood();

            // Assert
            Assert.True(returnFromMethod);
        }
示例#20
0
    private void GetRandomShark()
    {
        Debug.Log("UsedSharks Capacity: " + usedSharks.Capacity);
        Shark randomShark = sharks[Random.Range(0, sharks.Count)];

        while (usedSharks.Contains(randomShark))
        {
            randomShark = sharks[Random.Range(0, sharks.Count)];
        }
        usedSharks.Add(randomShark);
    }
示例#21
0
        public void Serializer_serializes_TwoWay_bindable_type_that_embeds_a_TwoWay_bindable_type_using_specified_serializer()
        {
            var tuna  = new Tuna(SeaCreatureSize.Medium, "black");
            var shark = new Shark("sammy", tuna);

            var expectedSharkJson = "{\r\n  \"name\": \"sammy\",\r\n  \"likesToEat\": {\r\n    \"color\": \"black\",\r\n    \"size\": \"medium\",\r\n    \"$concreteType\": \"Spritely.Recipes.Test.JsonConfigurationTest+Tuna, Spritely.Recipes.Test\"\r\n  },\r\n  \"$concreteType\": \"Spritely.Recipes.Test.JsonConfigurationTest+Shark, Spritely.Recipes.Test\"\r\n}";

            var actualSharkJson = JsonConvert.SerializeObject(shark, JsonConfiguration.DefaultSerializerSettings);

            Assert.That(expectedSharkJson, Is.EqualTo(actualSharkJson));
        }
示例#22
0
        public static void Serializer_serializes_TwoWay_bindable_type_that_embeds_a_TwoWay_bindable_type_using_specified_serializer()
        {
            var tuna  = new Tuna(SeaCreatureSize.Medium, "black");
            var shark = new Shark("sammy", tuna);

            var expectedSharkJson = "{\r\n  \"name\": \"sammy\",\r\n  \"likesToEat\": {\r\n    \"color\": \"black\",\r\n    \"size\": \"medium\",\r\n    \"$concreteType\": \"Naos.Serialization.Test.JsonConfigurationTest+Tuna, Naos.Serialization.Test\"\r\n  },\r\n  \"$concreteType\": \"Naos.Serialization.Test.JsonConfigurationTest+Shark, Naos.Serialization.Test\"\r\n}";

            var actualSharkJson = new NaosJsonSerializer(typeof(GenericDiscoveryJsonConfiguration <SeaCreature>)).SerializeToString(shark);

            actualSharkJson.Should().Be(expectedSharkJson);
        }
示例#23
0
 static void Postfix(Shark __instance) // Saved state
 {
     if (__instance.state == SharkState.AttackRaft)
     {
         bool attackingRaft = __instance.targetBlock != null && !(__instance.targetBlock is SharkBait);
         if (attackingRaft && EarlsMod.settings.disableSharkBitingRaft)
         {
             __instance.ChangeState(SharkState.PassiveWater);
         }
     }
 }
示例#24
0
        public void CheckSharkMakesSound()
        {
            //Arrange
            Shark shark = new Shark();

            //Act
            string sharkNoise = shark.MakeSound();

            //Test
            Assert.Equal("Dun Dun Dun Dun DUN DUN", sharkNoise);
        }
示例#25
0
        public void FishCanReturnIsSwimming()
        {
            // Arrange
            Shark  shark    = new Shark("Sharknado");
            string expected = $"{shark.Name} is swimming so far!";
            // Act
            string returnFromMethod = shark.IsSwimming();

            // Assert
            Assert.Equal(expected, returnFromMethod);
        }
示例#26
0
        public async Task <IActionResult> Create([Bind("ID,AmountOfTeeth,NeedSaltWater,SkinColor,Name,Gender,DateOfBirth,Weight")] Shark shark)
        {
            if (ModelState.IsValid)
            {
                _context.Add(shark);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }
            return(View(shark));
        }
示例#27
0
        public void CanReturnSharkFreshOrSalt()
        {
            // Arrange
            Shark  shark    = new Shark("Sharknado");
            string expected = "I am a salt water fish!";
            // Act
            string returnFromMethod = shark.FreshOrSalt();

            // Assert
            Assert.Equal(expected, returnFromMethod);
        }
示例#28
0
        public void CanReturnSharkFormOfProcreation()
        {
            // Arrange
            Shark  shark    = new Shark("Sharknado");
            string expected = "Lays one egg that hatches inside the mother.";
            // Act
            string returnFromMethod = shark.FormOfProcreation();

            // Assert
            Assert.Equal(expected, returnFromMethod);
        }
示例#29
0
        public static void Serializer_serializes_TwoWay_bindable_type_that_embeds_a_TwoWay_bindable_type_using_specified_serializer()
        {
            var tuna  = new Tuna(SeaCreatureSize.Medium, "black");
            var shark = new Shark("sammy", tuna);

            var expectedSharkJson = Invariant($"{{\r\n  \"name\": \"sammy\",\r\n  \"likesToEat\": {{\r\n    \"color\": \"black\",\r\n    \"size\": \"medium\",\r\n    \"$concreteType\": \"OBeautifulCode.Serialization.Json.Test.JsonSerializationConfigurationTest+Tuna, OBeautifulCode.Serialization.Json.Test\"\r\n  }},\r\n  \"$concreteType\": \"OBeautifulCode.Serialization.Json.Test.JsonSerializationConfigurationTest+Shark, OBeautifulCode.Serialization.Json.Test\"\r\n}}");

            var actualSharkJson = new ObcJsonSerializer(typeof(SeaCreatureJsonSerializationConfiguration).ToJsonSerializationConfigurationType()).SerializeToString(shark);

            actualSharkJson.Should().Be(expectedSharkJson);
        }
示例#30
0
    private void SelectedClientTraits()
    {
        //Setup selected Client Traits
        GameObject tempTraitImage;
        Shark      selectedShark = GameManager.main.selectedClient;

        for (int i = 0; i < selectedShark.desiredTraits.Count; i++)
        {
            tempTraitImage = Instantiate(traitImage, clientTraitsPanel.transform);
            tempTraitImage.GetComponent <Image>().sprite = selectedShark.desiredTraits[i].traitSprite;
        }
    }
示例#31
0
 // Use this for initialization
 void Start()
 {
     mySprite = GetComponent<OTAnimatingSprite>();
     shark = this.gameObject.GetComponent<Shark>();
 }