Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random
- class env:
- steps = 0
- puntos = 0
- # 0 = limpio
- # 1 = sucio
- # 2 = aspiradora
- def __init__ (self,sizeX,sizeY,init_posX,init_posY,dirt_rate):
- self.sizeX = sizeX
- self.sizeY = sizeY
- self.m = [sizeX][sizeY]
- tamaño = sizeX*sizeY
- dirtSlotsAmount = (dirt_rate * tamaño)/100
- self.m[init_posX][init_posY] = 2
- for i in range (0,sizeX):
- for j in range(0,sizeY):
- self.m[i][j] = 0
- # if (i < dirt_rate):
- # random.randint()
- i = 0
- while (i != dirtSlotsAmount):
- slot = random.randint(0,tamaño)
- if (self.m[slot] == 0):
- self.m[slot] = 1
- i = i + 1
- def accept_action(self,action,x,y):
- # arriba abajo izquierda derecha limpiar nohacernada
- if (action == arriba):
- if (self.m[x][y+1] != None):
- self.steps = self.steps + 1
- return True
- return False
- elif (action == abajo):
- if (self.m[x][y-1] != None):
- self.steps = self.steps + 1
- return True
- return False
- elif (action == izquierda):
- if (self.m[x-1][y] != None):
- self.steps = self.steps + 1
- return True
- return False
- elif (action == derecha):
- if (self.m[x+1][y] != None):
- self.steps = self.steps + 1
- return True
- return False
- elif (action == limpiar):
- if (self.m[x][y] == 1):
- self.puntos = self.puntos + 1
- self.steps = self.steps + 1
- return True
- return False
- else:
- self.steps = self.steps + 1
- def is_dirty(self,x,y):
- if (self.m[x][y] == 1):
- return True
- return False
- def get_performance(self):
- return self.puntos/self.steps
- def print_environment(self):
- for a in range(0,self.sizeX):
- print("")
- for b in range(0,self.sizeY):
- print(self.m[a][b],end=' ')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement