X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fstatistics.h;h=2bd87745e151579a6425f27b3a83ad0203f69e05;hb=3392b0f249cbb2d1151a145ab3a86b9389a0b36e;hp=72250c35bc90fa0bfb94dc77d8eef5143b97fe76;hpb=0acb7e4b13d8f4a61ff354502429b1263b0a831f;p=supertux.git diff --git a/src/statistics.h b/src/statistics.h index 72250c35b..2bd87745e 100644 --- a/src/statistics.h +++ b/src/statistics.h @@ -20,22 +20,24 @@ #ifndef SUPERTUX_STATISTICS_H #define SUPERTUX_STATISTICS_H -#include "special/timer.h" +#include "timer.h" +#include "lisp/lisp.h" +#include "lisp/writer.h" using namespace SuperTux; namespace SuperTux { -class LispReader; -class LispWriter; class DrawingContext; } +#define SPLAYER 0 +#define STOTAL 1 + enum { SCORE_STAT, - BADGUYS_SQUISHED_STAT, - SHOTS_STAT, + COINS_COLLECTED_STAT, + BADGUYS_KILLED_STAT, TIME_NEEDED_STAT, - JUMPS_STAT, NUM_STATS }; @@ -46,13 +48,14 @@ enum { class Statistics { public: + // don't forget to call reset() to init stat Statistics(); ~Statistics(); /// read statistics from lisp file - void parse(LispReader& reader); + void parse(const lisp::Lisp& lisp); /// write statistics to lisp file - void write(LispWriter& writer); + void write(lisp::Writer& writer); /* Draw to the worldmap or a game message */ // TODO: make this functions working @@ -64,6 +67,8 @@ public: void set_points(int stat, int points); int get_points(int stat); + void set_total_points(int stat, int points); + /* Reset statistics */ void reset(); @@ -74,9 +79,9 @@ public: void operator+=(const Statistics& o); private: - int stats[NUM_STATS]; + int stats[NUM_STATS][2]; - Timer timer; + Timer2 timer; int display_stat; };