Advertisement
maroph

2_player_game.py

Nov 17th, 2019
300
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.99 KB | None | 0 0
  1. import sqlite3
  2. from random import randint
  3. import sys
  4. from time import time
  5.  
  6. verbose = False
  7. # verbose = False
  8.  
  9. conn = sqlite3.connect("computer_cards.db")
  10.  
  11.  
  12. def log(msg):
  13.     if verbose:
  14.         print("LOG:", msg)
  15.  
  16.  
  17. def read_all_cards():
  18.     sql = "SELECT * FROM computer"
  19.     log("SQL:>>>>>" + sql + "<<<<<")
  20.     result = conn.execute(sql)
  21.     return result.fetchall()
  22.  
  23.  
  24. def insert_picked(name):
  25.     sql = "INSERT INTO picked(name, time) VALUES ('{}', {})".format(name, time())
  26.     log("SQL:>>>>>" + sql + "<<<<<")
  27.     conn.execute(sql)
  28.     conn.commit()
  29.  
  30.  
  31. def read_last_picked():
  32.     sql = "SELECT * FROM picked ORDER BY time DESC"
  33.     log("SQL:>>>>>" + sql + "<<<<<")
  34.     result = conn.execute(sql)
  35.     return result.fetchone()
  36.  
  37.  
  38. def pick_card():
  39.     last_picked_card = read_last_picked()
  40.     log("last_picked_card:")
  41.     log(last_picked_card)
  42.  
  43.     random_card = cards[randint(0, len(cards) - 1)]
  44.  
  45.     if last_picked_card is not None:
  46.         while random_card[0] == last_picked_card[0]:
  47.             random_card = cards[randint(0, len(cards) - 1)]
  48.  
  49.     insert_picked(random_card[0])
  50.     return random_card
  51.  
  52.  
  53. while True:
  54.     player = input("Are you player (1) or (2) >")
  55.     if player == "q":
  56.         sys.exit(0)
  57.     if player in ["1", "2"]:
  58.         break
  59.  
  60. cards = read_all_cards()
  61. choosing_player = "1"
  62. for r in range(5):
  63.     input("Press enter to pick a card when both players are ready >")
  64.  
  65.     card = pick_card()
  66.     print("picked card:")
  67.     print("{:10}: {}".format("name", card[0]))
  68.     print("{:10}: {}".format("cores", card[1]))
  69.     print("{:10}: {}".format("cpu_speed", card[2]))
  70.     print("{:10}: {}".format("ram", card[3]))
  71.     print("{:10}: {}".format("cost", card[4]))
  72.  
  73.     print("Player " + choosing_player + " picks.")
  74.     winner = input("Did you win? (Y)es, (N)o, (D)raw >").lower()
  75.  
  76.     if winner == "y":
  77.         choosing_player = player
  78.     elif winner == "n":
  79.         choosing_player = "2" if player == "1" else "1"
  80.  
  81.  
  82. conn.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement