• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Gra - co, jak i dlaczego poprawić?

0 głosów
53 wizyt
pytanie zadane 21 września 2021 w Python przez Hajpa Użytkownik (660 p.)

Witam!

Udało mi się napisać takie cudo. Wiem, że nie jest to najlepiej napisane, dlatego podpowiedźcie gdzie popełniłem błędy.

Nie wiedziałem jak napisać kod, w zależności od tego, kto zaczyna pierwszy, dlatego rozpisałem to na dwie funkcje.

Proszę o komentarze.

 

import random
pula = [1,2,3,4,5,6,7,8,9,10]
random.shuffle(pula)
#print(pula)
computerChoice = 0
playerChoice = 0

playerTurn = False
computerTurn = False
endGame = False
x = 0
t = 0

def playerFirst(t):
	for x in range(0, 9):
		t = x +1
		print("runda: " + str(t))
		pShot = input("Twoja kolej...")
		pShot = int(pShot)
		if pShot == computerChoice:
			print("Wygrałeś!")
			return t
# computerTurn
		cShot = (pula[x])
		print("Strzelam " + str(cShot))
		if cShot == playerChoice:
			print("Wygrałem!")
			return t

def computerFirst(x):
	for x in range(0, 9): 
		t = x+1
		print("runda: " + str(t))
		cShot = (pula[x])
		print("Strzelam " + str(cShot))
		if cShot == playerChoice:
			print("Wygrałem!")
			return t
# playerTurn
		pShot = input("Twoja kolej...")
		pShot = int(pShot)
		if pShot == computerChoice:
			print("Wygrałeś!")
			return t


# start gry
print("Zaczynajmy grę!")
print("Wybieram liczbę")
computerChoice = (random.randint(1, 10))
print(computerChoice)
playerChoice = input("Wprowadź swoją liczbę")
playerChoice = int(playerChoice)
print(playerChoice)

start = random.randint(1, 2)
if start == 1:
	print("Ja zaczynam!")
	playerTurn = False
	computerTurn = True
	t = computerFirst(x)
else:
	print("Ty zaczynasz!")
	playerTurn = True
	computerTurn = False
	t = playerFirst(x)


print ("Koniec gry. \n Rozgrywka trwała " + str(t) + " rund.")

 

komentarz 21 września 2021 przez icytower Obywatel (1,750 p.)
nie jestem specem od pythona ale dwie rzeczy moge podpowiedziec. nazewnictwo zmiennych: kazda nazwa zmiennej musi dawac jasna informacje co jest w srodku jednoliterowe nazwy zmienny prawie zawsze sa zle.

w ramach treningowych programow zawsze wszystko pisz po angielsku, przyzwyczajaj sie i trenuj jezyk w ten sposob.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 1,031 wizyt
pytanie zadane 20 października 2017 w Python przez Dawid89 Użytkownik (960 p.)
0 głosów
1 odpowiedź 202 wizyt
pytanie zadane 21 lutego 2018 w Nasze projekty przez Piotrek Czech Nowicjusz (160 p.)

86,448 zapytań

135,207 odpowiedzi

300,348 komentarzy

57,196 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...