Example #1
0
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")
Example #2
0
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_())
Example #3
0
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)
Example #4
0
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
Example #6
0
 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()
Example #7
0
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)
Example #8
0
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")
Example #9
0
    def __init__(self):
        self.board = Board()
        self.win = None

        self.setup()
Example #10
0
    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
    ),
    (
Example #11
0
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!")
Example #12
0
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"))