X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fstatistics.h;h=430e2161efb18182231bf61ef0005af4ecf22dca;hb=58da7bdf7b352989ef19d89a498938a12ca91b03;hp=8ffb4e49fe9008a1afb22fc19a17af017a67f23c;hpb=36109a71ec561ea0fbd2e3c81d35488123921b59;p=supertux.git diff --git a/src/statistics.h b/src/statistics.h index 8ffb4e49f..430e2161e 100644 --- a/src/statistics.h +++ b/src/statistics.h @@ -20,22 +20,20 @@ #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,24 +44,27 @@ 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 void draw_worldmap_info(DrawingContext& context); - void draw_message_info(DrawingContext& context); + void draw_message_info(DrawingContext& context, std::string title); /* Add / Set / Get points to/from one of the stats this can keep track of */ void add_points(int stat, int points); 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,7 +75,7 @@ public: void operator+=(const Statistics& o); private: - int stats[NUM_STATS]; + int stats[NUM_STATS][2]; Timer timer; int display_stat;