class Simulator:

    def __init__(self, gui: bool=False):
        self._Simulator__plant = Plant()
        self._Simulator__controller = Controller(self._Simulator__plant._sensors, self._Simulator__plant._effectors)
        self._Simulator__monitor = Monitor(self._Simulator__plant._sensors, self._Simulator__plant._effectors)
        if gui:
            self._Simulator__gui = GUI(self._Simulator__plant, self._Simulator__controller, self._Simulator__monitor)
        else:
            self._Simulator__gui = None

    def run(self) -> None:
        if self._Simulator__gui is None:
            timestamp = 0
            while True:
                timestamp += 1
                time.sleep(1)
                print(timestamp, '----------------------------------------')
                self._Simulator__plant.update()
                self._Simulator__controller.update()
                self._Simulator__monitor.update()
                self._Simulator__plant.printState()

        else:
            self._Simulator__gui.run()
 def __init__(self, gui: bool=False):
     self._Simulator__plant = Plant()
     self._Simulator__controller = Controller(self._Simulator__plant._sensors, self._Simulator__plant._effectors)
     self._Simulator__monitor = Monitor(self._Simulator__plant._sensors, self._Simulator__plant._effectors)
     if gui:
         self._Simulator__gui = GUI(self._Simulator__plant, self._Simulator__controller, self._Simulator__monitor)
     else:
         self._Simulator__gui = None
示例#3
0
def main(argv):
    """
        MAIN
    """
    MOO2_DIR = find_moo2_dir()

    if not MOO2_DIR:
        print("")
        print("ERROR: no MOO2 directory found")
        print("    OpenMOO2 requires original Master of Orion 2 game data to run, see README.TXT for more information")
        print("")
        sys.exit(1)

    default_options = {
        '-h':       "localhost",
        '-p':       9999,
        '-player':  0
    }

    (OPTIONS, PARAMS) = Game_Args.parse_cli_args(argv, default_options)

    HOST               = OPTIONS['-h']
    PORT               = OPTIONS['-p']
    PLAYER_ID          = OPTIONS['-player']
    SOCKET_BUFFER_SIZE = 4096

    GUI.init(MOO2_DIR)

    pygame.mouse.set_visible(False)
    pygame.display.set_caption("OpenMOO2: PLAYER_ID = %s" % PLAYER_ID)

    Data_BUILDINGS.regularize_building_keys()
    Data_CONST.regularize_government_keys()
    Data_TECH.regularize_tech_keys()

    Network_Client.Client.connect(HOST, PORT, SOCKET_BUFFER_SIZE)
    Network_Client.Client.login(PLAYER_ID)

#    Network_Client.Client.ping()
#    server_status = Network_Client.Client.get_server_status()
#    print("# server_status = %s" % str(server_status))


    # automation for development
#    scenario = autoplayer.AutoPlayer(CLIENT)
#    scenario.play()
#    sys.exit(0)

    #JWL#ICON = pygame.image.load(MOO2_DIR + "/orion2-icon.png")
    #JWL#pygame.display.set_icon(ICON)

    Gui.GUI.run()

    Network_Client.Client.disconnect()
示例#4
0
def main():

    global app  # Use global to dprevent crashing dosn exit
    app = QApplication(sys.argv)
    gui = GUI()

    sys.exit(app.exec_())
    def showInventory(self, gui=None, GameOver=False):
        """Seperate window for inventory"""

        # in case if the function is called from SortItems
        if gui == None:
            root = Tk()
            gui = GUI(root, "Inventory")

        # if we called this from entering the grass
        if GameOver:
            label = Label(gui.frame,
                          text="Game over",
                          fg="red",
                          font=("Arial", 16, "bold"))
            label.pack(padx=100)

        label = Label(gui.frame,
                      text="Your cat has " + str(len(Cat.inventory)) +
                      " items:")
        label.pack(padx=100)

        for i in Cat.inventory:
            label = Label(gui.frame, text=str(i))
            label.pack(padx=100)

        # Sort button stuff
        frame = Frame(gui.frame)
        frame.pack()

        b2 = Button(frame,
                    text="Name Z-A",
                    command=lambda: self.SortItems("nameA", gui, GameOver))
        b2.pack(side=RIGHT)
        b1 = Button(frame,
                    text="Name A-Z",
                    command=lambda: self.SortItems("nameD", gui, GameOver))
        b1.pack(side=RIGHT)

        b3 = Button(frame,
                    text="Quality high-low",
                    command=lambda: self.SortItems("qualityD", gui, GameOver))
        b3.pack(side=LEFT)
        b4 = Button(frame,
                    text="Quality low-high",
                    command=lambda: self.SortItems("qualityA", gui, GameOver))
        b4.pack(side=LEFT)

        # Exit for the game!
        if GameOver:
            button = Button(gui.frame,
                            text="Exit",
                            fg="red",
                            font=("Arial", 14, "bold"),
                            command=lambda: sys.exit())
            button.pack()

            gui.root.protocol("WM_DELETE_WINDOW", lambda: sys.exit())

        # Main loop
        gui.root.mainloop
示例#6
0
文件: Main.py 项目: EvilCult/Observer
	def __init__ (self) :
		self.db = DataBase()
		self.gui = GUI()
		self.jobStat = False
		self.backupTime = 60 * 30
		self.job = ''
		self.config = {}
示例#7
0
def main(argv):
    """
        MAIN
    """
    MOO2_DIR = find_moo2_dir()

    if not MOO2_DIR:
        print("")
        print("ERROR: no MOO2 directory found")
        print(
            "    OpenMOO2 requires original Master of Orion 2 game data to run, see README.TXT for more information"
        )
        print("")
        sys.exit(1)

    default_options = {'-h': "localhost", '-p': 9999, '-player': 0}

    (OPTIONS, PARAMS) = Game_Args.parse_cli_args(argv, default_options)

    HOST = OPTIONS['-h']
    PORT = OPTIONS['-p']
    PLAYER_ID = OPTIONS['-player']
    SOCKET_BUFFER_SIZE = 4096

    GUI.init(MOO2_DIR)

    pygame.mouse.set_visible(False)
    pygame.display.set_caption("OpenMOO2: PLAYER_ID = %s" % PLAYER_ID)

    Network_Client.Client.connect(HOST, PORT, SOCKET_BUFFER_SIZE)
    Network_Client.Client.login(PLAYER_ID)

    #    Network_Client.Client.ping()
    #    server_status = Network_Client.Client.get_server_status()
    #    print("# server_status = %s" % str(server_status))

    # automation for development
    #    scenario = autoplayer.AutoPlayer(CLIENT)
    #    scenario.play()
    #    sys.exit(0)

    #JWL#ICON = pygame.image.load(MOO2_DIR + "/orion2-icon.png")
    #JWL#pygame.display.set_icon(ICON)

    Gui.GUI.run()

    Network_Client.Client.disconnect()
def main():   
    # Setup tkinter
    root = Tk()
    gui = GUI(root,"Cat Hunt")

    # To main menu and beyond
    mainmenu(gui)
    
    # added to exit the program if the main window is closed. 
    # to close inventory window or any others if the main one is closed
    root.protocol("WM_DELETE_WINDOW",lambda:sys.exit()) 
    # Mainloop, MUST ALWAYS BE ON BOTTOM
    root.mainloop()
from Gui import GUI

if __name__ == "__main__":
    g1 = GUI()

    GUI.mainloop(g1)
示例#10
0
文件: Main.py 项目: EvilCult/Observer
class TimeMachine :

	def __init__ (self) :
		self.db = DataBase()
		self.gui = GUI()
		self.jobStat = False
		self.backupTime = 60 * 30
		self.job = ''
		self.config = {}

	def main (self) :
		path, backup = self.getConfig()

		self.config = {
			'path': path,
			'backup': backup
		}

		self.gui.operat = {
			'start': self.listen,
			'stop': self.stop,
			'saveConfig': self.saveConfig
		}
		self.gui.config = self.config

		self.gui.run()

	def listen (self) :
		self.jobStat = True
		
		path = self.config['path']
		backup = self.config['backup']

		if not os.path.exists(path) :
			self.err(1)
		elif backup == '' :
			self.err(3)
		else :
			self.chkPath(backup)
			self.gui.backupStat = '备份开始'
			self.gui.startBtn(False)
			self.job = threading.Thread(target = self.sync, args = (path, backup))
			self.job.setDaemon(True)
			self.job.start()

	def sync (self, path, backup) :
		while self.jobStat == True:
			self.chkBackupList(backup)

			folderName = str(time.strftime('%Y_%m_%d_%H_%M', time.localtime(time.time())))
			backupPath = os.path.join(backup, folderName)

			try:
				shutil.copytree(path, backupPath)
				self.gui.backupStat = str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) + ' - 备份成功'
				time.sleep(self.backupTime)
			except Exception, e:
				self.stop()
				self.err(2)

		self.gui.backupStat = '备份结束'
示例#11
0
 def promptMove(self):
     temp = GUI(self)
     temp.promptMove()
示例#12
0
import sys
from PyQt5.QtWidgets import QApplication
from Gui import GUI
from Player import AIPlayer
from PolicyValue import PolicyValue
from Board import Board

from config import *

if __name__ == "__main__":
    app = QApplication(sys.argv)

    best_policy = PolicyValue(best_model_file)
    mcts_player = AIPlayer(best_policy.policy_value_fn,
                           c_puct=5,
                           playout_num=400)

    board = Board()

    gui = GUI(board=board, mcts=mcts_player, start_player=1)
    gui.show()

    sys.exit(app.exec_())
示例#13
0
#Other file classes imported
from Gui import GUI
myGUI = GUI()