Let mamer take colors into account for pairing
[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>
44 #include <iostream>
45
46 using namespace std;
47
48 extern "C" {
49 #include <sys/param.h>
50 #include <sys/types.h>
51
52 #include <ctype.h>
53 #include <errno.h>
54 #include <stdio.h>
55 #include <stdlib.h>
56 #include <string.h>
57 #include <strings.h>
58 #include <sys/stat.h>
59
60 #include <time.h>
61 #include <unistd.h>
62 }
63
64 #include "config.h"
65 #include "link.hh"
66
67 #ifndef NAMELEN
68 #define NAMELEN 19
69 #endif
70
71 class User : public Link {
72 public:
73   
74   User();
75   User(char *, char *);
76   ~User();
77   
78   int IsUser(char *);
79   
80   void LoadPlayer(char *);
81   short LoadPlayer(char *, char *);
82   
83   void SavePlayer(char *);
84   
85   float GetRating(void);
86   int GetManagerLevel(void);
87   
88   int GetAbuse(void);
89   long GetWins(void);
90   long GetLosses(void);
91   long GetDraws(void);
92   long GetFirsts(void);
93   long GetSeconds(void);
94   long GetThirds(void);
95   float GetPlacePoints(void);
96   long GetPlayedTourneys(void);
97   long GetManagedTourneys(void);
98   long GetLast(void);
99   void SetLast(long);
100   
101   void AddAbuse(int);
102   void ResetAbuse(void);
103   
104   void AddManagedTourney();
105   void ChangeManagerLevel(int);
106
107   void AddPlayedTourney();
108
109   int SetStatistic(int, int);
110   
111   void AddStat(double);
112   void AddStat(int);
113   void CalculateRating(float, float);
114
115  private:
116   void CalculateRating(void);
117
118   void AddWin(void);
119   void AddLoss(void);
120   void AddDraw(void);
121   
122   void AddFirst(void);
123   void AddSecond(void);
124   void AddThird(void);
125   
126   void CreateDirectory(char *, char *);
127
128  public:
129
130     int inTourney;
131     char name[NAMELEN];
132
133  private:
134
135     int  abuse;
136
137     long playedTourneys;
138
139     long wins;
140     long losses;
141     long draws;
142
143     long firsts;
144     long seconds;
145     long thirds;
146
147     float rating;
148     float placePoints;
149
150     int managerLevel;
151
152     long managedTourneys;
153
154     long last;
155     int  tourneyLocation;    
156 };
157
158 #endif
159
160
161
162
163