From 66a97330b680ede437c65c35e8b4b4e9bb4d4930 Mon Sep 17 00:00:00 2001 From: KahootChampion Date: Sun, 17 Feb 2019 16:01:53 -0700 Subject: [PATCH] Added ShipWarfare (Unfinished) --- ShipWarfare.java | 145 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 ShipWarfare.java diff --git a/ShipWarfare.java b/ShipWarfare.java new file mode 100644 index 0000000..2d79fc1 --- /dev/null +++ b/ShipWarfare.java @@ -0,0 +1,145 @@ +package TeamProject; + +import java.util.Scanner; +import java.util.Random; +import java.util.concurrent.TimeUnit; + +public class ShipWarfare { + + private int money = 0; + private int guns = 3; + private int hp = 100; + private int numOfPeasantShips= 0; + + public void peasantFleetAttack() throws Exception{ + Scanner userResponse = new Scanner(System.in); + numOfPeasantShips=numOfShips(); + System.out.printf("By Golly! You have $%,d \nYou are being attacked by %d ships\n", getMoney(), getNumOfPeasantShips()); + System.out.println("What do you want to do?"); + System.out.println("Ohh, fight ehh?"); + fightShips(getNumOfPeasantShips()); + + } + + public int getMoney() { + return money; + } + + public int getGuns() { + return guns; + } + + public int getHp() { + return hp; + } + + public int getNumOfPeasantShips() { + return numOfPeasantShips; + } + + public void delayForASecond() throws Exception { + TimeUnit.SECONDS.sleep(1); + } + + public void gameOver(){ + System.out.flush(); + System.out.println("Game over"); + } + + public int numOfShips(){ + + int numOfShipsAttacking = 0; + Random randomValue = new Random(); + + if (getMoney() <= 100000){ + //Minimum one ship will attack, maximum 20 + numOfShipsAttacking = randomValue.nextInt(20) + 1; + } + + else if (getMoney() <= 200000){ + //Minimum 30 Ships will attack, maximum 70 + numOfShipsAttacking = randomValue.nextInt(40) + 30; + } + + else if (getMoney() <= 500000){ + //Minimum 50 ships will attack, maximum 140 + numOfShipsAttacking = randomValue.nextInt(90) + 50; + } + + else if (getMoney() > 1000000){ + //Minimum 100 ships will attack, maximum 300 ships + numOfShipsAttacking = randomValue.nextInt(3) + 100; + } + + return numOfShipsAttacking; + + } + + public void fightShips(int typeOfShip) throws Exception { + + Random randomValue = new Random(); + int shipsRemaining = typeOfShip; + int exitValue=0; + + if(typeOfShip==getNumOfPeasantShips()) { + //Player volley + while (exitValue==0){ + for (int i = 0; i < shipsRemaining; i++) { + for (int j = 0; j < getGuns(); j++) { + int hitOrMiss = randomValue.nextInt(2) + 1; + if (hitOrMiss == 2) { + shipsRemaining--; + if (shipsRemaining <= 0) { + exitValue = 1; + break; + } + System.out.println("Got eem"); + delayForASecond(); + } else { + System.out.println("ARRG! We missed captain"); + delayForASecond(); + } + + + } + + if (shipsRemaining <= 0) { + exitValue = 1; + break; + } + + System.out.printf("%d ships remaining\n", shipsRemaining); + System.out.println("Oh no, they are taking the offensive!"); + delayForASecond(); + //Computer volley + hp -= randomValue.nextInt(10); + if(getHp()<=0){ + exitValue=2; + break; + } + System.out.printf("EEk, you have %d health left\n", getHp()); + delayForASecond(); + + } + } + if(exitValue==1) { + System.out.printf("Got eem!\nIt appears we have defeated the enemy fleet and made it out at %d health", hp); + } + else if(exitValue==2){ + gameOver(); + } + + } + //Type of ship implied to be Liu Yen fleet + + else{ + + } + } + + public static void main(String[] args) throws Exception { + ShipWarfare littyObject = new ShipWarfare(); + littyObject.peasantFleetAttack(); + } + +}