Repository navigation
Expand file tree
/
Copy pathMonster.java
More file actions
115 lines (105 loc) · 2.56 KB
/
Copy pathMonster.java
File metadata and controls
115 lines (105 loc) · 2.56 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
/*
* Copyright (C) 2014, Sylvester Saracevas
*
*/
import java.util.Random;
import java.io.*;
import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Monster{
public int mhealth = 100;
public Monster(){
}
public int generateMonsterDmg(){
Random ran = new Random();
int mdamage = ran.nextInt(10 - 1 + 1) + 1;
return mdamage;
}
public int generatePlayerDmg(){
Random ran = new Random();
int mdamage = ran.nextInt(30 - 10 + 1) + 10;
return mdamage;
}
public int generateGold(){
Random ran = new Random();
int gold = ran.nextInt(20 - 10 + 1) + 10;
return gold;
}
public int generateFlee(){
Random ran = new Random();
int flee = ran.nextInt(2) + 1;
return flee;
}
public int generateWhere(){
Random ran = new Random();
int where = ran.nextInt(4) + 1;
return where;
}
public void fight(JLabel info, Player p, JLabel cgold){
int mdmg = generateMonsterDmg();
int pdmg = generatePlayerDmg();
info.setText("You have dealt "+pdmg+" and received "+mdmg+" damage back!");
p.setHealth(p.getHealth() - mdmg);
mhealth = mhealth - pdmg;
if(p.getHealth() < 0){
info.setText("You have died!");
}else if(mhealth < 0){
int gold = generateGold();
p.setGold(p.getGold() + gold);
cgold.setText(""+p.getGold()+"");
info.setText("You have slain the monster and found "+gold+" gold!");
p.level[p.getY()][p.getX()] = 0;
}
}
public void flee(JLabel info, Player p){
int chanceOfFleeing = generateFlee();
int chanceOfWhere = generateWhere();
System.out.println(chanceOfWhere);
int monsterDmg = generateMonsterDmg();
System.out.println("Chance of Fleeing "+chanceOfFleeing);
//fleeing unsuccessful
if (chanceOfFleeing == 1) {
p.setHealth(p.getHealth() - monsterDmg);
info.setText("Monster caught you dealing "+monsterDmg+" damage!");
if (p.getHealth() < 0) {
info.setText("Monster caught you dealing "+monsterDmg+" damage. It was lethal, you're dead!");
}
}
else{
//fleeing north
if (chanceOfWhere == 1) {
if (p.getY() != 0) {
p.setY(p.getY() - 1);
}else{
p.setY(p.getY() + 1);
}
}
//fleeing south
if (chanceOfWhere == 2) {
if (p.getY() != 4) {
p.setY(p.getY() + 1);
} else {
p.setY(p.getY() - 1);
}
}
//fleeing west
if (chanceOfWhere == 3) {
if (p.getX() != 0) {
p.setX(p.getX() - 1);
}else {
p.setX(p.getX() + 1);
}
}
//fleeing east
if (chanceOfWhere == 4) {
if (p.getX() != 4) {
p.setX(p.getX() + 1);
}else {
p.setX(p.getX() - 1);
}
}
}
}
}