Exemple #1
0
        public Character Clone()
        {
            Character clone = new Character(Name, X, Y);

            clone.Hidden = Hidden;
            foreach (CharacterGoal goal in Goals)
            {
                clone.Goals.Add(goal);
            }

            clone.SetAction(nextAction);

            foreach (KeyValuePair <string, feelingsAboutChar> kvp in Relationships)
            {
                clone.AddRelationship(kvp.Key, kvp.Value);
            }

            foreach (Item item in Items)
            {
                clone.Items.Add(item.Clone());
            }

            foreach (string status in this.Statuses)
            {
                clone.AddStatus(status);
            }

            return(clone);
        }
Exemple #2
0
        public GameState InitializeGameState2()
        {
            GameState initState = new GameState();

            //Make Characters
            Character playerCharacter = new Character(PLAYER_NAME, MAX_WIDTH / 2f, MAX_HEIGHT / 2f);

            initState.Player = playerCharacter;
            Random    r = new Random();
            Character prisonerCharacter = new Character(GetRandomPrisonerName(), playerCharacter.X - r.Next(20) + r.Next(20), playerCharacter.Y);

            prisonerCharacter.Hidden = true;
            prisonerCharacter.AddStatus("Alive");
            initState.AddCharacter(prisonerCharacter);

            Location loc = GetNewCharacterLocation(initState);

            Character guardCharacter = new Character(GetRandomPrisonerName(), loc.X, loc.Y);

            guardCharacter.Hidden = true;
            guardCharacter.AddStatus("Alive");
            initState.AddCharacter(guardCharacter);

            guardCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorAlive, guardCharacter, null, null));
            guardCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsReceiverDead, guardCharacter, prisonerCharacter, null));
            guardCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.StateHasLethalItem, null, null, null));

            prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorAlive, prisonerCharacter, null, null));
            prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsReceiverDead, prisonerCharacter, guardCharacter, null));
            prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.StateHasLethalItem, null, null, null));


            return(initState);
        }
Exemple #3
0
    public Character Clone(){
      Character clone = new Character (Name, X, Y);
      clone.Hidden = Hidden;
      foreach (CharacterGoal goal in Goals) {
        clone.Goals.Add(goal);			
      }

      clone.SetAction (nextAction);

      foreach (KeyValuePair<string, feelingsAboutChar> kvp in Relationships) {
	clone.AddRelationship(kvp.Key,kvp.Value);			
      }

      foreach (Item item in Items) {
	clone.Items.Add(item.Clone());			
      }

      foreach (string status in this.Statuses) {
		clone.AddStatus(status);
      }

      return clone;
    }
		public GameState InitializeGameState5() {
			GameState initState = new GameState();
			
			//Make Characters
			Character playerCharacter = new Character(PLAYER_NAME, MAX_WIDTH / 2f, MAX_HEIGHT / 2f);
			initState.Player = playerCharacter;
			
			Random r = new Random ();
			
			Character prisonerCharacter = new Character(GetRandomPrisonerName(), playerCharacter.X -r.Next(20)+r.Next(20), playerCharacter.Y);
			prisonerCharacter.Hidden = true;
			prisonerCharacter.AddStatus("Alive");
			initState.AddCharacter(prisonerCharacter);
			
			Location loc = GetNewCharacterLocation(initState);
			
			Character guardCharacter = new Character(GetRandomGuardName(), loc.X, loc.Y);
			guardCharacter.Hidden = true;
			guardCharacter.AddStatus("Alive");
			initState.AddCharacter(guardCharacter);
			
			Location loc2 = GetNewCharacterLocation(initState);
			
			Character prisonerCharacter2 = new Character(GetRandomPrisonerName(), loc2.X, loc2.Y);
			prisonerCharacter2.Hidden = true;
			prisonerCharacter2.AddStatus("Alive");
			initState.AddCharacter(prisonerCharacter2);
			
			guardCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorAlive, guardCharacter, null, null));
			guardCharacter.Goals.Add (new CharacterGoal (ConditionLibrary.IsReceiverDead, guardCharacter, prisonerCharacter, null));
			guardCharacter.Goals.Add (new CharacterGoal (ConditionLibrary.StateHasLethalItem, null, null, null));

			prisonerCharacter2.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorAlive, prisonerCharacter2, null, null));
			prisonerCharacter2.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorMobile, prisonerCharacter2, null, null));
			prisonerCharacter2.Goals.Add(new CharacterGoal(ConditionLibrary.DoesStateHaveLiberatingItem, null, null, null));
			prisonerCharacter2.Goals.Add(new CharacterGoal(ConditionLibrary.DoesStateNotHaveLethalItem, null, null, null));

			
			prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorAlive, prisonerCharacter, null, null));
			prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.IsInstigatorMobile, prisonerCharacter, null, null));
			prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.DoesStateHaveLiberatingItem, null, null, null));
			prisonerCharacter.Goals.Add(new CharacterGoal(ConditionLibrary.DoesStateNotHaveLethalItem, null, null, null));
			
			return initState;
		}