-
Notifications
You must be signed in to change notification settings - Fork 1
/
Item.java
99 lines (84 loc) · 2.43 KB
/
Item.java
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import ansi_terminal.Terminal;
import java.util.Scanner;
import java.io.PrintWriter;
/** Represents a single item that can be equipped
*
*/
public class Item {
// what sort of item it is
private ItemType type;
// modified to have a temp name
// the name of the item as shown to the user
private String name = "temp";
// how much it weighs (player can only carry so much)
private int weight;
// how much the item is worth for buying/selling
private int value;
// the item's strength - this differs based on the type
// for a weapon, it's damage
// for armor, it's protection
private int strength;
public Item(ItemType type, String name, int weight, int value, int strength) {
this.type = type;
this.name = name;
this.weight = weight;
this.value = value;
this.strength = strength;
}
public int getWeight() {
return weight;
}
public int getValue() {
return value;
}
public int getStrength() {
return strength;
}
public String getName() {
return name;
}
public ItemType getType() {
return type;
}
@Override
public String toString() {
return name + " " + weight + " " + value + " " + strength;
}
/** Writes the item's name, type, weight, value, and strength to the save file
*
* @param out the printwriter used to write data to a file
*/
public void save(PrintWriter out) {
out.println(name);
out.println(type);
out.println(weight);
out.println(value);
out.println(strength);
}
/** A constructor used for reading in data about the item's name, type, weight, value, and strength from the
* save file
*
* @param in the scanner used to read in data from the file
*/
public Item(Scanner in) {
Terminal.clear();
String temp;
name = in.nextLine();
String t = in.nextLine();
if (t.equals("Weapon")) {
type = ItemType.Weapon;
}
else if (t.equals("Armor")) {
type = ItemType.Armor;
}
else if (t.equals("Other")) {
type = ItemType.Other;
}
temp = in.nextLine();
weight = Integer.parseInt(temp);
temp = in.nextLine();
value = Integer.parseInt(temp);
temp = in.nextLine();
strength = Integer.parseInt(temp);
}
}