pare
8e97d40526
commit
b28fbaf764
S'han modificat 4 arxius amb 88 adicions i 10 eliminacions
|
@ -54,5 +54,5 @@ leave_a_game: fi (per a deixar la partida en qualsevol moment)
|
|||
list_games: jocs (mostra un llistat de partides actives)
|
||||
get_a_game_anotation: envia 1 (1 és el número de la partida. Envia les anotacions de la partida per correu electrònic, només usuaris del servidor local)
|
||||
show_help: ajuda (mostra aquesta ajuda i, per tant, és l'ajuda de l'ajuda)
|
||||
|
||||
stalemate_str: taules! partida finalitzada.
|
||||
|
||||
|
|
|
@ -54,5 +54,5 @@ leave_a_game: end (to leave the game any time)
|
|||
list_games: games (show an on going games list)
|
||||
get_a_game_anotation: send 1 (1 is the game number. It send the game's anotations by email but local users only)
|
||||
show_help: help (show this help so, it's the help of the help)
|
||||
|
||||
stalemate_str: stalemate! game is over.
|
||||
|
||||
|
|
|
@ -54,5 +54,5 @@ leave_a_game: fin (para dejar la partida en cualquier momento)
|
|||
list_games: partidas (muestra un listado de partidas activas)
|
||||
get_a_game_anotation: envia 1 (1 es el número de la partida. Envia las anotaciones de la partida pedida por correo electrónico pero sólo a usuarios del servidor local)
|
||||
show_help: ayuda (muestra esta ayuda y, por tanto, es la ayuda de la ayuda)
|
||||
|
||||
stalemate_str: Tablas! la partida ha terminado.
|
||||
|
||||
|
|
|
@ -710,14 +710,64 @@ def send_anotation(game_id):
|
|||
pass
|
||||
return emailed
|
||||
|
||||
def close_game():
|
||||
def close_game(username):
|
||||
|
||||
try:
|
||||
|
||||
conn = None
|
||||
|
||||
conn = psycopg2.connect(database = chess_db, user = chess_db_user, password = "", host = "/var/run/postgresql", port = "5432")
|
||||
|
||||
cur = conn.cursor()
|
||||
|
||||
cur.execute("select white_user, black_user from games where game_id=(%s)", (game_id,))
|
||||
|
||||
row = cur.fetchone()
|
||||
|
||||
if row != None:
|
||||
|
||||
white_player = row[0]
|
||||
|
||||
black_player = row[1]
|
||||
|
||||
cur.close()
|
||||
|
||||
except (Exception, psycopg2.DatabaseError) as error:
|
||||
|
||||
sys.exit(error)
|
||||
|
||||
finally:
|
||||
|
||||
if conn is not None:
|
||||
|
||||
conn.close()
|
||||
|
||||
now = datetime.now()
|
||||
|
||||
winner = ''
|
||||
|
||||
waiting = False
|
||||
|
||||
finished = True
|
||||
|
||||
if stalemate == True:
|
||||
|
||||
winner = "stalemate"
|
||||
|
||||
if black_user == '':
|
||||
|
||||
winner = 'none'
|
||||
|
||||
else:
|
||||
|
||||
if query_word == search_end and username == white_user and stalemate == False:
|
||||
|
||||
winner = black_user
|
||||
|
||||
elif query_word == search_end and username == black_user and stalemate == False:
|
||||
|
||||
winner = white_user
|
||||
|
||||
try:
|
||||
|
||||
conn = None
|
||||
|
@ -728,7 +778,7 @@ def close_game():
|
|||
|
||||
cur.execute("update games set waiting=(%s), finished=(%s), updated_at=(%s) where game_id=(%s)", (waiting, finished, now, game_id))
|
||||
|
||||
cur.execute("update stats set winner=(%s), finished=(%s), updated_at=(%s) where game_id=(%s)", (username, finished, now, game_id))
|
||||
cur.execute("update stats set winner=(%s), finished=(%s), updated_at=(%s) where game_id=(%s)", (winner, finished, now, game_id))
|
||||
|
||||
conn.commit()
|
||||
|
||||
|
@ -1483,6 +1533,10 @@ if __name__ == '__main__':
|
|||
|
||||
promoted = False
|
||||
|
||||
stalemate = False
|
||||
|
||||
checkmate = False
|
||||
|
||||
try:
|
||||
|
||||
piece_square_index = chess.SQUARE_NAMES.index(moving[:2])
|
||||
|
@ -1557,11 +1611,17 @@ if __name__ == '__main__':
|
|||
king_square = board.king(chess.WHITE)
|
||||
check = True
|
||||
|
||||
if board.is_stalemate() == True:
|
||||
|
||||
stalemate = True
|
||||
|
||||
if board.is_game_over() == True:
|
||||
|
||||
game_moves = board.ply()
|
||||
|
||||
close_game()
|
||||
close_game(username)
|
||||
|
||||
if stalemate == False:
|
||||
|
||||
checkmate = True
|
||||
|
||||
|
@ -1589,6 +1649,22 @@ if __name__ == '__main__':
|
|||
|
||||
toot_text += playing_user + ': ' + str(wins) + ' ' + wins_of_many + ' ' + str(played_games) + "\n"
|
||||
|
||||
elif check == False and stalemate == True:
|
||||
|
||||
toot_text = stalemate_str + ' (' + str(game_moves) + ')' + '\n'
|
||||
|
||||
toot_text += '\n@'+playing_user + ', ' + '@'+username + "\n"
|
||||
|
||||
toot_text += '\n' + winned_games + "\n"
|
||||
|
||||
played_games, wins = get_stats(username)
|
||||
|
||||
toot_text += username + ': ' + str(wins) + ' ' + wins_of_many + ' ' + str(played_games) + "\n"
|
||||
|
||||
played_games, wins = get_stats(playing_user)
|
||||
|
||||
toot_text += playing_user + ': ' + str(wins) + ' ' + wins_of_many + ' ' + str(played_games) + "\n"
|
||||
|
||||
else:
|
||||
|
||||
toot_text = '@'+playing_user + ' ' + your_turn + '\n'
|
||||
|
@ -1667,6 +1743,8 @@ if __name__ == '__main__':
|
|||
|
||||
elif query_word == search_end:
|
||||
|
||||
stalemate = False
|
||||
|
||||
if black_user != '':
|
||||
|
||||
if username == white_user:
|
||||
|
@ -1675,7 +1753,7 @@ if __name__ == '__main__':
|
|||
|
||||
mastodon.status_post(toot_text, in_reply_to_id=status_id,visibility=visibility)
|
||||
|
||||
close_game()
|
||||
close_game(username)
|
||||
|
||||
update_replies(status_id, username, now)
|
||||
|
||||
|
@ -1689,7 +1767,7 @@ if __name__ == '__main__':
|
|||
|
||||
mastodon.status_post(toot_text, in_reply_to_id=status_id,visibility=visibility)
|
||||
|
||||
close_game()
|
||||
close_game(username)
|
||||
|
||||
update_replies(status_id, username, now)
|
||||
|
||||
|
@ -1703,7 +1781,7 @@ if __name__ == '__main__':
|
|||
|
||||
mastodon.status_post(toot_text, in_reply_to_id=status_id, visibility=visibility)
|
||||
|
||||
close_game()
|
||||
close_game(username)
|
||||
|
||||
update_replies(status_id, username, now)
|
||||
|
||||
|
|
Loading…
Referencia en una nova incidència