-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWeapons.java
More file actions
137 lines (118 loc) · 3.29 KB
/
Copy pathWeapons.java
File metadata and controls
137 lines (118 loc) · 3.29 KB
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
* title: Weapons.java
* description: This class contains the methods for
* weapon creation and attack.
* date: January 23, 2021
* @author Jenna McDonnell
* @version 1.0
* 3435506
*/
/************************************************************
* METHODS
************************************************************
* <H3> Methods <H3>
*
* <P>
* public Weapons(){<BR>
Creates a Weapons object that can use any of the methods
or variables in the class.
* public void makeWeapon(String clas){<BR>
Creates a weapon based on the class chosen by the player.
* public void assassinWeapon(){<BR>
Makes a dagger for the assassin class.
* public void wizardWeapon(){<BR>
Makes a wand for the wizard class.
* public void shapeshiftWeapon(){<BR>
Makes a wolf form necklace for the shapeshifter class.
* public void attack(Enemy enemy){<BR>
Implements Alice's attack and has a 1/3 chance of missing the
target.
* </P>
*/
/************************************************************
* VARIABLES
************************************************************
* <H3> Variables Used </H3>
*
* <P>
* String name; - name of the weapon
*
* int attackDamage; - amount of damage the weapon does
* </P>
*/
public class Weapons{
/*
* Creates a Weapons object that can use any of the methods
* or variables in the class.
*/
public Weapons(){
}
//name of the weapon
String name;
//amount of damage the weapon does
int attackDamage;
/*
* Creates a weapon based on the class chosen by the player.
*
* @param String clas the class of the character
*/
public void makeWeapon(String clas){
switch(clas){
case "assassin":
assassinWeapon();
break;
case "wizard":
wizardWeapon();
break;
case "shapeshifter":
shapeshiftWeapon();
break;
default:
break;
}//end of switch statement
}//end of makeWeapon method
/*
* Makes a dagger for the assassin class.
*/
public void assassinWeapon(){
//damage is a random number between 30 and 60
name = "dagger";
attackDamage = (int)((Math.random() * 30) + 30);
System.out.println("You have found a dagger with " + attackDamage + " attack damage!");
System.out.println();
}
/*
* Makes a wand for the wizard class.
*/
public void wizardWeapon(){
name = "wand";
attackDamage = (int)((Math.random() * 30) + 30);
System.out.println("You have found a wand with " + attackDamage + " attack damage!");
System.out.println();
}
/*
* Makes a wolf form necklace for the shapeshifter class.
*/
public void shapeshiftWeapon(){
name = "necklace";
attackDamage = (int)((Math.random() * 30) + 30);
System.out.println("You have found a necklace with " + attackDamage + " attack damage!");
System.out.println();
}
/*
* Implements Alice's attack and has a 1/3 chance of missing the
* target.
*
* @param Enemy enemy the enemy Alice is fighting
*/
public void attack(Enemy enemy){
int chance = (int)((Math.random() * 3) + 1);
System.out.println("*****ATTACK*****");
if(chance > 1){
System.out.println("You attack the target and do " + attackDamage + " damage.");
enemy.setCurrentHealth(attackDamage);
}else{
System.out.println("Your attack missed!");
}
}
}