Sasniedzamais rezultāts: Lietot PEP 8 stila vadlīnijas un automatizētus rīkus, lai strukturētu kodu pa failiem un izveidotu spēles mehānikas funkcijas.
SR 2.4.8. (Koda noformēšanas kultūra)PEP 8 ir pasaulē atzīts Python "etiķetes noteikumu" standarts. Labi noformēts kods ietaupa laiku gan Tev, gan Taviem komandas biedriem, jo kodu praksē daudz biežāk lasa nekā raksta.
# 1. Konstantes raksta ar lielajiem burtiem
MAKS_HP = 100
# 2. snake_case nosaukumi un 3. atstarpes ap operatoriem
def aprekinat_bojas(pamata_bojas, bonuss):
# Atkāpes ir tieši 4 atstarpes
kopejas_bojas = pamata_bojas + bonuss
return kopejas_bojas
# 4. Starp funkcijām ir tieši divas tukšas rindas
rezultats = aprekinat_bojas(10, 5)
mana_spele).MAKS_HP = 100).=, +, -, * u.c.) un aiz komatiem vienmēr jāliek atstarpes."""...""".Tavs uzdevums ir izglābt un padarīt modulāru nekārtīgi uzrakstītu laupījuma (loot) ģenerēšanas skriptu, stingri sekojot PEP 8 standartiem.
inventars.py un iekopē tajā šo haotisko kodu:
def genLoot(lvl):
import random
#ģenerē dārgumus
somLiel = 20
m=["Zelts","Zobens","Nekas"]
if random.randint(1,100)<=lvl*10:return m[0]
else:return random.choice(m)
def PrintInv(inv):
print("Inventārs:"+str(inv))
generet_laupijumu).#ģenerē mantas ar profesionālu docstring funkcijas iekšpusē un atstāj 2 tukšas rindas starp funkcijām.spele.py. Tajā importē šīs funkcijas un notestē to darbību, padodot spēlētāja līmeni.Integrēsi un izmantosi koda formatēšanas paplašinājumu VS Code vidē, lai automatizētu stila kļūdu labošanu.
testa_vide.py un saraksti tīši nepareizi noformētu kodu vienā garā rindā bez atstarpēm (piem., import time;def f(x):time.sleep(1);return x*2+5).Shift + Alt + F (Format Document).Izstrādāsi modularizētu spēles teksta izvades funkciju, kas izmanto time bibliotēku un perfekti atbilst PEP 8 standartiem.
riki.py.pauze_pirms_teksta(teksts, sekundes), kas vispirms pagaida norādīto laiku izmantojot time.sleep(), un tad izvada tekstu.spele.py importē šo funkciju un izmanto to, lai radītu spriedzi pirms cīņas sākuma (piem., izvadot "Gatavojies cīņai...", tad pēc 2 sekundēm "...CĪŅA SĀKAS!").Izaicinājums: Izveido neatkarīgu kaujas loģikas moduli un veic tā pilnu stilistisko pārbaudi.
kaujas_logika.py un importē random.aprekinat_uzbrukumu(bazes_bojas, krit_sance).random.random(). Ja nejaušais skaitlis (no 0.0 līdz 1.0) ir mazāks vai vienāds ar krit_sance (piemēram, 0.2 jeb 20%), funkcija atgriež dubultotas bāzes bojājumus. Ja nē, atgriež parastos.spele.py failā vismaz 5 reizes ciklā, lai notestētu, cik bieži izkrīt kritiskais trāpījums. Formatē visu projektu ar Shift + Alt + F.# --- SLIKTI ---
def f(x,y):
return x+y
print(f(1,2))
# --- LABI (PEP 8) ---
def aprekinat_summu(pirmais_skaitlis, otrais_skaitlis):
"""Atgriež divu skaitļu matemātisko summu."""
return pirmais_skaitlis + otrais_skaitlis
rezultats = aprekinat_summu(1, 2)
print(rezultats)