def launchGame(): # Reproducimos la musica de fondo AudioController.playMusic(eMusic.PICKING) # Mostramos el Splash de inicio View.showScreen(eScreen.SPLASH_START)
def __init__(self): self.inpt= { # just the default to start with "wind": 3, "solar": 500, "albedo": 0.25, "airt": 15, "sfc": "grass (dry)", "rs": 40, "vp": 10, "smd": 10 } self.rblist = [500.0, -30.0, 300.0, 200.0] self.eblist = [300.0, 100.0, 150.0, 200.0] # Polynomial fit to Graham Russell's smd fit for cereals # yfit = a*x**3+b*x+c where x is smd in mm self.smdfit = [1.27791987e-04, -9.56796959e-02, 3.95338027e+01] self.mod = Model(self.inpt) self.tlist = self.mod.tlist self.vw = View(self.rblist, self.eblist, self.tlist) self.sfcs = ["grass (dry)","bare soil (dry)","cereals (dry)", "conifers (dry)","upland (dry)","grass (wet)", "bare soil (wet)", "cereals (wet)","conifers (wet)", "upland (wet)", "water"] self.bit_wind = widgets.BoundedIntText(value = self.inpt["wind"], min=1, max=15, step=1, description="u ($m \ s^{-1}$)", width=50) self.bit_solar = widgets.BoundedIntText(value = self.inpt["solar"], min=1, max=1000, step=10, description="solar ($W m^{-2}$)", width=50) self.bit_vp = widgets.BoundedIntText(value =self.inpt["vp"], min=1, max=40, step=1, description="vp (mbar)", width=50) self.dd_surface = widgets.Dropdown(value =self.inpt["sfc"], options=self.sfcs, description="surface", width=50) self.bit_smd = widgets.BoundedIntText(value=self.inpt["smd"], min=1, max=180, step=5, description="smd (mm)", width=50) self.bit_airt = widgets.BoundedIntText(value=self.inpt["airt"], min=-5, max=40, step=1, description="air T (oC)", width=50) self.txt_rs = widgets.Text(description="rs") self.txt_rh = widgets.Text(description="RH (%)") self.txt_le = widgets.Text(description="LE") self.txt_ra = widgets.Text(description="ra") # First time round to populate output boxes self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.bit_wind.observe(self.bit_wind_eventhandler, names='value') self.bit_solar.observe(self.bit_solar_eventhandler, names='value') self.bit_vp.observe(self.bit_vp_eventhandler, names='value') self.dd_surface.observe(self.dd_surface_eventhandler, names='value') self.bit_smd.observe(self.bit_smd_eventhandler, names='value') self.bit_airt.observe(self.bit_airt_eventhandler, names='value') self.h0 = widgets.HBox(children=[self.dd_surface, self.bit_smd]) self.h1 = widgets.HBox(children=[self.bit_solar, self.bit_wind]) self.h2 = widgets.HBox(children=[self.bit_airt, self.bit_vp, self.txt_rh]) self.h3 = widgets.HBox(children=[self.txt_ra, self.txt_rs, self.txt_le])
def __init__(self, configFile, limit, register): """ Initializes client with a given parameters :param configFile: :param limit: :param register: :type configFile: str :type limit: int :type register: bool """ self.userData = {'username': None, 'password': None} try: self.config = Config(configFile) self.request = Request() self.collection = None self.view = View(limit) self.registerMode = register except OSError: filename = configFile print(f"InitError: Configuration file {filename} can\'t be found!") exit(1)
def doInit(): # Inicializamos PyGame pygame.init() pygame.font.init() pygame.mixer.init(GlobalsController.AUDIO_FREQ, GlobalsController.AUDIO_BITSIZE, GlobalsController.AUDIO_CHANNELS, GlobalsController.AUDIO_BUFFER) pygame.mixer.set_num_channels(23) # Inicializamos la View View().doInit() # Inicializamos los modulos del Controller que lo requieran FontController.doInit() ResourceController.doInit()
# Parsing command line arguments parser = argparse.ArgumentParser() parser.add_argument('-s', dest='size', type=int) parser.add_argument('-b', dest='blanks', action='store_true') parser.add_argument('-e', dest='expectimax', action='store_true') parser.add_argument('-p', dest='prune', action='store_true') results = parser.parse_args() if not results.size: results.size = 15 rules = ScrabbleRules(blanks=results.blanks, size=results.size) state = GameState(blanks=results.blanks, size=results.size) view = View() agent_0 = Agent() agent_1 = Agent() state.add_agent(0, agent_0) state.add_agent(1, agent_1) state.place('A', [(results.size // 2, results.size // 2)], 0, rules) state.draw(0) state.draw(1) # Play agents = [0, 1] try: while True: for agent in agents: state.draw(agent)
class pminterface(): def __init__(self): self.inpt= { # just the default to start with "wind": 3, "solar": 500, "albedo": 0.25, "airt": 15, "sfc": "grass (dry)", "rs": 40, "vp": 10, "smd": 10 } self.rblist = [500.0, -30.0, 300.0, 200.0] self.eblist = [300.0, 100.0, 150.0, 200.0] # Polynomial fit to Graham Russell's smd fit for cereals # yfit = a*x**3+b*x+c where x is smd in mm self.smdfit = [1.27791987e-04, -9.56796959e-02, 3.95338027e+01] self.mod = Model(self.inpt) self.tlist = self.mod.tlist self.vw = View(self.rblist, self.eblist, self.tlist) self.sfcs = ["grass (dry)","bare soil (dry)","cereals (dry)", "conifers (dry)","upland (dry)","grass (wet)", "bare soil (wet)", "cereals (wet)","conifers (wet)", "upland (wet)", "water"] self.bit_wind = widgets.BoundedIntText(value = self.inpt["wind"], min=1, max=15, step=1, description="u ($m \ s^{-1}$)", width=50) self.bit_solar = widgets.BoundedIntText(value = self.inpt["solar"], min=1, max=1000, step=10, description="solar ($W m^{-2}$)", width=50) self.bit_vp = widgets.BoundedIntText(value =self.inpt["vp"], min=1, max=40, step=1, description="vp (mbar)", width=50) self.dd_surface = widgets.Dropdown(value =self.inpt["sfc"], options=self.sfcs, description="surface", width=50) self.bit_smd = widgets.BoundedIntText(value=self.inpt["smd"], min=1, max=180, step=5, description="smd (mm)", width=50) self.bit_airt = widgets.BoundedIntText(value=self.inpt["airt"], min=-5, max=40, step=1, description="air T (oC)", width=50) self.txt_rs = widgets.Text(description="rs") self.txt_rh = widgets.Text(description="RH (%)") self.txt_le = widgets.Text(description="LE") self.txt_ra = widgets.Text(description="ra") # First time round to populate output boxes self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.bit_wind.observe(self.bit_wind_eventhandler, names='value') self.bit_solar.observe(self.bit_solar_eventhandler, names='value') self.bit_vp.observe(self.bit_vp_eventhandler, names='value') self.dd_surface.observe(self.dd_surface_eventhandler, names='value') self.bit_smd.observe(self.bit_smd_eventhandler, names='value') self.bit_airt.observe(self.bit_airt_eventhandler, names='value') self.h0 = widgets.HBox(children=[self.dd_surface, self.bit_smd]) self.h1 = widgets.HBox(children=[self.bit_solar, self.bit_wind]) self.h2 = widgets.HBox(children=[self.bit_airt, self.bit_vp, self.txt_rh]) self.h3 = widgets.HBox(children=[self.txt_ra, self.txt_rs, self.txt_le]) def reset_sfc(self,sfc): self.inpt= { # just the default to start with "wind": 3, "solar": 500, "albedo": self.mod.srftype[sfc]['albedo'], "airt": 15, "sfc": sfc, "rs": self.mod.srftype[sfc]['minrs'], "vp": 10, "smd": 10 } self.rblist = [500.0, -30.0, 300.0, 200.0] self.eblist = [300.0, 100.0, 150.0, 200.0] return self.inpt def func2(self, x, a, b, c): ''' returns bulk surface resistance from a polynomial fit to Graham Russell's Data x is smd, a,b,c are polynomial fit ''' return a*x**3+b*x+c def bit_wind_eventhandler(self,change): self.bit_wind.observe(self.bit_wind_eventhandler, names='value') self.inpt["wind"]=self.bit_wind.value self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist) def bit_smd_eventhandler(self,change): self.bit_smd.observe(self.bit_smd_eventhandler, names='value') self.inpt["smd"]=self.bit_smd.value # Use Russell fit to find rs from smd # Check that rs offset varies by surface self.inpt["rs"] = self.func2(self.inpt["smd"], self.smdfit[0], self.smdfit[1], self.mod.srftype[self.inpt["sfc"]]['minrs']) self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist) def dd_surface_eventhandler(self,change): self.dd_surface.observe(self.dd_surface_eventhandler, names='value') self.inpt["sfc"]=self.dd_surface.value self.inpt = self.reset_sfc(self.inpt["sfc"]) self.bit_solar.value = self.inpt["solar"] self.bit_wind.value = self.inpt["wind"] self.bit_vp.value = self.inpt["vp"] self.bit_smd.value = self.inpt["smd"] self.bit_airt.value = self.inpt["airt"] self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist) def bit_solar_eventhandler(self,change): self.bit_solar.observe(self.bit_solar_eventhandler, names='value') self.inpt["solar"]=self.bit_solar.value self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist) def bit_vp_eventhandler(self,change): self.bit_vp.observe(self.bit_vp_eventhandler, names='value') self.inpt["vp"]=self.bit_vp.value self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist) def bit_airt_eventhandler(self,change): self.bit_airt.observe(self.bit_airt_eventhandler, names='value') self.inpt["airt"]=self.bit_airt.value self.rblist, self.eblist, self.tlist, self.olist = self.mod.calculateLE(self.inpt) self.txt_rs.value = str('{0:.0f}'.format(self.olist[0])) self.txt_rh.value = str('{0:.1f}'.format(self.olist[1])) self.txt_le.value = str('{0:.1f}'.format(self.olist[2])) self.txt_ra.value = str('{0:.0f}'.format(self.olist[3])) self.vw.redraw(self.rblist, self.eblist, self.tlist)
class Client(object): """ Client which offers basic methods of the application """ def __init__(self, configFile, limit, register): """ Initializes client with a given parameters :param configFile: :param limit: :param register: :type configFile: str :type limit: int :type register: bool """ self.userData = {'username': None, 'password': None} try: self.config = Config(configFile) self.request = Request() self.collection = None self.view = View(limit) self.registerMode = register except OSError: filename = configFile print(f"InitError: Configuration file {filename} can\'t be found!") exit(1) def loadUserData(self): """ Loads username and password from keyboard when it's typed by user :return: returns None """ try: self.userData['username'] = input('username: '******'password'] = getpass.getpass('password: '******'auth'), self.userData['username'], self.userData['password']) def register(self): """ Provides functionality of registration on JWT authorization server :return: returns registration response parsed as JSON """ print("Please type new username and password " "to be registered on authorization server") self.loadUserData() password2 = getpass.getpass('retype password: '******'password'] != password2: print("Error: You didn't enter the same passwords. " "Please try it again.") exit(0) return self.request.register(self.config.get('auth'), self.userData['username'], self.userData['password']) def displayLoop(self): """ Displays online results in a neverending loop :return: returns None """ if self.collection is None: print("You didn't prepare measurement collection") exit(1) try: while True: try: measurements = self.collection.get() self.view.display(measurements) sleep(1) except ResponseError as error: print("LoadDataError: " + str(error)) except KeyboardInterrupt: print() print("ResMon client has been closed successfully") pass def run(self): """ Runs the client :return: returns None """ loginResult = {} try: if self.registerMode: loginResult = self.register() else: loginResult = self.login() except ResponseError as error: print("AuthError: " + str(error) + ". Please try to log in again.") exit(1) authToken = loginResult['access_token'] self.collection = MeasurementsCollection(self.config.get('monitors'), authToken) self.displayLoop() exit(0)
from src.Controller import Controller from src.Repository import Repository from src.View import View temperature_filename = "../data/temperature.dat" humidity_filename = "../data/humidity.dat" time_filename = "../data/time.dat" table_filename = "../data/table.dat" if __name__ == '__main__': temperature_repository = Repository(temperature_filename) controller = Controller(Repository(temperature_filename), Repository(humidity_filename), Repository(time_filename), table_filename) view = View(controller) view.run()
def __init__(self): self.initDb() self.tournament = None self.loop = True self.view = View() self.loopMenu()
def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.resize(800, 800) self.setFont(QFont('Verdana')) self.setWindowTitle('Sand Table') self.i = 0 self.timer = QTimer(self) self.timer.setInterval(700) self.timer.timeout.connect(self.collapse) self.table = Table(3, 3, 4, self) self.tableView = View(self) self.tableView.setModel(self.table) #self.tableView.doubleClicked.connect(self.addOne) horizontal = QHeaderView(Qt.Horizontal) horizontal.setResizeMode(QHeaderView.Stretch) self.tableView.setHorizontalHeader(horizontal) vertical = QHeaderView(Qt.Vertical) vertical.setResizeMode(QHeaderView.Stretch) self.tableView.setVerticalHeader(vertical) self.collapseButton = QPushButton('Collapse', self) self.collapseButton.clicked.connect(self.collapse) self.collapseAllButton = QPushButton('Collapse All', self) self.collapseAllButton.clicked.connect(self.table.collapseAll) self.collapseAutoButton = QPushButton('Start Auto Collapse', self) self.collapseAutoButton.clicked.connect(self.toogleAuto) self.reloadButton = QPushButton('Reload', self) self.reloadButton.clicked.connect(self.load) self.saveButton = QPushButton('Save', self) self.saveButton.clicked.connect(self.save) self.clearButton = QPushButton('Clear', self) self.clearButton.clicked.connect(self.clear) self.reloadButton.setEnabled(False) self.saveButton.setEnabled(False) widget = QWidget(self) layout = QHBoxLayout() subLayout = QVBoxLayout() layout.addWidget(self.tableView) subLayout.addWidget(self.collapseButton) subLayout.addWidget(self.collapseAllButton) subLayout.addWidget(self.collapseAutoButton) subLayout.addWidget(self.clearButton) subLayout.addWidget(self.reloadButton) subLayout.addWidget(self.saveButton) layout.addLayout(subLayout) widget.setLayout(layout) self.setCentralWidget(widget) self.statusBar().showMessage('Welcome')
class MainWindow(QMainWindow): def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.resize(800, 800) self.setFont(QFont('Verdana')) self.setWindowTitle('Sand Table') self.i = 0 self.timer = QTimer(self) self.timer.setInterval(700) self.timer.timeout.connect(self.collapse) self.table = Table(3, 3, 4, self) self.tableView = View(self) self.tableView.setModel(self.table) #self.tableView.doubleClicked.connect(self.addOne) horizontal = QHeaderView(Qt.Horizontal) horizontal.setResizeMode(QHeaderView.Stretch) self.tableView.setHorizontalHeader(horizontal) vertical = QHeaderView(Qt.Vertical) vertical.setResizeMode(QHeaderView.Stretch) self.tableView.setVerticalHeader(vertical) self.collapseButton = QPushButton('Collapse', self) self.collapseButton.clicked.connect(self.collapse) self.collapseAllButton = QPushButton('Collapse All', self) self.collapseAllButton.clicked.connect(self.table.collapseAll) self.collapseAutoButton = QPushButton('Start Auto Collapse', self) self.collapseAutoButton.clicked.connect(self.toogleAuto) self.reloadButton = QPushButton('Reload', self) self.reloadButton.clicked.connect(self.load) self.saveButton = QPushButton('Save', self) self.saveButton.clicked.connect(self.save) self.clearButton = QPushButton('Clear', self) self.clearButton.clicked.connect(self.clear) self.reloadButton.setEnabled(False) self.saveButton.setEnabled(False) widget = QWidget(self) layout = QHBoxLayout() subLayout = QVBoxLayout() layout.addWidget(self.tableView) subLayout.addWidget(self.collapseButton) subLayout.addWidget(self.collapseAllButton) subLayout.addWidget(self.collapseAutoButton) subLayout.addWidget(self.clearButton) subLayout.addWidget(self.reloadButton) subLayout.addWidget(self.saveButton) layout.addLayout(subLayout) widget.setLayout(layout) self.setCentralWidget(widget) self.statusBar().showMessage('Welcome') def load(self): return 0 with open('table', 'rb') as fileObj: self.table = pickle.load(fileObj) def clear(self): self.table.clear() def collapse(self): """Step by step collapse.""" if(self.table.collapsable() != []): for cell in self.table.collapsable(): self.table.collapse(cell[0], cell[1]) else: self.stop() def save(self): return 0 with open('table', 'wb') as fileObj: pickle.dump(self.table, fileObj) def start(self): """Start the timer.""" if(not self.timer.isActive()): self.collapseButton.setEnabled(False) self.collapseAllButton.setEnabled(False) self.timer.start() self.statusBar().showMessage('Auto mode started') self.collapseAutoButton.setText('Stop Auto Collapse') def toogleAuto(self): """Toogle auto collapse""" if(not self.timer.isActive()): self.start() else: self.stop() def stop(self): """Stop the timer.""" self.timer.stop() self.statusBar().showMessage('Auto mode stopped') self.collapseAutoButton.setText('Start Auto Collapse') self.collapseButton.setEnabled(True) self.collapseAllButton.setEnabled(True) def addOne(self, index): self.table.addOne(index)