Permalänk
Medlem

Hänga Gubbe C++ SDL

Hittade ett programmeringsprojekt jag gjorde i Programmering B som jag tänkte att kunde va kul att ladda upp:P

Man chansar på bokstäver med tangentbordet, bokstäver som lyser på tavlan betyder att dom är chansade men felaktiga. ESC för att avsluta!

Skrivet i C++ och använt mig av SDL för det grafiska:)

Vet att väldigt mkt kod är korkat gjord men jag va inte så duktig på den tiden:P Inte överdrivet mkt bättre nu heller iofs men men...

Allt finns med inkl källkod!

VARNING: Kan ge blåskärm med vista, vet ej varför!

Spelet finns att ladda ner här!

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Funkar i Vista 32 utan problem. En vanlig applikation kan inte orsaka blåskärmar då endast kernelkod kan trigga en BSOD. Om man får det så beror det snarare på dåliga drivrutiner.

Visa signatur

Intel Core i7-3770K | NVIDIA Geforce GTX 980 | 16 GB DDR3 | DELL P2415Q | DELL U2711 | DELL U2410

Permalänk
Medlem

Lustigt, redigerar lite då i posten:)

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk
Medlem

Har gjort ett Hangmanspel jag med, fast inte lika snyggt med grafiken och skrivit i C#.

http://www.speedyshare.com/data/905974852/17740539/14299502/e...

Permalänk
Medlem

Har inte testat några av era program, men hur fungerar det med orden, hämtas dom från någon svensk ordbok på nätet eller något? vore lite ballt annars...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Dalton Sleeper
Har inte testat några av era program, men hur fungerar det med orden, hämtas dom från någon svensk ordbok på nätet eller något? vore lite ballt annars...

Jag använde en ordlista från en textfil och läste in det till en array som jag sedan slumpade ett ord ur. Vilket var något krävande då den måste läsa in alla tusen ord...

Permalänk
Medlem

Okey, så länge det är bra mycket ord så
Ni vill inte pröva på att göra programmet som java applet & lägga på nån hemsida? Dock vet jag inte hur man skulle få kontakt med ordboken om den ligger på en annan sida, har bara lyckats komma åt filer i root foldern eftersom filhanteringen är begränsad, om man inte ställer om permissions etc... Men lägga som en textfil är ju inget problem...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Eight888
Jag använde en ordlista från en textfil och läste in det till en array som jag sedan slumpade ett ord ur. Vilket var något krävande då den måste läsa in alla tusen ord...

Tips: öppna textfilen, välj slumpmässigt en position mellan 0 och filens längd, leta upp närmaste radbryt och läs av ordet. Kommer gå en hel del snabbare

Citat:

Ursprungligen inskrivet av Dalton Sleeper
Dock vet jag inte hur man skulle få kontakt med ordboken om den ligger på en annan sida

Om man inte har den i XML- eller RSS-format eller liknande, får man crawla sidan - alltså låta sin applikation hämta ner sidan och läsa ut ett ord. Det går i Java, C#, C, JavaScript etc.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av azoapes
Tips: öppna textfilen, välj slumpmässigt en position mellan 0 och filens längd, leta upp närmaste radbryt och läs av ordet. Kommer gå en hel del snabbare

Jo har tänkt på att det skulle gå att göra så, men jag har inte fattat hur bara.

Skulle du kunna skriva lite snabbt koden för det? Lär ju inte vara mer än någon rad eller två

Permalänk
Hedersmedlem

Titta till exempel på
"System.IO.StreamReader"
och dess egenskap
"BaseStream.Position"

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Eight888
Skulle du kunna skriva lite snabbt koden för det? Lär ju inte vara mer än någon rad eller två

Du lär dig mer på att lista ut det själv. Använd Visual Studio till att ta reda på vilka metoder som objekten har, börja med en StreamReader som Elgot föreslår. Om du fastnar, googlar du på "c# read text file", så får du fram bra träffar.

Permalänk

Skulle vara lite kul om någon gjorde ett hängagubbe med dator/teknikord och liknande endast, skulle kunna vara rätt skoj och skulle sticka ut från alla andra hänga gubben spel.

Visa signatur

[i7 2600k @ 5GHz| NH-D14, fläktar utbyta mot ljudlösa 120mm SySS 800| Asus P8P67| HD6870 DirectCU| Corsair 4x8GB (32GB) 1600MHz DDR3| Moddat Corsair 550VX | Mac Pro / G5 Chassi| 2x120GB raid0 Intel 520 sys+ 2x3TB slask & home (riktig lagring på 12TB ZRAID NAS som även home backuppas/rsyncas till) ] - Helt ljudlös om man inte lägger örat intill chassit
[ MacBook Pro Retina 13 | 16GB ram | 256GB PCIe SSD | OS X(main), Arch ]

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av azoapes
Tips: öppna textfilen, välj slumpmässigt en position mellan 0 och filens längd, leta upp närmaste radbryt och läs av ordet. Kommer gå en hel del snabbare

Om man inte har den i XML- eller RSS-format eller liknande, får man crawla sidan - alltså låta sin applikation hämta ner sidan och läsa ut ett ord. Det går i Java, C#, C, JavaScript etc.

Om man söker på det viset kommer det ju vara större sannolikhet för längre ord (eller ord som kommer efter ett långt ord, beroende på hur man bygger det). Skulle bli lite bättre om man tog en slumpmässig position + ett slumpmässigt antal ord.

Även om man har filen i XML-format måste den ju fortfarande läsa in och parse:a hela filen (om man inte kör typ SAX eller nåt, men då måste man veta hur många ord man ska "stega förbi" och måste i genomsnitt ändå söka igenom halva filen).

Ett sätt att snabba upp sökningen skulle vara att dela upp filen i lika stora stycken som alla innehåller lika många ord. T.ex. dela upp den i stycken om 100 ord, och pad:a alla såna stycken med blanksteg/radbryt så de alla är 1000 bytes långa (eller vad som nu råkar vara storleken på det största stycket). Sen tar man filen, söker till en slumpmässig jämn multipel av 1000 (eventuellt med nån korrigering för att den sista klumpen kanske har färre ord), läser in hela det stycket (bara 1000 bytes / 100 ord, går fort), och väljer ett slumpmässigt ord däri.
Då har man i princip byggt en något förenklad indexerad databas.

Jag har iofs svårt att tro att det ska vara något problem att suga i sig hela filen rakt av. Jag har ett program som läser in en ordlista (en några utgåvor gammal SAOL) på 90000 ord/1MB, och det steget tar mindre än 1/10 sekund. Svårt att mäta exakt, men det verkar vara typ 4-6 hundradels sekunder.

Visa signatur

Min dator är tuffare än din.

Permalänk
Hedersmedlem
Citat:

Ursprungligen inskrivet av Stack
Även om man har filen i XML-format måste den ju fortfarande läsa in och parse:a hela filen (om man inte kör typ SAX eller nåt, men då måste man veta hur många ord man ska "stega förbi" och måste i genomsnitt ändå söka igenom halva filen).

Ju komplexare format man väljer desto mer behöver man förmodligen läsa för att kunna tolka det. Om man har en ren textfil kan man börja läsa var som helst.

Permalänk
Medlem

Jag skulle säga tvärtom, med ett mer komplext format (t.ex. en fil med ett komplett index) kan man klara sig med ytterst få filaccesser (typ tre). Just i det här fallet vore det nog overkill, då det bara är nån megabyte data.

Visa signatur

Min dator är tuffare än din.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Stack
Jag skulle säga tvärtom, med ett mer komplext format (t.ex. en fil med ett komplett index) kan man klara sig med ytterst få filaccesser (typ tre). Just i det här fallet vore det nog overkill, då det bara är nån megabyte data.

Om du jämför XML och textfil så är XML det mer komplexa formatet, och kräver långt många fler läsningar för att få ut en bit enkel data. Att generalisera och säga att det ena eller andra är bättre går inte, ett komplext dataformat kan vara optimerat för snabb inläsning, eller inte.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av -=|ZetaXtreme|=-
Skulle vara lite kul om någon gjorde ett hängagubbe med dator/teknikord och liknande endast, skulle kunna vara rätt skoj och skulle sticka ut från alla andra hänga gubben spel.

Gör en själv, byt bara ut orden i min ordlista och så e det klart;)

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk

Jo men jag orkar nog personligen inte byta ut alla orden. Om det nu inte finns någon färdig lista av det slaget men det tror jag inte.

Visa signatur

[i7 2600k @ 5GHz| NH-D14, fläktar utbyta mot ljudlösa 120mm SySS 800| Asus P8P67| HD6870 DirectCU| Corsair 4x8GB (32GB) 1600MHz DDR3| Moddat Corsair 550VX | Mac Pro / G5 Chassi| 2x120GB raid0 Intel 520 sys+ 2x3TB slask & home (riktig lagring på 12TB ZRAID NAS som även home backuppas/rsyncas till) ] - Helt ljudlös om man inte lägger örat intill chassit
[ MacBook Pro Retina 13 | 16GB ram | 256GB PCIe SSD | OS X(main), Arch ]

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av -=|ZetaXtreme|=-
Jo men jag orkar nog personligen inte byta ut alla orden. Om det nu inte finns någon färdig lista av det slaget men det tror jag inte.

precis det e lite jobbigt:)

Visa signatur

Burk Nr.1 : Asus P8Z68 V-Pro | i7 2600k @ 4,4 | EVGA GTX780 Classified | Corsair Vengeance 8GB DDR3 1600Mhz | Corsair Obsidian 650D | Corsair TX650M | Corsair H100

Burk Nr.2 : MSI P35 Neo2 | Core 2 Duo E6850 @ 3,2Ghz | Powercolor Radeon HD5850 1GB | Corsiar Twin2X 6400 2x2GB | Corsair 550W

Permalänk

sist jag spelade hangman var på min vic 20!

Visa signatur

Antec Performance P182 | Intel Core i7 920 | Gigabyte GeForce GTX 660Ti | Gigabyte GA-EX58-DS4 | Corsair XMS3 1333 MHz 6 GB | Samsung SpinPoint F3 | Corsair 650TX | Windows 7 x86-64 | QPAD MK-50

Permalänk
Arvid Nordqvist-mannen

Prövat på Windows 7 RC och verkar funka helt ok:)

Kanske kan få morsan och syrran att lära sig skriva bättre på tangentbordet:p