def main(): import time import numpy as np from learningALE.libs.ale_python_interface import ALEInterface # this script is used to try and find what ram index stores the number of lives for a game ale = ALEInterface(True) ale.loadROM(b'D:\\_code\\beam_rider.bin') (screen_width, screen_height) = ale.getScreenDims() legal_actions = ale.getLegalActionSet() frameCount = 0 ramlist = list() st = time.time() for episode in range(1): total_reward = 0.0 while not ale.game_over(): a = legal_actions[np.random.randint(legal_actions.size)] ram = ale.getRAM() ramlist.append(ram) reward = ale.act(a) total_reward += reward frameCount += 1 print("Episode " + str(episode) + " ended with score: " + str(total_reward)) ale.reset_game() et = time.time() print(et - st, frameCount / (et - st)) import matplotlib.pyplot as plt ramarray = np.asarray(ramlist) w = np.where(ramarray > 3)[1] ramarray[:, w] = 0 plt.plot(ramarray) notZ = np.where(ramarray != 0)[1] unqNZ = np.unique(notZ) print(unqNZ)
def main(): import time import numpy as np from learningALE.libs.ale_python_interface import ALEInterface # this script is used to try and find what ram index stores the number of lives for a game ale = ALEInterface(True) ale.loadROM(b'D:\\_code\\beam_rider.bin') (screen_width, screen_height) = ale.getScreenDims() legal_actions = ale.getLegalActionSet() frameCount = 0 ramlist = list() st = time.time() for episode in range(1): total_reward = 0.0 while not ale.game_over(): a = legal_actions[np.random.randint(legal_actions.size)] ram = ale.getRAM() ramlist.append(ram) reward = ale.act(a) total_reward += reward frameCount += 1 print("Episode " + str(episode) + " ended with score: " + str(total_reward)) ale.reset_game() et = time.time() print(et-st, frameCount/(et-st)) import matplotlib.pyplot as plt ramarray = np.asarray(ramlist) w = np.where(ramarray > 3)[1] ramarray[:, w] = 0 plt.plot(ramarray) notZ = np.where(ramarray != 0)[1] unqNZ = np.unique(notZ) print(unqNZ)
from learningALE.libs.ale_python_interface import ALEInterface """ This example is meant for those wanting to play around with GameHandler, or implement their own ALE interface. For people that want a plug and play interface use :class:`handlers.GameHandler` """ # start up the python ale interface ale = ALEInterface() # load a rom ale.loadROM(b'd:\_code\_reinforcementlearning\\breakout.bin') # screen dimensions and legal actions (screen_width, screen_height) = ale.getScreenDims() legal_actions = ale.getLegalActionSet() frameCount = 0 st = time.time() for episode in range(1): total_reward = 0.0 while not ale.game_over(): # get a random action a = legal_actions[np.random.randint(legal_actions.size)] # get gamescreen and convert to usable format (Height x Width x Channels) gamescreen = ale.getScreenRGB() gamescreen = np.asarray(gamescreen.view(np.uint8).reshape( screen_height, screen_width, 4)[:, :, 0], dtype=np.float)
""" This example is meant for those wanting to play around with GameHandler, or implement their own ALE interface. For people that want a plug and play interface use :class:`handlers.GameHandler` """ # start up the python ale interface ale = ALEInterface() # load a rom ale.loadROM(b'd:\_code\_reinforcementlearning\\breakout.bin') # screen dimensions and legal actions (screen_width, screen_height) = ale.getScreenDims() legal_actions = ale.getLegalActionSet() frameCount = 0 st = time.time() for episode in range(1): total_reward = 0.0 while not ale.game_over(): # get a random action a = legal_actions[np.random.randint(legal_actions.size)] # get gamescreen and convert to usable format (Height x Width x Channels) gamescreen = ale.getScreenRGB() gamescreen = np.asarray(gamescreen.view(np.uint8).reshape(screen_height, screen_width, 4)[:, :, 0], dtype=np.float) # get ram ram = ale.getRAM()