Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Gde gresim? igrica u python-u

[es] :: Python :: Gde gresim? igrica u python-u

[ Pregleda: 1992 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

stevan_nk
Stevan Bogosavljevic
Niksic,Crna Gora

Član broj: 275514
Poruke: 212
*.crnagora.net.

Sajt: stevyhacker.wordpress.com


+4 Profil

icon Gde gresim? igrica u python-u13.03.2011. u 05:04 - pre 159 meseci
Pocetnik sam ali ne apsolutni :) Procitao sam 150 strana ove knjige . Napisao sam igricu vjesala ali ne znam da ispravim gresku ,stalno dobijam
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

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


Nadam se da ce mi neki pomocii
Prikačeni fajlovi
 
Odgovor na temu

stevan_nk
Stevan Bogosavljevic
Niksic,Crna Gora

Član broj: 275514
Poruke: 212
*.crnagora.net.

Sajt: stevyhacker.wordpress.com


+4 Profil

icon Re: Gde gresim? igrica u python-u13.03.2011. u 09:10 - pre 159 meseci
Ispravio sam jednu gresku u 56 liniji koda treba da stoji return listareci [indeksreci] umjesto malih zagrada treba da stoje srednje ali pojavljuje se nova
Code:
Traceback (most recent call last):
  File "/home/stevyhacker/Desktop/Python projekti/vjesala.py", line 94, in <module>
    pokusaj= pogodak (vecpogodjeno + tacnaSlova)
NameError: name 'vecpogodjeno' is not defined

 
Odgovor na temu

stevan_nk
Stevan Bogosavljevic
Niksic,Crna Gora

Član broj: 275514
Poruke: 212
*.crnagora.net.

Sajt: stevyhacker.wordpress.com


+4 Profil

icon Re: Gde gresim? igrica u python-u13.03.2011. u 09:54 - pre 159 meseci
Ispravio sam i drugu gresku ,samo je trebalo da zamjenim vecpogodjeno sa promasena slova .
Sad se moze pokrenuti program bez problema . Uploadovao sam ispravljen sad .
Prikačeni fajlovi
 
Odgovor na temu

DODER
Aleksa Doderovic
Niksic

Član broj: 276595
Poruke: 52
*.crnagora.net.



+2 Profil

icon Re: Gde gresim? igrica u python-u13.03.2011. u 10:05 - pre 159 meseci
Problem je rjesen !!!
Prije:
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 debil programer mravojed  internet laptop magarac vebsajt genije'''.split() 
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)
                igraJeZavrsena = True
        if igraJeZavrsena:
            if igratiPonovo():
                promasenaSlova = ''
                tacnaSlova = ''
                igraJeZavrsena = False
                tajnaRec = nasumicnaRec(recnik)
            else:
                print ('Pritisni ENTER da izadjes .')
                input ()
                break

Posle:
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 debil programer mravojed  internet laptop magarac vebsajt genije'.split() 
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(promasenaSlova + 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)
            igraJeZavrsena = True
    if igraJeZavrsena:
        if igratiPonovo():
            promasenaSlova = ''
            tacnaSlova = ''
            igraJeZavrsena = False
            tajnaRec = nasumicnaRec(recnik)
        else:
            break
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Python :: Gde gresim? igrica u python-u

[ Pregleda: 1992 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.