Advertisement
Fallen_Angel01134

db

Jan 10th, 2020
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.67 KB | None | 0 0
  1. import os
  2. import sqlite3
  3. import sign_up
  4. import login
  5. import game
  6.  
  7. def create():
  8. # Creates a database in RAM
  9. db = sqlite3.connect(':memory:')
  10. # Creates a file called users.sqlite with a SQLite3 DB
  11. db = sqlite3.connect('Dice_game/users.sqlite')
  12.  
  13. # Get a cursor object
  14. cursor = db.cursor()
  15. cursor.execute('''
  16. CREATE TABLE users(username TEXT,
  17. password TEXT,
  18. highscore INTEGER,
  19. wins INTEGER,
  20. loses INTEGER)
  21. ''') # Creates 5 values in the table
  22. for x in range(5):
  23. username = ("Player" + str((x+1)))
  24. password = "password"
  25. highscore = 0
  26. wins = 0
  27. loses = 0
  28. cursor.execute('''INSERT INTO users(username, password, highscore, wins, loses)
  29. VALUES(?,?,?,?,?)''', (username, password, highscore, wins, loses))
  30. db.commit()
  31. db.close()
  32. game.menu()
  33.  
  34. def exist():
  35. filename = ("Dice_game/users.sqlite")
  36. db_exists = not os.path.exists(filename)
  37. db = sqlite3.connect(filename)
  38.  
  39. if db_exists:
  40. create()
  41. else:
  42. game.menu()
  43.  
  44. '''
  45. check if server exists
  46. if it does
  47. go to menu
  48. if not
  49. create db
  50. '''
  51.  
  52. def new(username, password):
  53. db = sqlite3.connect("Dice_game/users.sqlite") # Opens db
  54. cursor = db.cursor()
  55. username = username
  56. password = password
  57. highscore = 0
  58. wins = 0
  59. loses = 0
  60.  
  61. cursor.execute('''INSERT INTO users(username, password, highscore, wins, loses)
  62. VALUES(?,?,?,?,?)''', (username, password, highscore, wins, loses)) # Adds new data to the table
  63. db.commit() # Adds it to the db
  64. db.close() # Closes the db
  65.  
  66. def delete(username, password):
  67. db = sqlite3.connect("Dice_game/users.sqlite") # Opens db
  68. cursor = db.cursor()
  69. cursor.execute('''DELETE FROM users WHERE username = (?) AND password = (?)''', (username, password))
  70. db.commit() # Adds it to the db
  71. db.close() # Closes the db
  72. print("Account deleted")
  73.  
  74. def highscore(username, highscore):
  75. db = sqlite3.connect("Dice_game/users.sqlite")
  76. cursor = db.cursor()
  77. cursor.execute('''SELECT highscore FROM users WHERE username = ?''', (username,))
  78. user = cursor.fetchone()
  79. hs = user[0]
  80.  
  81. if hs > highscore or hs == highscore:
  82. print("No knew highscore")
  83. else:
  84. update_hs(username, highscore)
  85.  
  86. def update_hs(username, highscore):
  87. db = sqlite3.connect("Dice_game/users.sqlite")
  88. cursor = db.cursor()
  89. cursor.execute('''UPDATE users SET highscore = ? WHERE username = ? ''', (highscore, username))
  90. db.commit()
  91. db.close()
  92. print("Highscore saved")
  93.  
  94. def update_p(password_new, username, password):
  95. db = sqlite3.connect("Dice_game/users.sqlite")
  96. cursor = db.cursor()
  97. cursor.execute('''UPDATE users SET password = ? WHERE username = ? AND password = ?''', (password_new, username, password))
  98. db.commit()
  99. db.close()
  100. print("Password changed")
  101.  
  102. def username_check(username):
  103. db = sqlite3.connect("Dice_game/users.sqlite")
  104. cursor = db.cursor()
  105. cursor.execute('''SELECT username FROM users WHERE username = ?''', (username,))
  106. user = cursor.fetchone()
  107.  
  108. if user is None:
  109. print("Username available")
  110. sign_up.password(username)
  111. db.commit()
  112. else:
  113. print("This username already exists")
  114. sign_up.username()
  115. db.commit()
  116.  
  117. db.close()
  118.  
  119.  
  120. def info(username):
  121. db = sqlite3.connect("Dice_game/users.sqlite")
  122. cursor = db.cursor()
  123. cursor.execute('''SELECT username, highscore, wins, loses FROM users WHERE username = ?''', (username,))
  124. user = cursor.fetchone()
  125. print("Name: " + user[0] + "\nHighscore: " + str(user[1]) + "\nWins: " +str(user[2]) + "\n Loses: " + str(user[3]))
  126.  
  127. db.commit()
  128. db.close()
  129.  
  130. def info_all():
  131. db = sqlite3.connect("Dice_game/users.sqlite")
  132. cursor = db.cursor()
  133. cursor.execute('''SELECT username, highscore FROM users''')
  134. all_rows = cursor.fetchall()
  135. all_rows = sorted(all_rows, key=lambda x: x[1], reverse=True)# sorts by second value in reverse order
  136. table = []
  137. for row in all_rows:
  138. # row[0] returns username, row[1] shows highscore
  139. table.append(f"{row[0]}: {row[1]}")
  140. for x in range(5):
  141. print(table[x])
  142.  
  143. db.commit()
  144. db.close()
  145.  
  146.  
  147. def log_in_1(username, password):
  148. db = sqlite3.connect("Dice_game/users.sqlite")
  149. cursor = db.cursor()
  150. cursor.execute('''SELECT username, password FROM users WHERE username = ? AND password = ?''', (username, password,))
  151. user = cursor.fetchone()
  152.  
  153. if user is not None:
  154. print("Welcome to the Dice Game " + username + ", you are PLAYER 1")
  155. player1 = username
  156. login.login_2(player1)
  157. else:
  158. print("The username and password do not match, please try again")
  159. login.login_1()
  160.  
  161. db.commit()
  162. db.close()
  163.  
  164.  
  165. def log_in_2(player1, username, password):
  166. db = sqlite3.connect("Dice_game/users.sqlite")
  167. cursor = db.cursor()
  168. cursor.execute('''SELECT username, password FROM users WHERE username = ? AND password = ?''', (username, password,))
  169. user = cursor.fetchone()
  170.  
  171. if user is not None:
  172. print("Welcome to the Dice Game " + username + ", you are PLAYER 2")
  173. game.game(player1, username)
  174. else:
  175. print("The username and password do not match, please try again")
  176. login.login_2(player1)
  177.  
  178. db.commit()
  179. db.close()
  180.  
  181.  
  182. def account(username, password):
  183. db = sqlite3.connect("Dice_game/users.sqlite")
  184. cursor = db.cursor()
  185. cursor.execute('''SELECT username, password FROM users WHERE username = ? AND password = ?''', (username, password,))
  186. user = cursor.fetchone()
  187.  
  188. if user is not None:
  189. print("Welcome to the Dice Game, " + username + "\n")
  190. login.login_menu(username, password)
  191. else:
  192. print("The username and password do not match, please try again")
  193. login.account()
  194.  
  195. db.commit()
  196. db.close()
  197.  
  198. def wins(username):
  199. db = sqlite3.connect("Dice_game/users.sqlite")
  200. cursor = db.cursor()
  201. cursor.execute('''Select wins FROM users WHERE username = ?''', (username,))
  202. user = cursor.fetchone()
  203. wins = user[0] + 1
  204. cursor.execute('''UPDATE users SET wins = ? WHERE username = ?''', (wins, username))
  205. db.commit()
  206. db.close()
  207.  
  208. def loses(username):
  209. db = sqlite3.connect("Dice_game/users.sqlite")
  210. cursor = db.cursor()
  211. cursor.execute('''Select loses FROM users WHERE username = ?''', (username,))
  212. user = cursor.fetchone()
  213. loses = user[0] + 1
  214. cursor.execute('''UPDATE users SET loses = ? WHERE username = ?''', (loses, username))
  215. db.commit()
  216. db.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement