Text Based RPG - Ideeen/ Problemen

Status
Niet open voor verdere reacties.

555Martijn

Gebruiker
Lid geworden
15 jun 2008
Berichten
163
Hallo, en bedankt voor het lezen!

Aangepast, beantwoorden vragen er uit gehaald.

Ik ben op het moment bezig met een "text based role playing game", dus een spelletje.


Het idee is, je ben een soort van leider van een klein groepje mensen, en je kan andere kampen aanvallen, en dan krijg je wat geld, en kan je meer manschappen kopen, gebouwen bouwen, upgrades kopen, en als ik nog iets bedenk, dan dat ook ;)

---

Natuurlijk kan je niet de heletijd een vijand aanvallen, daar moet een soort van "timer" in zitten, dan je mischien maar 1 keer per dag kan doen, of dat je een minuut moet wachten, ik weet nog niet wat het leukst is (geef vooral je mening wat jouw het leukst lijkt)

is er een functie die ik hiervoor kan gebruiken? (minuut, of mischien wel dag / halve dag)

--

Ook is het natuurlijk jammer als je elke keer weer opnieuw zal moeten beginnen, dus is een spel "saven" mogelijk? (Ik ben geen expert, dus als het vrij moeilijk is, zeg dat gewoon)

--
Niets met C++ te maken, maar als je nog suggesties of ideeen voor het spel heb, zeg het vooral!

PS: zoek ook nog een naam ;) (ben ik zo slecht in haha)


Bedankt voor het lezen.
 
Laatst bewerkt:
Code:
cout << "You have succesfully raided an enemy and retrieved " Gold_Raided << " gold." endl;

Je moet de operator << tussen de string en de variabele plaatsen:

Code:
cout << "You have succesfully raided an enemy and retrieved " [b]<<[/b] Gold_Raided << " gold." [b]<<[/b] endl;

edit: niet helemaal goed gelezen. :)

Natuurlijk kan je niet de heletijd een vijand aanvallen, daar moet een soort van "timer" in zitten, dan je mischien maar 1 keer per dag kan doen, of dat je een minuut moet wachten, ik weet nog niet wat het leukst is (geef vooral je mening wat jouw het leukst lijkt)

is er een functie die ik hiervoor kan gebruiken? (minuut, of mischien wel dag / halve dag)

Er zal geen kant en klare functie zijn. Maar je kunt toch gewoon bijhouden wanneer de laatste aanval is geweest ?

Ook is het natuurlijk jammer als je elke keer weer opnieuw zal moeten beginnen, dus is een spel "saven" mogelijk? (Ik ben geen expert, dus als het vrij moeilijk is, zeg dat gewoon)

Het is zeker wel mogelijk om de toestand van het spel te saven, en het zal niet eens zo gek moeilijk moeten zijn. (hangt natuurlijk ook af van je structuur; Maar ga eens na wat er allemaal bewaard moet worden om het spel weer te kunnen laden)
 
Laatst bewerkt:
Je moet de operator << tussen de string en de variabele plaatsen:

Ik wist dat het simpel was, bedankt.

Er zal geen kant en klare functie zijn. Maar je kunt toch gewoon bijhouden wanneer de laatste aanval is geweest ?
Dus als in een aanval om 13.00, en dan de volgende toestaan om 14.00? Ja, maar hoe? Ik heb geen flauw idee.


Het is zeker wel mogelijk om de toestand van het spel te saven, en het zal niet eens zo gek moeilijk moeten zijn. (hangt natuurlijk ook af van je structuur; Maar ga eens na wat er allemaal bewaard moet worden om het spel weer te kunnen laden)

Niet zo gek veel, hoeveel gold, welke upgrades etc.
Moet je dat dan in een aparte textbestand opslaan? Ik heb geen idee om eerlijk te zijn ^^

bedankt voor het reageren :thumb:
 
Laatst bewerkt:
Dus als in een aanval om 13.00, en dan de volgende toestaan om 14.00? Ja, maar hoe? Ik heb geen flauw idee.

Je zou alle aanvallen kunnen loggen(dus inclusief tijd) en met die gegevens controleren of een aanval geldig is.

Niet zo gek veel, hoeveel gold, welke upgrades etc.
Moet je dat dan in een aparte textbestand opslaan? Ik heb geen idee om eerlijk te zijn ^^

Hoe je de data opslaat maakt verder weinig uit, als je ze later maar weer kunt uitlezen.
 
Maar hoe log ik dat dan? weet jij toevalling een tutorial, of kan je een voorbeeld laten zien?


--

En wat is de handigste manier om het te saven? / makkelijkste :p



Bedankt! :thumb:
 
Maar hoe log ik dat dan? weet jij toevalling een tutorial, of kan je een voorbeeld laten zien?

Je zou bijvoorbeeld bij elke aanval de tijd sinds 1970 kunnen bijhouden(zie onderstaande link) en degene die de aanval heeft gedaan. Bij elke aanval controleer je dan eerst gewoon of de aanvaller wel mag aanvallen.

OOP is voor het bovenstaande het makkelijkste, lijkt mij. Dus daar zou je wat meer over kunnen zoeken.

http://www.cplusplus.com/reference/clibrary/ctime/time.html

En wat is de handigste manier om het te saven? / makkelijkste :p

De benodigde data in een struct/class zetten en deze binair wegschrijven.
http://www.cplusplus.com/reference/clibrary/cstdio/fwrite.html
 
Laatst bewerkt:
je moet even kiezen hoe lang het duurt eerdat je weer mag aanvallen, kies je een periode waarin de speler zijn app aan houdt dan kun je even kijken naar timers, duurt het langer dat is het idd het makkelijkst om de tijd op te slaan en dan bij de volgende aanval te controleren wat de tijd van de laatste aanval is.

het opslaan van gegevens kan je helemaal zelf doen maar je kunt ook even kijken naar xml, je krijgt dan wat overzichtelijkere savefiles en ook makkelijker bruikbaar voor het opslaan en laden mja je moet dan wel iets van xml af weten. Je zou dan zelfs ieder object zichzelf op kunnen laten slaan mocht je dat willen, kan met wat cod suggereerde ook wel maar je krijgt dan last van volgordelijkheid en dat is iets wat je beter kunt vermijden.

maaruh waarom kan ik niet de hele tijd aanvallen? ik will een double kill halen :P
probeer anders gladiator achtig iets in te bouwen, dus van noob soldaat tm leger officier, dan kun je ook iets als een arena oid maken :)
 
het opslaan van gegevens kan je helemaal zelf doen maar je kunt ook even kijken naar xml, je krijgt dan wat overzichtelijkere savefiles en ook makkelijker bruikbaar voor het opslaan en laden mja je moet dan wel iets van xml af weten. Je zou dan zelfs ieder object zichzelf op kunnen laten slaan mocht je dat willen, kan met wat cod suggereerde ook wel maar je krijgt dan last van volgordelijkheid en dat is iets wat je beter kunt vermijden.

Dat maakt het cheaten wel erg makkelijk. :D
 
Aangepast, beantwoorden vragen er uit gehaald.


Natuurlijk kan je niet de heletijd een vijand aanvallen, daar moet een soort van "timer" in zitten, dan je mischien maar 1 keer per dag kan doen, of dat je een minuut moet wachten, ik weet nog niet wat het leukst is (geef vooral je mening wat jouw het leukst lijkt)

is er een functie die ik hiervoor kan gebruiken? (minuut, of mischien wel dag / halve dag)

Met de link die ik je gegeven heb kun je het aantal seconden sinds 1970 opvragen. Daarmee zou je de berekeningen kunnen doen die nodig zijn om te controleren of een aanval geldig is. (of hij binnen de juiste tijd valt.)

Het loggen zelf kun je op meerdere manieren doen. Je zou bijvoorbeeld een klasse kunnen schrijven die de aanvalsgeschiedenis bijhoudt.

Ook is het natuurlijk jammer als je elke keer weer opnieuw zal moeten beginnen, dus is een spel "saven" mogelijk? (Ik ben geen expert, dus als het vrij moeilijk is, zeg dat gewoon)

Misschien was m'n link niet duidelijk genoeg ?

Code:
typedef struct{
  int gold;
  int health;
  //whatever;
} tBlaat;

tBlaat blaat;

FILE *file = fopen("file.bin", "wb");
fwrite(&blaat, sizeof(int), sizeof(blaat), file);
fclose(file);
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan