def run_AI_battle(player1, player2, gameNumber): if isinstance(player1, AI_Player) and isinstance(player2, AI_Player): p1Win = 0 p2Win = 0 draw = 0 for i in range(int(gameNumber / 2)): board = Board() player1.set_board(board) player2.set_board(board) game = AI_Game(board, player1, player2) res = game.run() if res == 0: p1Win += 1 elif res == 1: p2Win += 1 else: draw += 1 print(res) for i in range(gameNumber - int(gameNumber / 2)): board = Board() player1.set_board(board) player2.set_board(board) game = AI_Game(board, player2, player1) res = game.run() if res == 0: p2Win += 1 elif res == 1: p1Win += 1 else: draw += 1 print(res) return [p1Win, p2Win, draw] else: print("Erreur : Les 2 joueurs doivent ĂȘtre des IA")
def mainGUI(): app = QApplication(sys.argv) try: # ajout de l'id de l'application myappid = 'ValentinLe.lecteur_musique' ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid) except AttributeError: pass # ajout de l'icone de l'application app.setWindowIcon(QIcon(QPixmap("assets/logo.ico"))) # couleurs pour la scrollBar palette = QPalette() palette.setColor(QPalette.Base, QColor("#454545")) palette.setColor(QPalette.Light, QColor("#454545")) app.setPalette(palette) # affichage de la fenetre principale board = Board() window = MainWindow(board) window.setWindowTitle("Musique") window.showMaximized() # window.show() sys.exit(app.exec_())
def run(): # Board board = Board() # AI # P1 #oracle1 = AI_MonteCarlo(board, Co.P1_PIECE, 3000) #player1 = AI_Player("Player 1", oracle1.board, oracle1.piece, oracle1) oracle2 = AI_MonteCarlo_Up_Heur(board, Co.P2_PIECE, 1000) player2 = AI_Player("Player 2", oracle2.board, oracle2.piece, oracle2) # Human player1 = Player("Player 1", board, Co.P1_PIECE) #player2 = Player("Player 2", board, Co.P2_PIECE) # View #view = TextView() view = GraphicView() # Game / Controller game = Game(board, player1, player2, view) res = game.run() if isinstance(view, GraphicView): time.sleep(5) print(res)
def main(): board = Board() engine = GameEngine(board) cross_player = AIPlayer(1, "dude", engine) noughts_player = HumanPlayer(-1, "Rand", engine) view = BoardView(board) done = False view.update() while not done: try: cross_player.make_move() view.update() if engine.game_ended(): view.reset() continue noughts_player.make_move() view.update() if engine.game_ended(): view.reset() continue for event in pygame.event.get(): if event.type == pygame.QUIT: done = True except Exception: traceback.print_exc()
def get_board(self, board_id): url = self.base_url + board_id response = self.initialize_board(url) if response is not None: data = response.json() return Board(data) else: return
def init_game(self, size): self.board = Board(size) self.speed = 10 self.prev_limit = 0 self.level_limit = 500 self.level = 1 self.score = 0 self.player.init()
def setup_boards(json_settings): for board_info in json_settings["boards"]: name = board_info["name"] threadlimit = board_info.get("threadlimit") or json_settings["default_threadlimit"] mimetypes = board_info.get("mimetypes") if mimetypes is None: mimetypes = json_settings["default_mimetypes"] extra_mimetypes = board_info.get("extra_mimetypes") if extra_mimetypes: mimetypes = mimetypes + "|" + extra_mimetypes rule_file = board_info.get("rules") rules = "" if rule_file: rules = open(os.path.join("deploy-configs", rule_file)).read() board = Board(name=name, max_threads=threadlimit, mimetypes=mimetypes, rules=rules) db.session.add(board)
import os from customjsonencoder import CustomJSONEncoder from model.Board import Board from model.Slip import gen_slip from model.Tag import Tag import model.Media import model.Poster from shared import db db.create_all() # set up some boards for board_name in ("anime", "tech", "meta", "politics", "gaming", "music"): board = Board(name=board_name) db.session.add(board) # admin credentials generation admin = gen_slip("admin", "admin") admin.is_admin = True db.session.add(admin) # special tags for tag_name, bg_style, text_style in (("general", "bg-secondary", "text-light"),): tag = Tag(name=tag_name, bg_style=bg_style, text_style=text_style) db.session.add(tag) db.session.commit() # write a secret so we can have session support open("secret", "w").write(str(os.urandom(16))) # create upload and thumbnail directory if necessary if not os.path.exists("uploads/thumb"): os.makedirs("uploads/thumb")
def __init__(self): self.board = Board() self.win = None self.setup()
board = Board.from_dict(d) assert len(board.tokens) == 2 token43, token44 = board.tokens assert token43.unit.id == "43" assert token43.position == (2, 3) assert token44.unit.id == "44" assert token44.position == (5, 7) @pytest.mark.parametrize('board, expected', [ ( Board([]), False ), ( Board([ Token(Unit(id=2, hp=0), (3, 5)) ]), False ), ( Board([ Token(Unit(id=2, hp=100), (3, 5)) ]), True ), (
from model.Snake import Snake from model.Board import Board from tkinter import Tk, Label, Button import tkinter as tk snake = Snake(0, 0, 3, 2) board = Board(20, 20) class MyFirstGUI: def __init__(self, master): self.master = master master.title("PythonGame - Snake inspired") self.label = Label(master, text="Hello in PythonGame!") self.label.pack() self.greet_button = Button(master, text="Start!", command=self.greet) self.greet_button.pack() self.close_button = Button(master, text="Hall Of Fame", command=self.hall_of_fame) self.close_button.pack() self.close_button = Button(master, text="Exit", command=master.quit) self.close_button.pack() def greet(self): print("Greetings!")
def index(): if get_slip() and get_slip().is_admin: boards = db.session.query(Board).all() slips = db.session.query(Slip).all() if (request.method == "POST"): for slip in slips: admin_status = request.form.getlist(slip.name + "_grant_admin") mod_status = request.form.getlist(slip.name + "_grant_mod") revoke_slip = request.form.getlist(slip.name + "_revoke_slip") new_board_name = request.form.getlist("board_name") # editing mod/admin status if (len(admin_status) > 0 and admin_status[0] == "on"): slip.is_admin = True else: slip.is_admin = False if (len(mod_status) > 0 and mod_status[0] == "on"): slip.is_mod = True else: slip.is_mod = False old_slip = db.session.query(Slip).filter( Slip.name == slip.name).one() old_slip.is_admin = slip.is_admin old_slip.is_mod = slip.is_mod # revoking slip if (len(revoke_slip) > 0 and revoke_slip[0] == "on"): db.session.query(Slip).filter( Slip.name == slip.name).delete() # add board if (len(new_board_name) > 0 and len(new_board_name[0]) > 0): # check to see that board already exists existing_boards = db.session.query(Board).filter( Board.name == new_board_name[0]).all() if (len(existing_boards) == 0): new_board = Board(name=new_board_name[0], max_threads=50, mimetypes="", rules="", subreddits="") db.session.add(new_board) # Delete board for board in boards: delete_board = request.form.getlist(board.name + "_delete_board") if (len(delete_board) > 0 and delete_board[0] == "on"): boards_to_delete = db.session.query(Board).filter( Board.name == board.name).all() for tmp_board in boards_to_delete: threads_to_delete = db.session.query(Thread).filter( Thread.board == tmp_board.id).all() for thread in threads_to_delete: posts_to_delete = db.session.query(Post).filter( Post.thread == thread.id).all() for post in posts_to_delete: db.session.query(Post).filter( Post.id == post.id).delete() db.session.query(Thread).filter( Thread.id == thread.id).delete() db.session.query(Board).filter( Board.id == tmp_board.id).delete() db.session.commit() # edit FAQ faq = request.form.getlist("faq") if (len(faq) > 0): faq = faq[0] # edit rules rules = request.form.getlist("rules") if (len(rules) > 0): rules = rules[0] elif (request.method == "GET"): print("doing nothing") return render_template("site-admin.html", boards=boards, slips=slips, faq=render_template("faq.html"), rules=render_template("rules.html")) else: flash("Only admins can access board administration!") return redirect(url_for("main.faq"))