File: hiscore.h

package info (click to toggle)
tomatoes 1.55-10
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 11,264 kB
  • sloc: cpp: 7,407; ansic: 299; makefile: 52
file content (73 lines) | stat: -rw-r--r-- 2,246 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/*************************************************************************

                         "I Have No Tomatoes"
                  Copyright (c) 2004, Mika Halttunen

 This software is provided 'as-is', without any express or implied
 warranty. In no event will the authors be held liable for any damages
 arising from the use of this software.

 Permission is granted to anyone to use this software for any purpose,
 including commercial applications, and to alter it and redistribute
 it freely, subject to the following restrictions:

    1. The origin of this software must not be misrepresented; you must
    not claim that you wrote the original software. If you use this
    software in a product, an acknowledgment in the product documentation
    would be appreciated but is not required.

    2. Altered source versions must be plainly marked as such, and must
    not be misrepresented as being the original software.

    3. This notice may not be removed or altered from any source
    distribution.


 Mika Halttunen <lsoft@mbnet.fi>

*************************************************************************/

#ifndef HISCORE_H
#define HISCORE_H

#include <string>
// Number of names in the hiscore list
#define NUM_NAMES			8

// Name length
#define NAME_LEN			20

// Hiscore file
#define HISCORE_FILE		"hiscore.lst"
#define HISCORE_FILE2		"hiscore2.lst"


// Record structure
struct RECORD {
	char name[NAME_LEN];			// Name
	int score;						// Score, i.e. number of kills
};


// Hiscore list
class HISCORE_LIST {
public:
	RECORD list[NUM_NAMES];						// Records

	void clear();								// Clear the list
	void sort();								// Sort the list
	int add_name(char *name, int score);		// Add a record
	void draw(int place, float fade);			// Draw the list
        void save(std::string file);                                            // Save the list
        void load(std::string file);                                            // Load the list
	void input_name(int place);					// Input a name
};

// Hiscore lists
extern HISCORE_LIST hiscore_1;
extern HISCORE_LIST hiscore_2;

std::string get_hiscore_location(int which, bool write = false);


#endif