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.gui.unhilite_squares() gv.tc.reset_clock()
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: self.gui.info_box('Error. Invalid menu name:' + menu_name) return engine.setfen(sfen) self.startpos = sfen self.board.update() # update move list in move list window self.move_list.update() if not BEEP: engine.command('beep') self.usib.set_newgame() self.usiw.set_newgame() self.movelist = [] self.redolist = [] self.gui.set_status_bar_msg('') self.stm = self.get_side_to_move() self.gui.set_side_to_move(self.stm) self.gui.unhilite_squares() self.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 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 = [] gv.gui.set_status_bar_msg("") self.stm = self.get_side_to_move() gv.gui.set_side_to_move(self.stm) gv.gui.unhilite_squares() gv.tc.reset_clock()