import sqlite3 from random import randint import sys from time import time verbose = False # verbose = False conn = sqlite3.connect("computer_cards.db") def log(msg): if verbose: print("LOG:", msg) def read_all_cards(): sql = "SELECT * FROM computer" log("SQL:>>>>>" + sql + "<<<<<") result = conn.execute(sql) return result.fetchall() def insert_picked(name): sql = "INSERT INTO picked(name, time) VALUES ('{}', {})".format(name, time()) log("SQL:>>>>>" + sql + "<<<<<") conn.execute(sql) conn.commit() def read_last_picked(): sql = "SELECT * FROM picked ORDER BY time DESC" log("SQL:>>>>>" + sql + "<<<<<") result = conn.execute(sql) return result.fetchone() def pick_card(): last_picked_card = read_last_picked() log("last_picked_card:") log(last_picked_card) random_card = cards[randint(0, len(cards) - 1)] if last_picked_card is not None: while random_card[0] == last_picked_card[0]: random_card = cards[randint(0, len(cards) - 1)] insert_picked(random_card[0]) return random_card while True: player = input("Are you player (1) or (2) >") if player == "q": sys.exit(0) if player in ["1", "2"]: break cards = read_all_cards() choosing_player = "1" for r in range(5): input("Press enter to pick a card when both players are ready >") card = pick_card() print("picked card:") print("{:10}: {}".format("name", card[0])) print("{:10}: {}".format("cores", card[1])) print("{:10}: {}".format("cpu_speed", card[2])) print("{:10}: {}".format("ram", card[3])) print("{:10}: {}".format("cost", card[4])) print("Player " + choosing_player + " picks.") winner = input("Did you win? (Y)es, (N)o, (D)raw >").lower() if winner == "y": choosing_player = player elif winner == "n": choosing_player = "2" if player == "1" else "1" conn.close()