Skip to content

Instantly share code, notes, and snippets.

@Bjacksonshorts
Last active August 29, 2015 13:55
Show Gist options
  • Save Bjacksonshorts/8717933 to your computer and use it in GitHub Desktop.
Save Bjacksonshorts/8717933 to your computer and use it in GitHub Desktop.
public class Boy extends Man{
public Boy(String n, int a, int s){
super(n,a,s);
}
}
public abstract class Character{
protected String name;
protected int strength;
protected Integer health;
public Character(String n,int s, int h){
name = n;
strength = s;
health = h;
}
public String getName(){
return name;
}
public Integer getHealth(){
return health;
}
public String attack(Character target) { //make object more specific
if(Math.floor(Math.random() * 10) == 7) {
System.out.println("Attack Unsuccessful");
return "";
}
else if(Math.floor(Math.random()* 10) == 1 || Math.floor(Math.random()* 10) == 3 || Math.floor(Math.random()* 10) == 5) {
strength = strength * 5;
System.out.println("Attack Successful");
System.out.println("Attack is super effective");
return target.getName();
}
else {
System.out.println("Attack Successful");
return target.getName();
}
}
}
public class Girl extends Woman{
public Girl(String n, int a, int s){
super(n,a,s);
}
}
public class Man extends Character{
public Man(String n, int s, int h){
super(n,s,h);
}
public String attack(Character target) {
if(Math.floor(Math.random() * 10) == 7) {
System.out.println("Attack Unsuccessful");
return "";
} else {
System.out.println("Attack Successful");
return target.getName();
}
}
}
public class Monster extends Character{
public Monster(String n, int s, int h){
super(n,s,h);
}
}
import java.io.*;
public class Runner{
private boolean inProgress;
private Man m;
private Woman w;
private Monster ms;
private Character[] charArr;
public static void main( String[] args) {
Runner r = new Runner();
r.run();
}
public Runner(){
inProgress = true;
w = new Woman("Lady",750,2000);
m = new Man("Jimmy",750,1500);
ms = new Monster("Monster",200,5000);
charArr = new Character[4];
charArr[0] = w;
charArr[1] = m;
charArr[2] = ms;
System.out.println("Let The Game Begin!");
}
public void run() {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
while (inProgress) {
try {
System.out.println("attack \t defend \t Status");
String doWhat = br.readLine();
if(doWhat.equalsIgnoreCase("attack")) {
attacker();
String cmd = br.readLine();
defender();
String scmd = br.readLine();
interpretAndExecute(cmd, scmd);
enemyAttack();
}else if(doWhat.trim().equalsIgnoreCase("Game Over")){
System.out.println("Ending...");
inProgress = false;
}else if(doWhat.trim().equalsIgnoreCase("defend")){
System.out.println("you are defended");
System.out.println("Would you like to replenish your health?");
String heal = br.readLine();
if( heal.trim().equalsIgnoreCase("yes")){
System.out.println("Who would you like to heal");
String recipient = br.readLine();
if(recipient.trim().equalsIgnoreCase("woman")){
w.health = Math.min(w.health + 100, 1000);
System.out.println("The Woman's health has been restored");
}else if(recipient.trim().equalsIgnoreCase("man")){
m.health = Math.min(w.health + 100, 1000);
System.out.println("the Man's health has been restored");
}
}
}else if(doWhat.trim().equalsIgnoreCase("status")){
System.out.println("the Man's healt is " + w.getHealth());
System.out.println("the Woman's healt is " + m.getHealth());
System.out.println("the Monster's healt is " + ms.getHealth());
}
} catch (IOException e) {
System.out.println("Oops! There was an error reading your command.");
}
System.out.println("");
}
}
private void attacker() {
System.out.println("who should attack? (Man or Womman)");
}
private void defender() {
System.out.println("who should be attacked? ");
System.out.println("1:woman 2:man 3:monster");
}
private void interpretAndExecute(String cmd, String scmd) {
if(cmd.trim().equalsIgnoreCase("Game Over") || scmd.trim().equalsIgnoreCase("Game Over")){
System.out.println("Ending...");
inProgress = false;
}else if(cmd.trim().contains("woman")) {
int targetNumber = Integer.parseInt(scmd);
String victim = charArr[2].attack(charArr[targetNumber]);
if (!victim.equals("")) {
System.out.println(victim + " has been attacked");
charArr[targetNumber].health= charArr[targetNumber].getHealth() - w.strength;
System.out.println(victim + "'s health is now " + charArr[targetNumber].getHealth());
}
} else if (cmd.trim().contains("man")) {
int targetNumber = Integer.parseInt(scmd);
String victim = charArr[1].attack(charArr[targetNumber]);
if (!victim.equals("")) {
System.out.println(victim + " has been attacked");
charArr[targetNumber].health= charArr[targetNumber].getHealth() - w.strength;
System.out.println(victim + "'s health is " + charArr[targetNumber].getHealth());
}
}
//else if(scmd.getClass != int);
else{
System.out.println("that command could not be processed");
}
}
private void enemyAttack(){
String cmd = "Monster";
int targetNumber = 0;
if(Math.floor(Math.random()* 10) == 1 || Math.floor(Math.random()* 10) == 3 || Math.floor(Math.random()* 10) == 5) {
targetNumber = 1;
}
String victim = charArr[2].attack(charArr[targetNumber]);
if(charArr[targetNumber].getHealth() == 0){
targetNumber ++;
System.out.println(charArr[targetNumber].getName() + "is dead");
}
if (!victim.equals("")) {
System.out.println(victim + " has been attacked by the monster");
charArr[targetNumber].health= charArr[targetNumber].getHealth() - w.strength;
System.out.println(victim + "'s health is " + charArr[targetNumber].getHealth());
}
}
}
/*******************
private Character stringToChar(String str) {
for(i in allChars) { //allChars is an array of all characters
if(str.equalsNoCase(allChars[i].getName())) {
return allChars[i];
}
}
return null; //extraChar is an extra character that is not in the array and has name "extraChar"
}
private void interpretAndExecute(String cmd) {
scmd = cmd.trim().split(" ");
if(scmd[0].equalsIgnoreCase("attack") && !stringToChar(scmd[1]).getName().equalsIgnoreCase("extraChar") && !stringToChar(scmd[2]).getName().equalsIgnoreCase("extraChar")) {
stringToChar(scmd[1]).attack(stringToChar(scmd[2]));
}
}
*******************/
public class Woman extends Character{
public Woman(String n, int s, int h){
super(n,s,h);
}
public String attack(Character target) {
if(Math.floor(Math.random() * 10) == 7) {
System.out.println("Attack Unsuccessful");
return "";
} else {
System.out.println("Attack Successful");
return target.getName();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment