Forum huvudsida -> Programmering -> Global Struct
Sidor: 1
prog_anton | 12:52 - 14:e Oktober 2007 | Post #1 | |
Medlem Inlägg: 9 Skicka PM |
Hejsan! Jag är en relativt ny programmerare som nyligen inlett arbetet med ett spel. Har dock stött på ett litet problem. Jag vill skapa en struct med variabler för en hjälte och möjligen också för monstren han möter. Jag vill sedan kunna tilldela värden till dessa variabler i funktionen "creation()" för att de sedan skall kunna användas ute i "world()" funktionen och även i "levelup" funktionen där de skall kunna ändras. ,,r detta möjligt? All hjälp är välkommen. Tack på förhand!
Jag valde att inte ta med hela källkoden för att spara rum men vill någon se allt så säg bara till. ------------------------- "...There is only do" |
Slash | 14:05 - 14:e Oktober 2007 | Post #2 | |
Medlem Inlägg: 141 Skicka PM |
Det finns ganska många sätt att lösa detta på. Ser ut som att du kodar C++ så jag anpassar det till det, men lösning ett och två går att skriva om till C utan större problem. 1a) Med hjälp av pekare så kan det se ut så här:
1b) Med en referens så kan du få det att se lite finare ut (bara C++)
2) Eftersom du ska skapa en så kan du göra en create-funktion
3) Det här sättet är det som jag rekommenderar: använd klasser!
Hmm kanske blev lite för många val, men fråga om det är något som är oklart EDIT: Om du jättegärna vill kan du ju göra en global variabel. Men det är inte nånting som i allmänhet rekommenderas. Det är bara så här:
Men som du ser så är det inte speciellt tydligt vad som händer. Finns inget sätt att se att creation på något vis påverkar variabeln man, vilket gör att man måste läsa varenda funktion i ditt program för att se vad som verkligen pågår. ------------------------- Ingen sigantur! Senast redigerad 14:12 - 14:e Oktober 2007 |
prog_anton | 14:16 - 14:e Oktober 2007 | Post #3 | |
Medlem Inlägg: 9 Skicka PM |
Tack så mycket, trevligt att jag fick så många alternativ av dig. Jag ska testa det du sagt och se, jag hör av mig när jag löst det eller om jag inte lyckas. Tack igen ------------------------- "...There is only do" |
prog_anton | 17:30 - 14:e Oktober 2007 | Post #4 | |
Medlem Inlägg: 9 Skicka PM |
Hej igen! Har kollat igenom dina förslag och följt ditt råd med att använda klasser. Har dock två frågor till. Jag valde att låta användaren namnge karaktären själv, vilket han/hon skall göra i spelet. Detta funkade bra i main men när jag prövade att kalla på namnet igen i test funktionen så uppstod kompileringsfel. Hur kan jag lösa detta? Jag undrar också hur jag gör för att inkludera fler variabler i min klass. Anar hur jag kanske bör göra men aldrig fel att fråga så man gör det mest effektiva. Tack igen.
Kompileringsfel: rad 52 "Character man(namn);" Namn undeclared. ------------------------- "...There is only do" |
Slash | 19:02 - 14:e Oktober 2007 | Post #5 | |
Medlem Inlägg: 141 Skicka PM |
Ja, du kan inte komma åt variabler hur som helst mellan funktioner. När du skapar ''man'' i main så måste du använda just den sen även på andra ställen, annars blir det en helt nytt och orelaterat objekt. Det smidigaste i det här fallet är att skicka med den som en referens:
Jag vet inte hur van du är med programmering. Men om klasser känns väldigt främmande kanske du ska börja med globala variabler och så för att få in känslan. Och först sen gå över till klasser när du insett hur osmidigt globala variabler kan bli efter ett tag. ------------------------- Ingen sigantur! Senast redigerad 19:03 - 14:e Oktober 2007 |
prog_anton | 19:36 - 14:e Oktober 2007 | Post #6 | |
Medlem Inlägg: 9 Skicka PM |
Du har säkert rätt. Jag går just nu prog. kurs A och har inte mycket erfarenhet. Det som är dumt är att jag sprungit lite långt fram och min lärare är inte så engagerad i att hjälpa till. Har också fått lite problem med fstream i avancerad kurs. tror det kan bero på att jag har dev-cpp men jag vet inte. Har liksom haft en tendens att ta mig vatten över huvudet. Men det är bara för att detta är så kul. Tack för all hjälp ------------------------- "...There is only do" |
Sidor: 1
Forum huvudsida -> Programmering -> Global Struct
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-06 12:52
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.