/// <summary> /// Build and persist a new <see cref="KnowledgeLevel"/>. /// </summary> /// <param name="knowledgeLevel">A new <see cref="KnowledgeLevel"/></param> /// <returns>The persisted <see cref="KnowledgeLevel"/>.</returns> public KnowledgeLevel AddKnowledgeLevel(KnowledgeLevel knowledgeLevel) { this._persistence.GetRepository<KnowledgeLevel>().Add(knowledgeLevel); this._persistence.Commit(); return knowledgeLevel; }
/// <summary> /// Build and persist a new <see cref="KnowledgeLevel"/>. /// </summary> /// <param name="knowledgeLevel">A new <see cref="KnowledgeLevel"/></param> /// <returns>The persisted <see cref="KnowledgeLevel"/>.</returns> public KnowledgeLevel AddKnowledgeLevel(KnowledgeLevel knowledgeLevel) { this._persistence.GetRepository <KnowledgeLevel>().Add(knowledgeLevel); this._persistence.Commit(); return(knowledgeLevel); }
public static float GetMinFromKnowledgeLevel(KnowledgeLevel level) { switch (level) { case KnowledgeLevel.NoKnowledge: return(0); case KnowledgeLevel.BasicKnowledge: return(0.2F); case KnowledgeLevel.Foundational: return(0.3F); case KnowledgeLevel.Intermediate: return(0.4F); case KnowledgeLevel.FullProficiency: return(0.5F); case KnowledgeLevel.Expert: return(0.6F); case KnowledgeLevel.FullKnowledge: return(1F); case KnowledgeLevel.Random: return(ContinuousUniform.Sample(0, 1F)); default: throw new ArgumentOutOfRangeException(nameof(level), level, null); } }
public async Task <KnowledgeLevel> AddAsync(KnowledgeLevel entity) { var res = await _uow.KnowledgeLevels.AddAsync(entity); await _uow.SaveChangesAsync(); return(res); }
private void friendButton_Click(object sender, EventArgs e) { callLabel.Text = "Call your friend ?"; this.selectedKnowledgeLevel = KnowledgeLevel.LOW; this.callButton.Enabled = true; }
private void teacherButton_Click(object sender, EventArgs e) { callLabel.Text = "Call your teacher ?"; this.selectedKnowledgeLevel = KnowledgeLevel.MEDIUM; this.callButton.Enabled = true; }
private void jerryButton_Click(object sender, EventArgs e) { callLabel.Text = "Call Jerry ?"; this.selectedKnowledgeLevel = KnowledgeLevel.HIGH; this.callButton.Enabled = true; }
public Knowledge(int level) { if (level > 4 || level < 0) { throw new ArgumentException("Knowledge level should be >= 0 and <= 4"); } KnowledgeLevel = (KnowledgeLevel)level; }
public void ConsumeTheNecessaryPoints(string heroName, KnowledgeLevel level) { var data = GetStatusFrom(heroName); data.points -= level.NecessaryPoints; StatusResource.Save(heroName, data); }
/// <summary> /// Build and persist a new <see cref="KnowledgeLevel"/>. /// </summary> /// <param name="knowledgeLevelDesc">A new <see cref="KnowledgeLevel"/></param> /// <returns>The persisted <see cref="KnowledgeLevel"/>.</returns> public KnowledgeLevel AddKnowledgeLevel(string knowledgeLevelDesc) { var knowledgeLevel = new KnowledgeLevel() { Description = knowledgeLevelDesc }; return this.AddKnowledgeLevel(knowledgeLevel); }
/// <summary> /// Add an agentId's Knowledge to the network /// </summary> /// <param name="knowledgeId"></param> /// <param name="level"></param> /// <param name="minimumKnowledge"></param> /// <param name="timeToLive"></param> public void AddKnowledge(IAgentId knowledgeId, KnowledgeLevel level, float minimumKnowledge, short timeToLive) { if (!On || !_knowledgeAndBeliefs.HasKnowledge) { return; } ActorKnowledge.CreateInstance(_actorKnowledgeNetwork, _agentId, knowledgeId, level, minimumKnowledge, timeToLive); }
public void OnPing(PingSource pingSource, Vector3 pingOrigin) { if (pingSource == PingSource.Player) { // Detect player knowledgeLevel = KnowledgeLevel.KnowsLastLocation; playerLastLocation = pingOrigin; } }
/// <summary> /// Build and persist a new <see cref="KnowledgeLevel"/>. /// </summary> /// <param name="knowledgeLevelDesc">A new <see cref="KnowledgeLevel"/></param> /// <returns>The persisted <see cref="KnowledgeLevel"/>.</returns> public KnowledgeLevel AddKnowledgeLevel(string knowledgeLevelDesc) { var knowledgeLevel = new KnowledgeLevel() { Description = knowledgeLevelDesc }; return(this.AddKnowledgeLevel(knowledgeLevel)); }
/// <summary> /// Constructor based on the knowledge Id and the knowledge Level. /// KnowledgeBits is not yet initialized. /// NetworkKnowledges.InitializeAgentKnowledge must be called to initialized KnowledgeBits /// </summary> /// <param name="network"></param> /// <param name="actorId"></param> /// <param name="knowledgeId"></param> /// <param name="level"></param> /// <param name="minimumKnowledge"></param> /// <param name="timeToLive"></param> public ActorKnowledge(TwoModesNetwork <IEntityKnowledge> network, IAgentId actorId, IAgentId knowledgeId, KnowledgeLevel level, float minimumKnowledge, short timeToLive) : base(network, actorId, knowledgeId) { KnowledgeLevel = level; MinimumKnowledge = minimumKnowledge; TimeToLive = timeToLive; KnowledgeBits = new KnowledgeBits(minimumKnowledge, timeToLive); Length = KnowledgeBits.Length; }
/// <summary> /// Constructor based on the knowledge Id and the knowledge Level. /// KnowledgeBits is not yet initialized. /// NetworkKnowledges.InitializeAgentKnowledge must be called to initialized KnowledgeBits /// </summary> /// <param name="actorId"></param> /// <param name="knowledgeId"></param> /// <param name="level"></param> /// <param name="minimumKnowledge"></param> /// <param name="timeToLive"></param> public ActorKnowledge(IAgentId actorId, IAgentId knowledgeId, KnowledgeLevel level, float minimumKnowledge, short timeToLive) : base(actorId, knowledgeId) { KnowledgeLevel = level; MinimumKnowledge = minimumKnowledge; TimeToLive = timeToLive; KnowledgeBits = new KnowledgeBits(minimumKnowledge, timeToLive); Length = KnowledgeBits.Length; }
/// <summary> /// Add an agentId's Knowledge to the network /// </summary> /// <param name="knowledgeId"></param> /// <param name="level"></param> /// <param name="internalCharacteristics"></param> public void AddKnowledge(IAgentId knowledgeId, KnowledgeLevel level, InternalCharacteristics internalCharacteristics) { if (internalCharacteristics == null) { throw new ArgumentNullException(nameof(internalCharacteristics)); } AddKnowledge(knowledgeId, level, internalCharacteristics.MinimumRemainingKnowledge, internalCharacteristics.TimeToLive); }
public void InitializeBitsTest(KnowledgeLevel level) { _actorKnowledge.InitializeKnowledge(_knowledge.Length, RandomGenerator.RandomBinary, level, 0); var knowledgeBits = _actorKnowledge.KnowledgeBits; for (byte i = 0; i < 10; i++) { Assert.IsTrue(Math.Abs(knowledgeBits.GetBit(i)) < Tolerance || Math.Abs(knowledgeBits.GetBit(i) - 1) < Tolerance); } }
private void Start() { sonicDetectable = (SonicDetectable)GetComponent(typeof(SonicDetectable)); agent = (NavMeshAgent)GetComponent(typeof(NavMeshAgent)); currentHealth = maxHealth; knowledgeLevel = KnowledgeLevel.Unaware; agent.speed = patrolSpeed; agent.angularSpeed = angularSpeed; keepOrbitDistanceSqr = keepOrbitDistance * keepOrbitDistance; }
public async Task <IActionResult> Remove(KnowledgeLevel knowledgeLevel) { try { await _knowledgeLevelService.RemoveAsync(knowledgeLevel); return(StatusCode(200)); } catch { return(StatusCode(500, "Internal server error")); } }
public async Task <IActionResult> UpdateAsync(Guid id, KnowledgeLevel knowledgeLevel) { try { knowledgeLevel.Id = id; await _knowledgeLevelService.UpdateAsync(knowledgeLevel); return(StatusCode(200)); } catch { return(StatusCode(500, "Internal server error")); } }
public void InitializeBitsTest3(KnowledgeLevel level) { _actorKnowledge.InitializeKnowledge(_knowledge.Length, RandomGenerator.RandomUniform, level, 0); var knowledgeBits = _actorKnowledge.KnowledgeBits; for (byte i = 0; i < 10; i++) { Assert.IsTrue( Knowledge.GetMinFromKnowledgeLevel(level) <= knowledgeBits.GetBit(i) || Math.Abs(knowledgeBits.GetBit(i)) < Tolerance); Assert.IsTrue(knowledgeBits.GetBit(i) <= Knowledge.GetMaxFromKnowledgeLevel(level)); } }
/// <summary> /// Create a new customer. /// </summary> /// <param name="name">The name of the new customer.</param> /// <param name="email">The email address of the new customer.</param> /// <param name="mobile">The mobile number of the new customer.</param> /// <param name="address">The address of the new customer.</param> /// <param name="language">The language of the new customer.</param> /// <param name="knowledgeLevel">The knowledge level of the new customer.</param> /// <returns>The newly created customer.</returns> public Customer CreateCustomer(string name, string email, string mobile, string address, Language language, KnowledgeLevel knowledgeLevel) { var newCustomer = new Customer { Name = name, Email = email, MobileNumber = mobile, Address = address, Language = language, KnowledgeLevel = knowledgeLevel }; this.CreateCustomer(newCustomer); return newCustomer; }
/// <summary> /// Retrieve an <see cref="AudioFile"/>. /// </summary> /// <param name="exhibit">The <see cref="Exhibit"/> to get the audio file for.</param> /// <param name="knowledgeLevel">The <see cref="KnowledgeLevel"/> of the <see cref="Customer"/> so they get the right <see cref="AudioFile"/>.</param> /// <param name="language">The <see cref="Language"/> of the <see cref="Customer"/> so they get the right <see cref="AudioFile"/>.</param> /// <returns>An <see cref="AudioFile"/> that corresponds to the given information.</returns> public AudioFile GetFile(Exhibit exhibit, KnowledgeLevel knowledgeLevel, Language language) { var file = this._persistence.GetRepository<AudioFile>() .Single( af => af.Exhibit.Id == exhibit.Id && af.KnowledgeLevel.Id == knowledgeLevel.Id && af.Language.Id == language.Id); if (file == null || file.FilePath == null) { return null; } file.FilePath = Path.Combine(ConfigurationManager.AppSettings["RemoteAudioFilePath"], file.FilePath); return file; }
/// <summary> /// Retrieve an <see cref="AudioFile"/>. /// </summary> /// <param name="exhibit">The <see cref="Exhibit"/> to get the audio file for.</param> /// <param name="knowledgeLevel">The <see cref="KnowledgeLevel"/> of the <see cref="Customer"/> so they get the right <see cref="AudioFile"/>.</param> /// <param name="language">The <see cref="Language"/> of the <see cref="Customer"/> so they get the right <see cref="AudioFile"/>.</param> /// <returns>An <see cref="AudioFile"/> that corresponds to the given information.</returns> public AudioFile GetFile(Exhibit exhibit, KnowledgeLevel knowledgeLevel, Language language) { var file = this._persistence.GetRepository <AudioFile>() .Single( af => af.Exhibit.Id == exhibit.Id && af.KnowledgeLevel.Id == knowledgeLevel.Id && af.Language.Id == language.Id); if (file == null || file.FilePath == null) { return(null); } file.FilePath = Path.Combine(ConfigurationManager.AppSettings["RemoteAudioFilePath"], file.FilePath); return(file); }
public static ActorKnowledge CreateInstance(TwoModesNetwork <IEntityKnowledge> network, IAgentId actorId, IAgentId knowledgeId, KnowledgeLevel level, float minimumKnowledge, short timeToLive) { return(new ActorKnowledge(network, actorId, knowledgeId, level, minimumKnowledge, timeToLive)); }
public void SetKnowledge(Knowledge knowledge) { Knowledge = knowledge.KnowledgeLevel; }
/// <summary> /// Get the name of a KnowledgeLevel /// </summary> /// <param name="level"></param> /// <returns></returns> public static string GetName(KnowledgeLevel level) { return(level.ToString()); }
public async Task RemoveAsync(KnowledgeLevel entity) { _uow.KnowledgeLevels.Remove(entity); await _uow.SaveChangesAsync(); }
/// <summary> /// Given a KnowledgeModel and a KnowledgeLevel /// return the knowledgeBits for the agent: an array fill of random binaries /// representing the detailed knowledge of an agent /// </summary> /// <param name="length"></param> /// <param name="model"></param> /// <param name="knowledgeLevel"></param> /// <param name="step"></param> /// <returns></returns> public void InitializeKnowledge(byte length, RandomGenerator model, KnowledgeLevel knowledgeLevel, ushort step) { float[] knowledgeBits; switch (model) { case RandomGenerator.RandomUniform: { float min; float max; switch (knowledgeLevel) { case KnowledgeLevel.Random: min = 0; max = 1; break; default: min = Knowledge.GetMinFromKnowledgeLevel(knowledgeLevel); max = Knowledge.GetMaxFromKnowledgeLevel(knowledgeLevel); break; } knowledgeBits = ContinuousUniform.Samples(length, min, max); if (Math.Abs(min - max) < Constants.Tolerance) { SetKnowledgeBits(knowledgeBits, step); return; } for (byte i = 0; i < knowledgeBits.Length; i++) { if (knowledgeBits[i] < min * (1 + 0.05)) { // In randomUniform, there is quasi no bit == 0. But in reality, there are knowledgeBit we ignore. // We force the lowest (Min +5%) knowledgeBit to 0 knowledgeBits[i] = 0; } } break; } case RandomGenerator.RandomBinary: { switch (knowledgeLevel) { case KnowledgeLevel.Random: knowledgeBits = ContinuousUniform.FilteredSamples(length, 0, 1); break; default: var mean = 1 - Knowledge.GetValueFromKnowledgeLevel(knowledgeLevel); knowledgeBits = ContinuousUniform.FilteredSamples(length, mean); break; } break; } default: throw new ArgumentOutOfRangeException(nameof(model), model, null); } SetKnowledgeBits(knowledgeBits, step); }
public async Task UpdateAsync(KnowledgeLevel entity) { _uow.KnowledgeLevels.Update(entity); await _uow.SaveChangesAsync(); }
/// <summary> /// Create a new customer. /// </summary> /// <param name="name">The name of the new customer.</param> /// <param name="email">The email address of the new customer.</param> /// <param name="mobile">The mobile number of the new customer.</param> /// <param name="address">The address of the new customer.</param> /// <param name="language">The language of the new customer.</param> /// <param name="knowledgeLevel">The knowledge level of the new customer.</param> /// <returns>The newly created customer.</returns> public Customer CreateCustomer(string name, string email, string mobile, string address, Language language, KnowledgeLevel knowledgeLevel) { var newCustomer = new Customer { Name = name, Email = email, MobileNumber = mobile, Address = address, Language = language, KnowledgeLevel = knowledgeLevel }; this.CreateCustomer(newCustomer); return(newCustomer); }
/// <summary> /// Transform KnowledgeLevel into a value between [0;1] /// </summary> /// <param name="level"></param> /// <returns></returns> public static float GetValueFromKnowledgeLevel(KnowledgeLevel level) { return(ContinuousUniform.Sample(GetMinFromKnowledgeLevel(level), GetMaxFromKnowledgeLevel(level))); }
public int triggerPhoneCall(int correctAnswerIndex, int totalNumberOfAnswers, KnowledgeLevel knowledgeLevel) { int questionLevel = this.getCurrentPlayer().currentLadderLevel; int phoneCallAnswer = PhoneCall.getPhoneCallResult(correctAnswerIndex, totalNumberOfAnswers, questionLevel, knowledgeLevel); this.getCurrentPlayer().usedPhoneCall = true; return(phoneCallAnswer); }
public static int getPhoneCallResult(int correctAnswerIndex, int totalNumberOfAnswers, int questionLevel, KnowledgeLevel knowledgeLevel) { Random random = new Random(); int phoneResult = 0; int minIndex = 0; double correctRate = 0.0; if (questionLevel <= 5) { correctRate = 1.0; } else if (questionLevel <= 10) { switch (knowledgeLevel) { case KnowledgeLevel.LOW: correctRate = 0.55; break; case KnowledgeLevel.MEDIUM: correctRate = 0.75; break; case KnowledgeLevel.HIGH: correctRate = 0.95; break; } } else { switch (knowledgeLevel) { case KnowledgeLevel.LOW: correctRate = 0.25; break; case KnowledgeLevel.MEDIUM: correctRate = 0.55; break; case KnowledgeLevel.HIGH: correctRate = 0.75; break; } } if (random.NextDouble() <= correctRate) { //Answer Correctly phoneResult = correctAnswerIndex; } else { phoneResult = random.Next(minIndex, totalNumberOfAnswers); while (phoneResult == correctAnswerIndex) { phoneResult = random.Next(minIndex, totalNumberOfAnswers); } } return(phoneResult); }