Code:
Traceback (most recent call last):
File "/home/stevyhacker/Desktop/Python projekti/vjesala.py", line 90, in <module>
tajnaRec= nasumicnaRec (recnik)
File "/home/stevyhacker/Desktop/Python projekti/vjesala.py", line 55, in nasumicnaRec
return listareci (indeksreci)
TypeError: 'list' object is not callable
Traceback (most recent call last):
File "/home/stevyhacker/Desktop/Python projekti/vjesala.py", line 90, in <module>
tajnaRec= nasumicnaRec (recnik)
File "/home/stevyhacker/Desktop/Python projekti/vjesala.py", line 55, in nasumicnaRec
return listareci (indeksreci)
TypeError: 'list' object is not callable
Mozda je neka banalna greska :( , evo izvornog koda
Code:
# jednostavna igrica vjesala
import random
import time
print ('Ovo je igrica vjesala 1.0 beta verzija')
time.sleep(1)
print ('Napravio Stevan Bogosavljevic → http://stevy.iz.rs')
print ()
time.sleep(2)
vjesalapozicije = [ '''
___
O |
|
|
|
==== ''','''
___
O |
| |
|
|
==== ''','''
___
O |
/| |
|
|
==== ''','''
___
O |
/|\ |
|
|
==== ''','''
___
O |
/|\ |
/ |
|
==== ''','''
___
O |
/|\ |
/ \ |
|
==== ''']
recnik = '''ananas banana vjetar golub dobar ekvivalent zamka impresija junastvo
lovac ornament pijanstvo rakija svet tranzicija ulica fakultet hemija
mozak programer mravojed internet laptop magarac vebsajt genije'''.split() #rijeci su bezveze ali nisu toliko vazne za ovo sad
def nasumicnaRec(listareci):
indeksreci = random.randint(0,len(listareci)-1)
return listareci (indeksreci)
def prikazTable (vjesalapozicije,promasenaSlova , tacnaSlova ,tajnaRec):
print (vjesalapozicije[len(promasenaSlova)])
print()
# Prvo definisem funkcije
print ('Promasena slova :', end = '')
for slovo in promasenaSlova:
print (slovo,end ='')
print()
polja ='_' * len(tajnaRec)
for i in range (len(tajnaRec)):
if tajnaRec [i] in tacnaSlova:
polja = polja [:i]+ tajnaRec[i] + polja[i + 1:]
for slovo in polja :
print (slovo,end='')
print()
def pogodak(vecpogodjeno):
while True :
print ('Pogodi slovo .')
pokusaj=input()
pokusaj = pokusaj.lower()
if len(pokusaj) != 1:
print ('Kucaj samo po jedno slovo !')
elif pokusaj in vecpogodjeno:
print ('Vec si probao to slovo.Izaberi ponovo.')
elif pokusaj not in 'abcdefghijklmnopqrstuvwxyz':
print ('Nemoj kucati slova sa kovrckom (šđčćž) .Ova verzija programa ih ne Podrzava')
else :
return pokusaj
def igratiPonovo():
print ('Hoces li da igras ponovo (da/ne)')
return input().lower().startswith('d')
print ('VJESALA')
promasenaSlova = ''
tacnaSlova = ''
tajnaRec= nasumicnaRec (recnik)
igraJeZavrsena = False
while True :
prikazTable(vjesalapozicije,promasenaSlova,tacnaSlova,tajnaRec)
pokusaj= pogodak (vecpogodjeno + tacnaSlova)
if pokusaj in tajnaRec:
tacnaSlova = tacnaSlova + pokusaj
svaSlovaPogodjena = True
for i in range (len(tajnaRec)):
if tajnaRec[i] not in tacnaSlova:
svaSlovaPogodjena = False
break
if svaSlovaPogodjena:
print ('Bravo ! Tajna rijec je '+ tajnaRec + 'Pobjedio si !')
igraJeZavrsena = True
else :
promasenaSlova = promasenaSlova + pokusaj
if len(promasenaSlova) == len(vjesalapozicije) -1 :
prikazTable (vjesalapozicije,promasenaSlova,tacnaSlova,tajnaRec)
print ('Istrosio si sve pokusaje !\n Posle '+ str(len(promasenaSlova)) +'promasenih pokusaja i ' + str(len(tacnaSlova)) + 'tacnih pokusaja , rijec je bila ' + tajnaRec) # zbog duzine ove linije kod se prebacuje u dvije ali u originalu je u jednoj
igraJeZavrsena = True
if igraJeZavrsena:
if igratiPonovo():
promasenaSlova = ''
tacnaSlova = ''
igraJeZavrsena = False
tajnaRec = nasumicnaRec(recnik)
else:
print ('Pritisni ENTER da izadjes .')
input ()
break
# jednostavna igrica vjesala
import random
import time
print ('Ovo je igrica vjesala 1.0 beta verzija')
time.sleep(1)
print ('Napravio Stevan Bogosavljevic → http://stevy.iz.rs')
print ()
time.sleep(2)
vjesalapozicije = [ '''
___
O |
|
|
|
==== ''','''
___
O |
| |
|
|
==== ''','''
___
O |
/| |
|
|
==== ''','''
___
O |
/|\ |
|
|
==== ''','''
___
O |
/|\ |
/ |
|
==== ''','''
___
O |
/|\ |
/ \ |
|
==== ''']
recnik = '''ananas banana vjetar golub dobar ekvivalent zamka impresija junastvo
lovac ornament pijanstvo rakija svet tranzicija ulica fakultet hemija
mozak programer mravojed internet laptop magarac vebsajt genije'''.split() #rijeci su bezveze ali nisu toliko vazne za ovo sad
def nasumicnaRec(listareci):
indeksreci = random.randint(0,len(listareci)-1)
return listareci (indeksreci)
def prikazTable (vjesalapozicije,promasenaSlova , tacnaSlova ,tajnaRec):
print (vjesalapozicije[len(promasenaSlova)])
print()
# Prvo definisem funkcije
print ('Promasena slova :', end = '')
for slovo in promasenaSlova:
print (slovo,end ='')
print()
polja ='_' * len(tajnaRec)
for i in range (len(tajnaRec)):
if tajnaRec [i] in tacnaSlova:
polja = polja [:i]+ tajnaRec[i] + polja[i + 1:]
for slovo in polja :
print (slovo,end='')
print()
def pogodak(vecpogodjeno):
while True :
print ('Pogodi slovo .')
pokusaj=input()
pokusaj = pokusaj.lower()
if len(pokusaj) != 1:
print ('Kucaj samo po jedno slovo !')
elif pokusaj in vecpogodjeno:
print ('Vec si probao to slovo.Izaberi ponovo.')
elif pokusaj not in 'abcdefghijklmnopqrstuvwxyz':
print ('Nemoj kucati slova sa kovrckom (šđčćž) .Ova verzija programa ih ne Podrzava')
else :
return pokusaj
def igratiPonovo():
print ('Hoces li da igras ponovo (da/ne)')
return input().lower().startswith('d')
print ('VJESALA')
promasenaSlova = ''
tacnaSlova = ''
tajnaRec= nasumicnaRec (recnik)
igraJeZavrsena = False
while True :
prikazTable(vjesalapozicije,promasenaSlova,tacnaSlova,tajnaRec)
pokusaj= pogodak (vecpogodjeno + tacnaSlova)
if pokusaj in tajnaRec:
tacnaSlova = tacnaSlova + pokusaj
svaSlovaPogodjena = True
for i in range (len(tajnaRec)):
if tajnaRec[i] not in tacnaSlova:
svaSlovaPogodjena = False
break
if svaSlovaPogodjena:
print ('Bravo ! Tajna rijec je '+ tajnaRec + 'Pobjedio si !')
igraJeZavrsena = True
else :
promasenaSlova = promasenaSlova + pokusaj
if len(promasenaSlova) == len(vjesalapozicije) -1 :
prikazTable (vjesalapozicije,promasenaSlova,tacnaSlova,tajnaRec)
print ('Istrosio si sve pokusaje !\n Posle '+ str(len(promasenaSlova)) +'promasenih pokusaja i ' + str(len(tacnaSlova)) + 'tacnih pokusaja , rijec je bila ' + tajnaRec) # zbog duzine ove linije kod se prebacuje u dvije ali u originalu je u jednoj
igraJeZavrsena = True
if igraJeZavrsena:
if igratiPonovo():
promasenaSlova = ''
tacnaSlova = ''
igraJeZavrsena = False
tajnaRec = nasumicnaRec(recnik)
else:
print ('Pritisni ENTER da izadjes .')
input ()
break
Nadam se da ce mi neki pomocii