Du bist nicht angemeldet.

WoW-Castle auf Facebook WoW-Castle auf YouTube WoW-Castle auf Twitter WoW-Castle als RSS-Feed

Sofacamper

Schüler

  • »Sofacamper« ist der Autor dieses Themas

Beiträge: 137

Danksagungen: 21

  • Private Nachricht senden

1

Mittwoch, 26. Oktober 2011, 04:18

@ hexa & elron vorschlag erfassung kills innerhalb einer gewissen zeit

Der spieler will einen Erfolg eringen, damit der erfolg gewährt wird, muss der spieler innerhalb einer gewissen zeit eine anzahl an getränken zu sich nehmen.

Das heißt, der Erfolg [Schneller Trinken] wird gewährt wenn der Spieler innerhalb von 10 minuten ab trinken des ersten [Kürbissaft], mindesten 7 diese Getränks getrunken hat.

Grundgedanke:

von außen bekommt die funktion das signal %Kürbissaft_getrunken
dann soll die funktion einen timestamp eine Liste #Einnahmezeiten schreiben.
Für jedes mal wenn der spieler den saft trinkt bekommt die funktion von außen das signal %Kürbissaft_getrunken.
dann sollen die einträge der Liste überprüft werden ob die letzten 7 einnahmen innerhalb von 10 minuten waren.

Nebengedanke:
Oder sogar nur die letzten 7 Drinks speichern und dann nur mit dem ersten Drink vergleichen, statt mit allen.
Oder sogar nur die letzten 6 Drinks speichern und wenn ich jetzt einen trinke, mit dem ersten Drink vergleichen, dann den ersten rauswerfen und den aktuellen Drink hintendranpacken. Und das noch als Ringpuffer hatte ich versucht.


Umsätzung:

#include <iostream>

using namespace std;

int main() {
time_t trinkzeitpunkte[6]={};
int pos=0;
for(;;){
cin.get(); //Immer nur Enter drücken, um einen Saft zu trinken
time_t jetzt=time(0);
cout<<"Zeit: "<<jetzt<<'\n';
cout<<"Trinke Kürbissaft!\n";
if(jetzt-trinkzeitpunkte[pos]<60){//Zum Testen nur eine Minute
cout<<"Geschafft, ich bin bekürbist. Erfolg Schneller Trinken erungen \n";
}
trinkzeitpunkte[pos]=jetzt;
pos=(pos+1)%6;
}
}

Grüße das gelangweilte Sofa XD
Für tippfehler haftet die Tastatur. PS NEEEEEED KAFFEEEEE is schon soo spät.
Liebe Grüße euer Sofa aka Iceman
---------------------------------------------------GREEN-LINE--------------------------------------------------------


DorianGrey

Fortgeschrittener

Beiträge: 270

Danksagungen: 273

  • Private Nachricht senden

2

Mittwoch, 26. Oktober 2011, 08:27

Ich bin zwar weder hexa- noch Elron, aber eine Antwort bekommst du trotzdem.
Rein prinzipiell ist dein Ansatz schon richtig - es geht evtl. auch kürzer. Das Kernproblem ist allerdings das Speichern der Infos selbst - dazu müsste eine Ablage geschaffen werden, die im Moment noch nicht existiert. Für den Erfolg wäre dass dann ein Spezialfall, keine allgemein praktikable Lösung. Eventuell ließe sich da ein Datenbankeintrag verwenden, müsste ich selbst nochmal nachsehen. (Genau an der Stelle war bei den Überlegungen bisher immer Schluss, weil einfach reinhacken... naja.)

Im Übrigen bin ich froh, dass du kein Entwickler bist, dein Code würde bei halbwegs standardkonformen Compilern nämlich abstürzen :pardon:
(Arrays nicht vollständig zu initialisieren kann böse Nebeneffekte haben ...)
Mach aus

Zitat

time_t trinkzeitpunkte[6]={};
lieber

Zitat

time_t trinkzeitpunkte[6]={ 0 };
Deine Schleife endet übrigens nie ... unschön :)
Und main nimmt keine definierten Argumente entgegen... ein Compiler auf strikt meckert darüber ;)

Zitat

int main(int argc, char** argv)
Aber das nur am Rande...
"Those who would give up essential Liberty to purchase a little temporary Safety, deserve neither Liberty nor Safety." - Benjamin Franklin



Laa shay'a waqu'in moutlaq bale kouloun moumkine. - Nothing is true, everything is permitted.

Sofacamper

Schüler

  • »Sofacamper« ist der Autor dieses Themas

Beiträge: 137

Danksagungen: 21

  • Private Nachricht senden

3

Mittwoch, 26. Oktober 2011, 15:42

wollt ja nur evtl helfen und für das das es 4uhr morgens war und ich seit 2 jahren nix mehr in c++ geschrieben habe sieht der code noch net aus..
naja ich grübel noch n bissl drüber.
auserdem ist das meiner meinung nach immernoch besser als sich stur hinzustellen und :say_help: :g-r-r-r: :say_help:
Liebe Grüße euer Sofa aka Iceman
---------------------------------------------------GREEN-LINE--------------------------------------------------------


DorianGrey

Fortgeschrittener

Beiträge: 270

Danksagungen: 273

  • Private Nachricht senden

4

Mittwoch, 26. Oktober 2011, 18:38

War ja nicht negativ gemeint ;) Aber wie gesagt, es ist nicht unproblematisch, eine Stelle zu finden, wo man die Daten ablegen könnte. Bei einem Instanzskript kann man da eher noch was entbehren (aka. reinhacken), aber im offenen Weltbereich ist das ungleich schwieriger.
"Those who would give up essential Liberty to purchase a little temporary Safety, deserve neither Liberty nor Safety." - Benjamin Franklin



Laa shay'a waqu'in moutlaq bale kouloun moumkine. - Nothing is true, everything is permitted.

hexa-

Profi

Beiträge: 592

Danksagungen: 470

  • Private Nachricht senden

5

Mittwoch, 26. Oktober 2011, 23:30

Ist dann mit der letzten Änderung auch erledigt.

Funktioniert, aber ein wenig abgewandelt. Changelog vergleichen!

Sofacamper

Schüler

  • »Sofacamper« ist der Autor dieses Themas

Beiträge: 137

Danksagungen: 21

  • Private Nachricht senden

6

Donnerstag, 27. Oktober 2011, 00:25

evtl die char bd um 1-2 einträge für solche fälle erweitern?
müsste doch eig gehen
somit hat man dann das ganze auch global hinterlegt
Liebe Grüße euer Sofa aka Iceman
---------------------------------------------------GREEN-LINE--------------------------------------------------------


Jigsawer2010

unregistriert

7

Donnerstag, 27. Oktober 2011, 09:52

Hexa,dein Post ergibt hier in dem Thread irgendwie keinen Sinn....Oo

Kekzi

Anfänger

Beiträge: 25

  • Private Nachricht senden

8

Donnerstag, 27. Oktober 2011, 12:50

Hexa,dein Post ergibt hier in dem Thread irgendwie keinen Sinn....Oo



Für dich nicht :crazy: aber für andere schon :vain:

Elron

Chef-Technik

Beiträge: 1 576

Danksagungen: 990

  • Private Nachricht senden

9

Donnerstag, 27. Oktober 2011, 20:29

Lassen wir alle mal im Glauben, das sei noch nicht gefixt. :P

Das von Hexa erwähnte CHANGELOG stellt ein großes Mysterium dar. :P:P :D

Jigsawer2010

unregistriert

10

Donnerstag, 27. Oktober 2011, 20:51

Wo hat denn das Changelog was mit dem Kürbissaft saufen zu tun?

Ähnliche Themen

Social Bookmarks