void Start()
    {
        char1 = PlayerPrefs.GetInt("wandererSelect");
        char2 = PlayerPrefs.GetInt("archerSelect");
        char3 = PlayerPrefs.GetInt("unknownSoldierSelect");

        if (char1 == 1)
        {
            wanderer.SetActive(true);
            archer.SetActive(false);
            unknownSoldier.SetActive(false);
        }
        else if (char2 == 1)
        {
            archer.SetActive(true);
            wanderer.SetActive(false);
            unknownSoldier.SetActive(false);
        }
        else if (char3 == 1)
        {
            unknownSoldier.SetActive(true);
            wanderer.SetActive(false);
            archer.SetActive(false);
        }

        spawner        = Spawner.GetComponent <spawn>();
        wan            = wanderer.GetComponent <Wanderer>();
        arc            = archer.GetComponent <Archer>();
        us             = unknownSoldier.GetComponent <UnknownSoldier>();
        Time.timeScale = 1;
    }
Exemplo n.º 2
0
        private INonPlayerCharacter DeckCrew()
        {
            INonPlayerCharacter npc = new NonPlayerCharacter();

            npc.Id = npcId++;
            npc.KeyWords.Add("crew");
            npc.KeyWords.Add("deckhand");
            npc.KeyWords.Add("member");
            npc.Level = 20;
            npc.ExamineDescription = "He looks like your average sailer, dressed in slightly raged clothing and well tanned from his time at sea.";
            npc.LongDescription    = "This crew member run back and forth trying put out fires and throw spears at the dragons as they attack.";
            npc.ShortDescription   = "A crew member.";

            IWanderer wanderer = new Wanderer();

            wanderer.NavigableRooms.Add(new RoomId(1, 4));
            wanderer.NavigableRooms.Add(new RoomId(1, 5));
            wanderer.NavigableRooms.Add(new RoomId(1, 6));
            npc.Personalities.Add(wanderer);

            Speaker speaker = new Speaker();

            speaker.SpeakPercent = 1;
            speaker.ThingsToSay.Add("Quick matey, get a bucket to that fire.");
            speaker.ThingsToSay.Add("Here comes the red dragon!  Spears to the ready.");
            speaker.ThingsToSay.Add("Here comes the black dragon!  Hit it in they mouth when it attacks.");
            speaker.ThingsToSay.Add("Get the passengers to the life boats.");

            return(npc);
        }
Exemplo n.º 3
0
    public AmIInBush(IDecision _trueBranch, IDecision _falseBranch, Wanderer wanderer)                    // use radius
    {
        float minDistance = Mathf.Infinity;                                                               // setup distance
        float newDist;                                                                                    // challenger distance

        for (int i = 0; i < wanderer.bush.Count; i++)                                                     // could be .Count or .size for vectors
        {
            newDist = Vector3.Distance(wanderer.transform.position, wanderer.bush[i].transform.position); // Distance check

            if (newDist < minDistance)                                                                    // if new distance is less than set distance
            {
                minDistance = newDist;                                                                    // set dist becomes new dist
            }
        }

        if (minDistance < 0.6f) // distance check between the closest bush and the wanderer
        {
            wanderer.InBush = true;
            value           = true;
        }
        else
        {
            wanderer.InBush = false;
            value           = false;
        }

        trueBranch  = _trueBranch;
        falseBranch = _falseBranch;
    }
Exemplo n.º 4
0
        private INonPlayerCharacter QueensGuard()
        {
            INonPlayerCharacter npc = new NonPlayerCharacter();

            npc.TypeOfMob           = MobType.Humanoid;
            npc.Level               = 45;
            npc.ShortDescription    = "The Queen's guard.";
            npc.LookDescription     = "Dressed in silver armor shaped like a female lions head on their breastplate they have sworn their life to protect the queen.";
            npc.ExamineDescription  = "Each guard has under gone extensive training in both body in mind to ensure their loyalty unto death.";
            npc.SentenceDescription = "Queen's guard";
            npc.KeyWords.Add("Queen's guard");
            npc.KeyWords.Add("guard");

            npc.AddEquipment(BreastPlate());
            npc.AddEquipment(Helmet());
            npc.AddEquipment(Sword());

            IWanderer wanderer = new Wanderer();

            wanderer.NavigableRooms.Add(new BaseObjectId(24, 22));
            wanderer.NavigableRooms.Add(new BaseObjectId(24, 23));
            wanderer.NavigableRooms.Add(new BaseObjectId(24, 24));

            npc.Personalities.Add(new Aggressive());

            return(npc);
        }
Exemplo n.º 5
0
 public void raiseWanderer()
 {
     Wanderer w = new Wanderer(click, RandColor.GetColor(), canvas,this);
       Thread t = new Thread(w.wander);
       t.IsBackground = true;
       t.Start();
 }
Exemplo n.º 6
0
        public void raiseWanderer()
        {
            Wanderer w = new Wanderer(click, RandColor.GetColor(), canvas, this);
            Thread   t = new Thread(w.wander);

            t.IsBackground = true;
            t.Start();
        }
Exemplo n.º 7
0
        public void WandererID_Test()
        {
            Wanderer wanderer1 = wandererFactory.CreateWanderer();
            Wanderer wanderer2 = wandererFactory.CreateWanderer();

            Assert.AreEqual("Wanderer_1", wanderer1.id);
            Assert.AreEqual("Wanderer_2", wanderer2.id);
        }
Exemplo n.º 8
0
    public void Begin()
    {
        GameObject wandererObject = Instantiate(Resources.Load("Wanderer"), transform.position, Quaternion.identity, transform) as GameObject;
        Wanderer   wanderer       = wandererObject.GetComponent <Wanderer>();

        wanderers.Add(wanderer);
        started = true;
    }
Exemplo n.º 9
0
    public void SpawnWanderer(Vector3 vector)
    {
        GameObject wandererObject = Instantiate(Resources.Load("Wanderer"), transform.position, Quaternion.identity, transform) as GameObject;
        Wanderer   wanderer       = wandererObject.GetComponent <Wanderer>();

        wanderer.seedNum = seedNum;
        wanderers.Add(wanderer);
    }
Exemplo n.º 10
0
 void Awake()
 {
     // Components
     Damageable      = GetComponent <Damageable>();
     pathfinder      = GetComponent <NavMeshAgent>();
     rigidbody       = GetComponent <Rigidbody>();
     collisionRadius = GetComponent <CapsuleCollider>().radius;
     skinMaterial    = GetComponent <Renderer>().material;
     wanderer        = GetComponent <Wanderer>();
 }
Exemplo n.º 11
0
 // Use this for initialization
 void Start()
 {
     markers = new GameObject[size];
     for (int i = 0; i < size; i++)
     {
         markers[i] = Instantiate(prefab);
         Wanderer w = markers[i].AddComponent <Wanderer>();
         w.squad = this;
     }
 }
Exemplo n.º 12
0
        private Wanderer Wanderer()
        {
            Wanderer wanderer = new Wanderer();

            for (int i = 0; i < 25; i++)
            {
                wanderer.NavigableRooms.Add(new BaseObjectId(Zone.Id, i + 1));
            }

            return(wanderer);
        }
Exemplo n.º 13
0
 public DoISeeEnemy(IDecision _trueBranch, IDecision _falseBranch, Wanderer wanderer)
 {
     if (wanderer.iSeeEnemy == true) // collider controls the outcome
     {
         value = true;
     }
     else
     {
         value = false;
     }
     trueBranch  = _trueBranch;
     falseBranch = _falseBranch;
 }
    public override void direct(Wanderer newWanderer)
    {
        do
        {
            newWanderer.destination = randomNeighbor();
        } while (newWanderer.source == newWanderer.destination);

        newWanderer.targetPosition = newWanderer.destination.targetPosition();
        newWanderer.source = this;

        wanderers.Add(newWanderer);
        Vector2 direction = newWanderer.targetPosition - newWanderer.rigid.position;
        wandererDistances.Add(direction.magnitude);
    }
    public override void direct(Wanderer newWanderer)
    {
        do
        {
            newWanderer.destination = randomNeighbor();
        } while (newWanderer.source == newWanderer.destination);

        newWanderer.targetPosition = newWanderer.destination.targetPosition();
        newWanderer.source         = this;

        wanderers.Add(newWanderer);
        Vector2 direction = newWanderer.targetPosition - newWanderer.rigid.position;

        wandererDistances.Add(direction.magnitude);
    }
Exemplo n.º 16
0
        private IWanderer ValidDuckAreaWander()
        {
            IWanderer wanderer = new Wanderer();

            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 28));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 29));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 30));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 31));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 32));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 33));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 34));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 35));
            wanderer.NavigableRooms.Add(new RoomId(zone.Id, 36));
            return(wanderer);
        }
Exemplo n.º 17
0
        private IWanderer ValidDuckAreaWander(int?wanderAmount = null)
        {
            IWanderer wanderer = new Wanderer();

            if (wanderAmount != null)
            {
                wanderer.MovementPercent = (int)wanderAmount;
            }
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 20));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 21));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 22));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 23));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 24));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 25));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 26));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 27));
            wanderer.NavigableRooms.Add(new RoomId(Zone.Id, 28));
            return(wanderer);
        }
Exemplo n.º 18
0
        private IRoom GenerateRoom36()
        {
            IRoom room = GenearteRoom();

            room.MovementCost = 10;
            room.Attributes.Add(Room.RoomAttribute.Outdoor);
            room.Attributes.Add(Room.RoomAttribute.Weather);

            room.ExamineDescription = "The pond water is a nice cool temperature and small fish swim up to you and then dart away.  Too curious to ignore you but too afraid to stay.";
            room.LongDescription    = "You are standing in the center of the duck pond.  Small fish swim around you curious as to who or what has entered their pond.";
            room.ShortDescription   = "Duck Pond";

            room.Items.Add(Sign());

            INonPlayerCharacter mommaDuck = MommaDuck();

            mommaDuck.Room = room;
            room.AddMobileObjectToRoom(mommaDuck);
            Wanderer mommaWander = mommaDuck.Personalities[1] as Wanderer;

            for (int x = 0; x < 5; x++)
            {
                INonPlayerCharacter babyDuck   = BabyDuck();
                Wanderer            babyWander = babyDuck.Personalities[0] as Wanderer;
                babyDuck.Room         = room;
                babyDuck.FollowTarget = mommaDuck;
                babyWander.NavigableRooms.AddRange(mommaWander.NavigableRooms);
                room.AddMobileObjectToRoom(babyDuck);
            }

            INonPlayerCharacter daddyDuck = DaddyDuck();

            daddyDuck.Room = room;
            room.AddMobileObjectToRoom(daddyDuck);
            Wanderer daddyWander = daddyDuck.Personalities[1] as Wanderer;

            daddyWander.NavigableRooms.AddRange(mommaWander.NavigableRooms);

            return(room);
        }
Exemplo n.º 19
0
    public IsPlayerInBush(IDecision _trueBranch, IDecision _falseBranch, Assassin assassin)
    {
        for (int i = 0; i < assassin.player.Count; i++)
        {
            if (assassin.player[i] != null)
            {
                wanderer = assassin.player[i].GetComponent <Wanderer>();

                if (wanderer.InBush)
                {
                    value = true;
                }
            }
        }

        if (value != true)
        {
            value = false;
        }

        trueBranch  = _trueBranch;
        falseBranch = _falseBranch;
    }
Exemplo n.º 20
0
 public HideInBush(Wanderer _wanderer)
 {
     wanderer = _wanderer;
 }
Exemplo n.º 21
0
        public void Wanderer_Constructor()
        {
            Wanderer wanderer = new Wanderer(100);

            Assert.AreEqual(100, wanderer.MovementPercent);
        }
Exemplo n.º 22
0
 private void Start()
 {
     wanderer = GetComponent <Wanderer>();
 }
Exemplo n.º 23
0
 public abstract void direct(Wanderer wander);
Exemplo n.º 24
0
 public ContinuePath(Wanderer _wanderer)
 {
     wanderer = _wanderer;
 }
Exemplo n.º 25
0
 public StayInBush(Wanderer _wanderer)
 {
     wanderer = _wanderer;
 }
Exemplo n.º 26
0
 public Panic(Wanderer _wanderer)
 {
     wanderer = _wanderer;
 }
 public abstract void direct(Wanderer wander);
Exemplo n.º 28
0
        static void Main(string[] args)
        {
            string[] inputs;
            int      width     = int.Parse(Console.ReadLine());
            int      height    = int.Parse(Console.ReadLine());
            var      map       = new CellType[width, height];
            var      baseState = new State();

            for (int i = 0; i < height; i++)
            {
                string line = Console.ReadLine();
                for (var j = 0; j < line.Length; j++)
                {
                    if (line.ElementAt(j) == '.')
                    {
                        map[i, j] = CellType.Empty;
                    }
                    if (line.ElementAt(j) == '#')
                    {
                        map[i, j] = CellType.Wall;
                    }
                    if (line.ElementAt(j) == 'w')
                    {
                        map[i, j] = CellType.Spawn;
                        baseState.Spawns.Add(new Spawn(new Vec(i, j)));
                    }
                }
            }
            baseState.Map = map;

            inputs = Console.ReadLine().Split(' ');
            int sanityLossLonely  = int.Parse(inputs[0]); // how much sanity you lose every turn when alone, always 3 until wood 1
            int sanityLossGroup   = int.Parse(inputs[1]); // how much sanity you lose every turn when near another player, always 1 until wood 1
            int wandererSpawnTime = int.Parse(inputs[2]); // how many turns the wanderer take to spawn, always 3 until wood 1
            int wandererLifeTime  = int.Parse(inputs[3]); // how many turns the wanderer is on map after spawning, always 40 until wood 1

            // game loop
            while (true)
            {
                var currentState = baseState.Copy();
                int entityCount  = int.Parse(Console.ReadLine()); // the first given entity corresponds to your explorer
                for (int i = 0; i < entityCount; i++)
                {
                    inputs = Console.ReadLine().Split(' ');
                    string entityType = inputs[0];
                    int    id         = int.Parse(inputs[1]);
                    int    x          = int.Parse(inputs[2]);
                    int    y          = int.Parse(inputs[3]);
                    int    param0     = int.Parse(inputs[4]);
                    int    param1     = int.Parse(inputs[5]);
                    int    param2     = int.Parse(inputs[6]);
                    if (entityType == "EXPLORER")
                    {
                        var explorer = new Explorer(new Vec(x, y));
                        explorer.Id     = id;
                        explorer.Sanity = param0;
                        if (i == 0)
                        {
                            currentState.MyExplorer = explorer;
                        }
                        else
                        {
                            currentState.OtherExplorers.Add(explorer);
                        }
                    }

                    if (entityType == "WANDERER")
                    {
                        var wanderer = new Wanderer(new Vec(x, y));
                        wanderer.Id = id;
                        wanderer.TimeBeforeRecall = param0;
                        currentState.Wanderers.Add(wanderer);
                    }


                    //Console.Error.WriteLine(inputs);
                }

                // Write an action using Console.WriteLine()
                // To debug: Console.Error.WriteLine("Debug messages...");

                Console.WriteLine("WAIT"); // MOVE <x> <y> | WAIT
            }
        }