gorefest Skrevet 30. august 2010 Del Skrevet 30. august 2010 (endret) som tittelen tilsier så ønsker jeg og lage et "matching game" (som memory, bare at alle kortene er synlige) det finnes mange programer som man kan bruke for å lage sånn men ingen av de jeg har sett kan lage det sånn som jeg vil ha det. jeg ønsker at programmet skal klare og importere parene fra en tekstfil og at den selv setter parene i tilfeldig rekkefølge. Jeg har foreløbig 50 par (navn og årstall) som jeg ønsker og bruke. Problemet med de eksisterende programmene er at kombinasjonene alltid vil være de samme, altså vil jeg at programmet skal plukke ut feks 10 par per spørsmål tilfeldig fra listen på 50 par. tekstifilen på 50 par kan f.eks se sånn ut: Jean-Baptiste Lamarck | 1744-1829 Gustav Theodor Fechner | 1801-1887 John Stuart Mill | 1806-1873 Charles Robert Darwin | 1809-1882 Alexander Bain | 1818-1903 her blir parene skilt fra med pipe tegnet, noe som et evt program burde være i stand til å jobbe med. Dermed trenger man bare et rammeverk for hvordan denne dataen skal brukes. problemet er at jeg ikke har noe særlig peiling på programmering og lurer derfor på om dette er mulig og utføre på en enkel måte? kanskje ved å bruke xml, java og batch filer (litt sånn som yamj fungerer)? noen som har en ide på hvordan dette kan gjøres? her er eksempel på hvordan jeg ønsker resultatet: Endret 30. august 2010 av gorefest Lenke til kommentar
nirolo Skrevet 31. august 2010 Del Skrevet 31. august 2010 Å lage et program som gjør dette er ikke spesielt vanskelig. Du trenger ikke xml eller batch andre spesielle ting. Det du trenger å gjøre er: 1) Lag en fil slik som du har angitt og les den inn. 2) Trekk 10 tilfeldige par fra det du har lest inn 3) Vis parene fram hulter til bulter - dette er biten som kan ta litt tid iom at du sikkert vil ha en ok grafisk framstilling. 4) La det være mulig å markere par av tallene igjen - igjen er den grafiske framstillingen det som tar litt tid Egentlig et ganske så enkelt og lite program, bortsett fra at det ofte er litt slit å få det grafiske til slik som du vil - selvfølgelig avhengig av hvor erfaren du er og hvilke krav du stiller til utseende/brukervennlighet. Lenke til kommentar
snippsat Skrevet 1. september 2010 Del Skrevet 1. september 2010 (endret) kanskje ved å bruke xml, java og batch filer (litt sånn som yamj fungerer)? Trenger ikke xml,batch,java kunne ha vært et valg. Jeg kan vise deg hvordan jeg ville startet,da blir det med python som er språket jeg liker og bruker mest. Kort forklart. Jeg leser inn data du har,rydder opp litt. Skriver data til en fil. Leser data inn i ett dictionary. Styrken med dictionary/hashmap er at du kan jobbe med key:value,viss du bare vil velge par key:value går selvføgelig dette greit også. import re from pprint import pprint from random import choice text = '''\ Jean-Baptiste Lamarck | 1744-1829 Gustav Theodor Fechner | 1801-1887 John Stuart Mill | 1806-1873 Charles Robert Darwin | 1809-1882 Alexander Bain | 1818-1903 ''' #Clean whitespace text_clean = [] for i in text.split('\n'): t = re.sub("\s+" , "", i) text_clean.append(t) #Make file and write to file fname = "pair.txt" fout = open(fname, "w") fout.write('\n'.join(text_clean)) fout.close() #Read the file in and convert to a dictionary pair_dict = {} for line in open(fname): name, year = line.split('|') pair_dict[name] = year.strip() #Now we have dictionary pprint(pair_dict) print '-'* 40 #Using pair_dict to take out 2 random pair for i in range(2): print choice(pair_dict.items()) print '-'* 40 #If we want user to pick random pair #In a GUI this would be a textboks or slider for the user to use choice_pair = int(raw_input('How many pair would you like to take out: ')) for i in range(choice_pair): print choice(pair_dict.items()) '''My output--> {'AlexanderBain': '1818-1903', 'CharlesRobertDarwin': '1809-1882', 'GustavTheodorFechner': '1801-1887', 'Jean-BaptisteLamarck': '1744-1829', 'JohnStuartMill': '1806-1873'} ---------------------------------------- ('CharlesRobertDarwin', '1809-1882') ('JohnStuartMill', '1806-1873') ---------------------------------------- How many pair would you like to take out: 4 ('Jean-BaptisteLamarck', '1744-1829') ('CharlesRobertDarwin', '1809-1882') ('GustavTheodorFechner', '1801-1887') ('JohnStuartMill', '1806-1873') ''' Endret 2. september 2010 av SNIPPSAT Lenke til kommentar
gorefest Skrevet 6. september 2010 Forfatter Del Skrevet 6. september 2010 Takk for svar, jeg skal sjekke det ut når jeg får tid. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå