-
Notifications
You must be signed in to change notification settings - Fork 0
/
Inventory.pde
46 lines (41 loc) · 867 Bytes
/
Inventory.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
/** Class for managing an inventory. */
class Inventory {
private ArrayList<Item> items = new ArrayList<Item>();
private Item currentItem = null;
void addItem( Item i ) {
items.add( i );
}
ArrayList<Item> getByType( ItemType t ) {
ArrayList<Item> result = new ArrayList<Item>();
for ( Item i : items ) {
if ( i.type == t ) result.add( i );
}
return result;
}
}
enum ItemType {
Gun, Ammo, Kit
}
/** Base class for items. */
class Item {
ItemType type;
Item( ItemType t ) {
type = t;
}
}
class GunItem extends Item {
final String gunType;
GunItem( final String t ) {
super( ItemType.Gun );
gunType = t;
}
}
class AmmoItem extends Item {
final String ammoType;
final int ammoCount;
AmmoItem( final String t, final int c ) {
super( ItemType.Ammo );
ammoType = t;
ammoCount = c;
}
}