import pygame, easygui, sys def main(): #All font and text font = pygame.font.SysFont("times", 30) choiceALabel = font.render("Choice A", 1, (255,255,255)) choiceBLabel = font.render("Choice B", 1, (255,255,255)) submitLabel = font.render("Submit", 1, (255,255,255)) #End of font and text attributesList = [] levelsDict = {} numTrials = 0 attributesPerPage = 0 try: attributesFile = open("surveyinfo.txt", "r") fileContents = attributesFile.read().split("\n") #Checking to see if the file contains the magic number if fileContents[0] != "040": easygui.msgbox(msg="Survey Error. File not setup properly. Please use the conjointSDT.py and export to Jacob-formatted TXT.",title="Error") return fileContentsNoMagicNumber = fileContents[1:] #Iterate everything besides the magic number to build the attributes and levels for i in range(len(fileContentsNoMagicNumber)): if i != len(fileContentsNoMagicNumber) - 1: attributesList.append(fileContentsNoMagicNumber[i].split(":")[0]) levelsDict[attributesList[i]] = fileContentsNoMagicNumber[i].split(":")[1].split(",") else: numTrials = int(fileContentsNoMagicNumber[i]) #If the file doesn't exist then exit the program except IOError: easygui.msgbox(msg="Survey Error. Missing file \"surveyinfo.txt\".",title="Error") return clock = pygame.time.Clock() screen = pygame.display.set_mode((640,480), pygame.NOFRAME) #Here we set a unique userID userID = 0 try: #Here we read from the file if we can and get the unique ID of the user userIDFile = open("id.txt", "r") userID = int(userIDFile.read()) userIDFile.close() except IOError: #If the file doesn't exist then we pass by the exception because it's not terrible pass #Here we replace the contents of the old file with a new userID userIDFile = open("id.txt", "w") userIDFile.write(str(userID+1)) userIDFile.close() #End of unique userID #Early questions here firstName = easygui.enterbox("Please enter your first name.") lastName = easygui.enterbox("Please enter your last name.") age = int(easygui.enterbox("Please enter your age.")) #End of early questions running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.MOUSEBUTTONUP: print pygame.mouse.get_pos() screen.fill((211,211,211)) pygame.draw.line(screen, (0,0,0), (453, 0), (453, 480)) pygame.draw.line(screen, (0,0,0), (266, 0), (266, 480)) pygame.draw.line(screen, (0,0,0), (0, 72), (640, 72)) pygame.draw.line(screen, (0,0,0), (0, 144), (640, 144)) pygame.draw.line(screen, (0,0,0), (0, 216), (640, 216)) pygame.draw.line(screen, (0,0,0), (0, 288), (640, 288)) pygame.draw.line(screen, (0,0,0), (0, 360), (640, 360)) pygame.draw.line(screen, (0,0,0), (0, 432), (640, 432)) pygame.draw.ellipse(screen, (255,255,255), (350,445,20,20)) pygame.draw.ellipse(screen, (0,0,0), (349,444,22,22), 1) pygame.draw.ellipse(screen, (255,255,255), (535,445,20,20)) pygame.draw.ellipse(screen, (0,0,0), (534,444,22,22), 1) screen.blit(choiceALabel, (303, 20)) screen.blit(choiceBLabel, (490, 20)) screen.blit(submitLabel, (screen.get_width()/5 - submitLabel.get_width()/2, screen.get_height() - 40)) pygame.display.update() msElapsed = clock.tick(60) if __name__ == "__main__": pygame.init() main() pygame.quit()