Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #-------------------------------------------------------------------------- IMPORTS ---------------------------------------------------------------------------
- import time, random, pickle
- #------------------------------------------------------------------------ DEFINITIONS -------------------------------------------------------------------------
- selection = -1
- money = 0
- numOfCorrectAnswer = 0
- #--------------------------------------------------------------------- readScore FUNCTION ---------------------------------------------------------------------
- def readScore():
- scores = open('scores.pkl', 'rb')
- highscores = pickle.load(scores)
- scores.close()
- return highscores
- #--------------------------------------------------------------------- saveScore FUNCTION ---------------------------------------------------------------------
- def saveScore(highscores):
- scores = open('scores.pkl', 'wb')
- pickle.dump(highscores[:10], scores)
- scores.close()
- #---------------------------------------------------------------------- setScore FUNCTION ---------------------------------------------------------------------
- def setScore(playerName):
- global money
- highscores = []
- highscores = readScore()
- highscores.append((money, playerName))
- highscores = sorted(highscores, reverse=True)
- saveScore(highscores)
- readScore()
- #-------------------------------------------------------------------- printScore FUNCTION ---------------------------------------------------------------------
- def printScore():
- highscores = []
- name = []
- score = []
- highscores = readScore()
- for i in range(10):
- name.append(highscores[i][1])
- score.append(highscores[i][0])
- print "--------------- TOP 10 PLAYERS ---------------"
- for i in range(10):
- print str(i + 1) + ". " + name[i] + " " + str(score[i]) + "kn"
- print "----------------------------------------------"
- time.sleep(3)
- return
- #---------------------------------------------------------------- checkIsNumberInArray FUNCTION ---------------------------------------------------------------
- def checkIsNumberInArray(i, num, questionNumbers):
- for x in range(i):
- if questionNumbers[x] == num:
- return 1
- return 0
- #--------------------------------------------------------------- randomSelectQuestions FUNCTION ---------------------------------------------------------------
- def randomSelectQuestions(count):
- questionNumbers = []
- for i in range(15):
- while True:
- num = random.randint(0, count - 1)
- if checkIsNumberInArray(i, num, questionNumbers) == 0:
- questionNumbers.append(num)
- break
- return questionNumbers
- #-------------------------------------------------------------------- askQuestion FUNCTION --------------------------------------------------------------------
- def askQuestion(i, quesNum, questions, price):
- global money, numOfCorrectAnswer
- myanswer = "Ne znam"
- question = questions[quesNum][0]
- correctAnswer = questions[quesNum][1]
- answer1 = questions[quesNum][2]
- answer2 = questions[quesNum][3]
- answer3 = questions[quesNum][4]
- answer4 = questions[quesNum][5]
- print "Pitanje %d (za %dkn): " % ((i + 1), price) + "\n" + question
- time.sleep(1)
- print "a) " + answer1
- time.sleep(1)
- print "b) " + answer2
- time.sleep(1)
- print "c) " + answer3
- time.sleep(1)
- print "d) " + answer4
- selection = raw_input("Unesite tocan odgovor (a/b/c/d): ")
- if selection == 'a':
- myanswer = answer1
- elif selection == 'b':
- myanswer = answer2
- elif selection == 'c':
- myanswer = answer3
- elif selection == 'd':
- myanswer = answer4
- if myanswer == correctAnswer:
- print "----------------------------------------------\n" + "Vas odgovor je tocan, trenutno imate %dkn" % price + "\n----------------------------------------------\n"
- money = price
- numOfCorrectAnswer += 1
- return 1
- else:
- print "----------------------------------------------\n" + "Vas odgovor nije tocan!\n=> Tocan odgovor: " + correctAnswer + "\n----------------------------------------------\n"
- return 0
- #------------------------------------------------------------------ selectQuestion FUNCTION -------------------------------------------------------------------
- def selectQuestion(playerName, questions, count):
- global money, numOfCorrectAnswer
- money = 0
- numOfCorrectAnswer = 0
- questionNumbers = randomSelectQuestions(count)
- for i in range(len(questionNumbers)):
- if i == 0:
- price = 100
- else:
- price += price
- if askQuestion(i, questionNumbers[i], questions, price) == 0:
- break
- print "----------------------------------------------\n" + "Odgovorili ste tocno na %d od 15 pitanja.\nOsvojili ste %dkn." % (numOfCorrectAnswer, money) + "\n----------------------------------------------\n"
- setScore(playerName)
- time.sleep(3)
- #--------------------------------------------------------------------- readFile FUNCTION ----------------------------------------------------------------------
- def readFile(playerName):
- count = 0
- questions = []
- openedFile = open("questions.txt", "r")
- if openedFile.mode == "r":
- loadRow = openedFile.readlines()
- for oneLine in loadRow:
- sentence = oneLine.split("#")
- questions.append(sentence)
- count += 1
- selectQuestion(playerName, questions, count)
- #--------------------------------------------------------------------- addAnswer FUNCTION ---------------------------------------------------------------------
- def addAnswer():
- f = open("questions.txt","a+")
- question = raw_input("Unesite pitanje: ")
- f.write(question + "#")
- correctAnswer = raw_input("Unesite odgovor na uneseno pitanje: ")
- f.write(correctAnswer + "#")
- for i in range(4):
- answer = raw_input("Unesite odgovor %d: " % (i+1))
- if i < 3:
- f.write(answer + "#")
- else:
- f.write(answer + "\n")
- f.close
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement