maroph icon

2_player_game.py

maroph | PRO | 11/17/19 09:58:53 AM UTC | 0 ⭐ | 525 👁️ | Never ⏰ | []
Python |

1.99 KB

|

None

|

0 👍

/

0 👎

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

Comments