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()
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
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
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, "")
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, "")
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()