-
Notifications
You must be signed in to change notification settings - Fork 1
/
MoMoMonster.pde
67 lines (48 loc) · 1.77 KB
/
MoMoMonster.pde
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
/*
Monster Garden - a simple and open source barcode scanning game
Copyright (C) 2011 Stefan Großhauser
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class MoMoMonster extends AbstractMonster
{
String moMoDatabase = "moMoMonsters.txt";
PImage img;
MoMoMonster(long ean, String id)
{
super(ean, id);
randomSpeciesFromDatabase();
}
void display(){
image(img, 0.5 * (width - img.width), 0.5 * (height - img.height));
}
void randomSpeciesFromDatabase() {
try{
String[] lines = loadStrings(moMoDatabase);
int choice = int(random(0, lines.length));
// Line Format:
// <imagefile>;<id>;<Monster trivial name>;<author>
if(this.id != null)
for(int i = 0; i < lines.length; i++)
if(this.id.equals(splitTokens(lines[i], "\t;")[1])) {
choice = i;
break;
}
String[] pieces = splitTokens(lines[choice], "\t;");
this.img = loadImage(pieces[0]);
this.id = pieces[1];
this.name = pieces[2];
this.author = pieces[3];
}catch(Exception ex){
println("Could not read " + moMoDatabase +", "+ex.toString());
}
}
}