Example #1
0
    def init_game(self, sfen):
        engine.setfen(sfen)
        startpos = sfen
        sfenlst = sfen.split()
        if sfenlst[1] == "b":
            if gv.verbose:
                print("setting stm to black")
            stm = BLACK
        elif sfenlst[1] == "w":
            stm = WHITE
        else:
            stm = BLACK
        engine.setplayer(stm)

        gv.usib.set_newgame()
        gv.usiw.set_newgame()
        gv.gui.set_status_bar_msg(_("ready"))
        self.gameover = False

        gv.gshogi.set_movelist([])
        gv.gshogi.set_redolist([])
        gv.gshogi.set_startpos(startpos)

        gv.board.update()

        # update move list in move list window
        self.move_list.update()

        stm = gv.gshogi.get_side_to_move()
        gv.gshogi.set_side_to_move(stm)
        gv.gui.set_side_to_move(stm)
        gv.gshogi.set_lastmove("")

        gv.tc.reset_clock()
Example #2
0
    def init_game(self, sfen):
        engine.setfen(sfen)
        startpos = sfen
        sfenlst = sfen.split()
        if sfenlst[1] == "b":
            if gv.verbose:
                print("setting stm to black")
            stm = BLACK
        elif sfenlst[1] == "w":
            stm = WHITE
        else:
            stm = BLACK
        engine.setplayer(stm)

        gv.usib.set_newgame()
        gv.usiw.set_newgame()
        gv.gui.set_status_bar_msg(_("ready"))
        self.gameover = False

        gv.gshogi.set_movelist([])
        gv.gshogi.set_redolist([])
        gv.gshogi.set_startpos(startpos)

        gv.board.update()

        # update move list in move list window
        self.move_list.update()

        stm = gv.gshogi.get_side_to_move()
        gv.gshogi.set_side_to_move(stm)
        gv.gui.set_side_to_move(stm)
        gv.gshogi.set_lastmove("")

        gv.tc.reset_clock()
Example #3
0
 def process_sfen(self, sfen):
     sfen = sfen.strip('"')
     engine.setfen(sfen)
     startpos = sfen
     sfenlst = sfen.split()
     if sfenlst[1] == "b":
         stm = BLACK
     elif sfenlst[1] == "w":
         stm = WHITE
     else:
         stm = BLACK
     engine.setplayer(stm)
     return startpos, stm
Example #4
0
 def process_sfen(self, sfen):
     move = 0
     sfen = sfen.strip('"')
     engine.setfen(sfen)
     startpos = sfen
     sfenlst = sfen.split()
     if sfenlst[1] == "b":
         stm = BLACK
     elif sfenlst[1] == "w":
         stm = WHITE
     else:
         stm = BLACK
     # only for malformed files:
     if len(sfenlst)!=3:
         if len(sfenlst) ==2:
             move = int(sfenlst[2])
     elif sfenlst[3]!="":
         move = int(sfenlst[3])
     engine.setplayer(stm)
     return startpos, stm, move
Example #5
0
    def new_game(self, menu_name):

        self.gameover = False
        engine.command("new")

        if menu_name == "NewGame":
            # Normal Game (No handicap)
            self.startpos = "startpos"
            self.start_stm = BLACK
        else:
            # Handicap Game
            self.start_stm = WHITE
            if menu_name == "LanceHandicap":
                sfen = "lnsgkgsn1/1r5b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "BishopHandicap":
                sfen = "lnsgkgsnl/1r7/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookHandicap":
                sfen = "lnsgkgsnl/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookandLanceHandicap":
                sfen = "lnsgkgsn1/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TwoPieceHandicap":
                sfen = "lnsgkgsnl/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "FourPieceHandicap":
                sfen = "1nsgkgsn1/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "SixPieceHandicap":
                sfen = "2sgkgs2/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "EightPieceHandicap":
                sfen = "3gkg3/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TenPieceHandicap":
                sfen = "4k4/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "ThreePawnHandicap":
                sfen = "4k4/9/9/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w 3p - 1"
            else:
                gv.gui.info_box("Error. Invalid menu name:" + menu_name)
                return

            engine.setfen(sfen)
            self.startpos = sfen
        self.movelist = []  #mandatory
        gv.board.update()
        # update move list in move list window
        self.move_list.update()
        # clean comments (bugfix)
        self.move_list.comments.clear_comments()
        if not BEEP:
            engine.command("beep")

        gv.usib.set_newgame()
        gv.usiw.set_newgame()
        self.movelist = []
        self.redolist = []
        #gv.gui.movestore.clear()  #kills move-box!!!!!!!!!!!!!!!!!!!!!!!!!!111
        self.lastmove = ""
        #clear comment-and move windows
        #self.move_list.comments.automatic_comment("") # just a  Test
        #print("test")
        if gv.show_moves == True:
            start, end = gv.gui.comment_view.get_buffer().get_bounds()
            gv.gui.comment_view.get_buffer().delete(start, end)
            gv.gui.comment_view.get_buffer().insert(start, "-")
            gv.gui.move_view.get_model().clear()
        gv.gui.set_status_bar_msg("")
        self.stm = self.get_side_to_move()
        gv.gui.set_side_to_move(self.stm)
        gv.tc.reset_clock()
        gv.event = "##"
        gv.gamedate = str(date.today().day) + "." + str(
            date.today().month) + "." + str(date.today().year)
        gv.gote = self.player[BLACK]
        gv.sente = self.player[WHITE]
        if gv.show_header == True:
            GLib.idle_add(gv.gui.header_lblsente.set_text, "")
            GLib.idle_add(gv.gui.header_lblgote.set_text, "")
            GLib.idle_add(gv.gui.header_lblevent.set_text, "")
            GLib.idle_add(gv.gui.header_lbldate.set_text, "")
Example #6
0
    def new_game(self, menu_name):

        self.gameover = False
        engine.command("new")

        if menu_name == "NewGame":
            # Normal Game (No handicap)
            self.startpos = "startpos"
            self.start_stm = BLACK
        else:
            # Handicap Game
            self.start_stm = WHITE
            if menu_name == "LanceHandicap":
                sfen = "lnsgkgsn1/1r5b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "BishopHandicap":
                sfen = "lnsgkgsnl/1r7/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookHandicap":
                sfen = "lnsgkgsnl/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookandLanceHandicap":
                sfen = "lnsgkgsn1/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TwoPieceHandicap":
                sfen = "lnsgkgsnl/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "FourPieceHandicap":
                sfen = "1nsgkgsn1/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "SixPieceHandicap":
                sfen = "2sgkgs2/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "EightPieceHandicap":
                sfen = "3gkg3/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TenPieceHandicap":
                sfen = "4k4/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "ThreePawnHandicap":
                sfen = "4k4/9/9/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w 3p - 1"
            else:
                gv.gui.info_box("Error. Invalid menu name:" + menu_name)
                return

            engine.setfen(sfen)
            self.startpos = sfen
        self.movelist = []  #mandatory
        gv.board.update()
        # update move list in move list window
        self.move_list.update()
        # clean comments (bugfix)
        self.move_list.comments.clear_comments()
        if not BEEP:
            engine.command("beep")

        gv.usib.set_newgame()
        gv.usiw.set_newgame()
        self.movelist = []
        self.redolist = []
        #gv.gui.movestore.clear()  #kills move-box!!!!!!!!!!!!!!!!!!!!!!!!!!111
        self.lastmove = ""
        #clear comment-and move windows
        #self.move_list.comments.automatic_comment("") # just a  Test
        #print("test")
        if gv.show_moves == True:
           start, end =gv.gui.comment_view.get_buffer().get_bounds()
           gv.gui.comment_view.get_buffer().delete(start,end)
           gv.gui.comment_view.get_buffer().insert(start,"-")        
           gv.gui.move_view.get_model().clear()
        gv.gui.set_status_bar_msg("")
        self.stm = self.get_side_to_move()
        gv.gui.set_side_to_move(self.stm)
        gv.tc.reset_clock()
        gv.event = "##"
        gv.gamedate = str(date.today().day) +"."+str(date.today().month)+"."+str(date.today().year)
        gv.gote = self.player[BLACK]
        gv.sente = self.player[WHITE]
        if gv.show_header == True:
         GLib.idle_add(gv.gui.header_lblsente.set_text, "")
         GLib.idle_add(gv.gui.header_lblgote.set_text,"")
         GLib.idle_add(gv.gui.header_lblevent.set_text, "")
         GLib.idle_add(gv.gui.header_lbldate.set_text, "")
Example #7
0
    def new_game(self, menu_name):

        self.gameover = False
        engine.command("new")

        if menu_name == "NewGame":
            # Normal Game (No handicap)
            self.startpos = "startpos"
            self.start_stm = BLACK
        else:
            # Handicap Game
            self.start_stm = WHITE
            if menu_name == "LanceHandicap":
                sfen = "lnsgkgsn1/1r5b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "BishopHandicap":
                sfen = "lnsgkgsnl/1r7/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookHandicap":
                sfen = "lnsgkgsnl/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "RookandLanceHandicap":
                sfen = "lnsgkgsn1/7b1/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TwoPieceHandicap":
                sfen = "lnsgkgsnl/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "FourPieceHandicap":
                sfen = "1nsgkgsn1/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "SixPieceHandicap":
                sfen = "2sgkgs2/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "EightPieceHandicap":
                sfen = "3gkg3/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            elif menu_name == "TenPieceHandicap":
                sfen = "4k4/9/ppppppppp/9/9/9/" \
                       "PPPPPPPPP/1B5R1/LNSGKGSNL w - 1"
            else:
                gv.gui.info_box("Error. Invalid menu name:" + menu_name)
                return

            engine.setfen(sfen)
            self.startpos = sfen

        gv.board.update()
        # update move list in move list window
        self.move_list.update()
        if not BEEP:
            engine.command("beep")

        gv.usib.set_newgame()
        gv.usiw.set_newgame()
        self.movelist = []
        self.redolist = []
        self.lastmove = ""
        gv.gui.set_status_bar_msg("")
        self.stm = self.get_side_to_move()
        gv.gui.set_side_to_move(self.stm)
        gv.tc.reset_clock()