Currently, I am pursuing a BSCS degree and my focus of study is 'Artificial Intelligence'.
I have developed a simple reflex agent program that operates in 'Python', but I also attempted to replicate it using p5.js (JavaScript) to create a user interface.
However, I encountered an error. Can someone please explain why 'this.currentRoom' is not being assigned as 'this.room1'?
I have attached a screenshot of the error for reference
Alternatively, you can copy the code and paste it into an online editor to better understand the issue.
I apologize if my request is unclear as this is my first time seeking assistance on stackoverflow.
function setup(){
createCanvas(600,400);
vc = new VAgent();
twoRooms = new VEnvironment(vc);
twoRooms.executeStep(6);
}
function draw(){
background(0);
}
class Room{
constructor(location,status){
this.location=location;
this.status=status;
}
getAll(){
console.log(this.location);
console.log(this.status);
}
}
class VEnvironment{
contructor(agent){
this.agent=agent;
this.room1=new Room('a','Dirty');
this.room2=new Room('b','Dirty');
this.currentRoom=this.room1;
this.actionStatus='';
this.step=0;
}
executeStep(n){
for(var i=0;i<n;i++){
this.displayPerception();
this.agent.sense(this);
var res = this.agent.action();
if(res=='clean'){
this.currentRoom.status=='clean'
}else if(res=='Right'){
this.currentRoom=this.room2;
}else{
this.currentRoom=this.room1;
}
this.displayAction();
this.step++;
}
}
displayPerception(){
console.log('Agent is Present At Room '+this.currentRoom.location+' And The Status For Room Is '+this.currentRoom.status);
}
displayAction(){
console.log('Agent took at'+this.step+' And Action was ... '+this.currentRoom+'...');
}
}
class VAgent{
constructor(){
}
sense(currentEnv){
this.en=currentEnv;
}
action(){
if(this.en.currentRoom.status=='dirty'){
return 'Clean'
}else if(this.en.currentRoom.location=='a'){
return 'Left'
}else{
return 'Right'
}
}
}