Lapā tiek izmantotas sīkdatnes 

Rekordu tabula


Problēmas apraksts

Lai saglabātu veiklākos spēlētājus un viņu rezultātus, spēlēs lieto rekordu tabulas, kurām savukārt izmanto vienkāršas datu bāzes.


Specifikācija

Dots programmas kods zināmai vārdu minēšanas spēlei

import random

vardi = ["LIETUSSARGS", "SPOGULIS", "ZILONIS", "MELLENE", "STĀRĶIS", "PAVASARIS", "MĀKONIS"]
vards = random.choice(vardi)
minejumi = 0

punkti = len(vards) * 10

# sastāda minamo vārdu, paslēpjot burtus
minamaisVards = list()
minamaisVards = [vards[0]] + ["_"] * (len(vards) - 2) + [vards[-1]]

# minēšanas loģika
print("***ATMINI VĀRDU***")

while "_" in minamaisVards:

    # printee minamo vārdu (tikai burtus, jo *)
    print(*minamaisVards)

    mans_burts = input("\nIevadi minējumu: ").upper()
    minejumi += 1
    for i in range(len(vards)):
        if vards[i] == mans_burts:
            minamaisVards[i] = mans_burts

    if punkti > 0:
        punkti -= 10

else:
  # printee vārdu, kad uzminēts
  print(*minamaisVards)
  print("\nBravo! Atminēji vārdu!")
  print(f"Iegūti punkti: {punkti}")

Sastādi datu bāzes izveides plānu, atbildot uz dotajiem jautājumiem!

  1. Kādus datus nepieciešams glabāt? Kādus datu tipus tiem lietot?
  2. Cik tabulas būs jāizmanto?
  3. Kādas operācijas būs nepieciešams veikt datu bāzē?
  4. Kā notiks datu atlase?

Pēc plāna uzbūvē datu bāzi, izmantojot DB Browser for SQLite.

Ievies programmas kodā izmaiņas, lai saglabātu spēlētāja rezultātu!

Savienošanās ar datu bāzi notiek šādi:

import sqlite3 # bibliotēkas pieslēgums

db = sqlite3.connect("mydb.db") # savienojums ar failu
cur = db.cursor() # kursora definēšana

cur jeb kursors vajadzīgs, lai veiktu darbības datu bāzē

Datu atlasi realizē šādi:

sql = "SELECT * FROM mana_tabula;" # vaicājums
data = cur.execute(sql).fetchall() # izveido sarakstu ar datiem