Check in modified mamer
[capablanca.git] / lasker-2.2.3 / bots / mamer / User.hh
1 //--------------------------------------------------------------------------
2 // User.hh - Class header for the User class
3 //
4 // Matthew E. Moses
5 //
6 // $Revision: 1.8 $
7 // $Date: 1998/09/10 19:58:41 $
8 //
9 // $Author: mlong $
10 // $Locker:  $
11 //
12 // $Log: User.hh,v $
13 // Revision 1.8  1998/09/10 19:58:41  mlong
14 // lots of little bug fixes and a few new features.
15 //
16 // Revision 1.7  1998/02/12 18:44:25  mlong
17 // *** empty log message ***
18 //
19 // Revision 1.6  1997/04/13 03:21:32  chess
20 // AddAbuse and SetStatistic added
21 //
22 // Revision 1.5  1997/04/07 22:22:12  chess
23 // *** empty log message ***
24 //
25 // Revision 1.4  1997/03/27 13:45:28  chess
26 // added functions to return user's statistics
27 //
28 // Revision 1.3  1997/03/21 15:29:53  moses
29 // *** empty log message ***
30 //
31 // Revision 1.2  1996/10/01 20:14:43  moses
32 // added methods
33 //
34 // Revision 1.1  1996/09/30  20:52:48  moses
35 // Initial revision
36 //
37 //
38 //--------------------------------------------------------------------------
39
40 #ifndef _USER_
41 #define _USER_
42
43 #include <fstream.h>
44 #include <iostream.h>
45
46 extern "C" {
47 #include <sys/param.h>
48 #include <sys/types.h>
49
50 #include <ctype.h>
51 #include <errno.h>
52 #include <stdio.h>
53 #include <stdlib.h>
54 #include <string.h>
55 #include <strings.h>
56 #include <sys/stat.h>
57
58 #include <time.h>
59 #include <unistd.h>
60 }
61
62 #include "config.h"
63 #include "link.hh"
64
65 #ifndef NAMELEN
66 #define NAMELEN 19
67 #endif
68
69 class User : public Link {
70 public:
71   
72   User();
73   User(char *, char *);
74   ~User();
75   
76   int IsUser(char *);
77   
78   void LoadPlayer(char *);
79   short LoadPlayer(char *, char *);
80   
81   void SavePlayer(char *);
82   
83   float GetRating(void);
84   int GetManagerLevel(void);
85   
86   int GetAbuse(void);
87   long GetWins(void);
88   long GetLosses(void);
89   long GetDraws(void);
90   long GetFirsts(void);
91   long GetSeconds(void);
92   long GetThirds(void);
93   float GetPlacePoints(void);
94   long GetPlayedTourneys(void);
95   long GetManagedTourneys(void);
96   long GetLast(void);
97   void SetLast(long);
98   
99   void AddAbuse(int);
100   void ResetAbuse(void);
101   
102   void AddManagedTourney();
103   void ChangeManagerLevel(int);
104
105   void AddPlayedTourney();
106
107   int SetStatistic(int, int);
108   
109   void AddStat(double);
110   void AddStat(int);
111   void CalculateRating(float, float);
112
113  private:
114   void CalculateRating(void);
115
116   void AddWin(void);
117   void AddLoss(void);
118   void AddDraw(void);
119   
120   void AddFirst(void);
121   void AddSecond(void);
122   void AddThird(void);
123   
124   void CreateDirectory(char *, char *);
125
126  public:
127
128     int inTourney;
129     char name[NAMELEN];
130
131  private:
132
133     int  abuse;
134
135     long playedTourneys;
136
137     long wins;
138     long losses;
139     long draws;
140
141     long firsts;
142     long seconds;
143     long thirds;
144
145     float rating;
146     float placePoints;
147
148     int managerLevel;
149
150     long managedTourneys;
151
152     long last;
153     int  tourneyLocation;    
154 };
155
156 #endif
157
158
159
160
161