From 0440a0278f9a815dbca043833cdb5ee66e2e4de5 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 20:23:49 -0400 Subject: [PATCH 01/16] Created Shelter abstract class and its subclasses --- .../froilansfarm/ChickenCoop.java | 8 ++++++ .../froilansfarm/CropRow.java | 8 ++++++ .../froilansfarm/FarmHouse.java | 8 ++++++ .../froilansfarm/FoodInventory.java | 8 ++++++ .../froilansfarm/Shelter.java | 25 +++++++++++++++++++ .../froilansfarm/Stables.java | 8 ++++++ 6 files changed, 65 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Stables.java diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java new file mode 100644 index 00000000..0fb5ad25 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public class ChickenCoop extends Shelter{ + + public ChickenCoop(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java new file mode 100644 index 00000000..cc1e0d89 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public class CropRow extends Shelter{ + + public CropRow(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java new file mode 100644 index 00000000..a5f86175 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public class FarmHouse extends Shelter{ + + public FarmHouse(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java b/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java new file mode 100644 index 00000000..8577262c --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public class FoodInventory extends Shelter{ + + public FoodInventory(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java new file mode 100644 index 00000000..2f764f58 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java @@ -0,0 +1,25 @@ +package com.zipcodewilmington.froilansfarm; + +import java.util.ArrayList; +import java.util.List; + +public abstract class Shelter { + List inShelter = new ArrayList(); + + public Shelter(){ + + } + + public void add(T element){ + inShelter.add(element); + } + + public void remove(T element){ + inShelter.remove(element); + } + + public T get(int index){ + return inShelter.get(index); + } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Stables.java b/src/main/java/com/zipcodewilmington/froilansfarm/Stables.java new file mode 100644 index 00000000..9b96f98b --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Stables.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm; + +public class Stables extends Shelter{ + + public Stables(){ + + } +} From 09727c5a4d1c68f30d0bbc50bcfbc8789f84e91a Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 20:33:31 -0400 Subject: [PATCH 02/16] Created Edible interface and classes that implement it. Also refactored --- .../com/zipcodewilmington/froilansfarm/ChickenCoop.java | 8 -------- .../java/com/zipcodewilmington/froilansfarm/CropRow.java | 8 -------- .../com/zipcodewilmington/froilansfarm/FarmHouse.java | 8 -------- .../zipcodewilmington/froilansfarm/FoodInventory.java | 8 -------- .../com/zipcodewilmington/froilansfarm/edible/Corn.java | 4 ++++ .../zipcodewilmington/froilansfarm/edible/Edible.java | 6 ++++++ .../com/zipcodewilmington/froilansfarm/edible/Egg.java | 5 +++++ .../zipcodewilmington/froilansfarm/edible/Tomato.java | 4 ++++ .../froilansfarm/shelter/ChickenCoop.java | 8 ++++++++ .../zipcodewilmington/froilansfarm/shelter/CropRow.java | 8 ++++++++ .../froilansfarm/shelter/FarmHouse.java | 8 ++++++++ .../froilansfarm/shelter/FoodInventory.java | 9 +++++++++ .../froilansfarm/{ => shelter}/Shelter.java | 2 +- .../froilansfarm/{ => shelter}/Stables.java | 2 +- 14 files changed, 54 insertions(+), 34 deletions(-) delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java rename src/main/java/com/zipcodewilmington/froilansfarm/{ => shelter}/Shelter.java (88%) rename src/main/java/com/zipcodewilmington/froilansfarm/{ => shelter}/Stables.java (60%) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java deleted file mode 100644 index 0fb5ad25..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/ChickenCoop.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public class ChickenCoop extends Shelter{ - - public ChickenCoop(){ - - } -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java deleted file mode 100644 index cc1e0d89..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/CropRow.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public class CropRow extends Shelter{ - - public CropRow(){ - - } -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java deleted file mode 100644 index a5f86175..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/FarmHouse.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public class FarmHouse extends Shelter{ - - public FarmHouse(){ - - } -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java b/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java deleted file mode 100644 index 8577262c..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/FoodInventory.java +++ /dev/null @@ -1,8 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public class FoodInventory extends Shelter{ - - public FoodInventory(){ - - } -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java new file mode 100644 index 00000000..006ae0c0 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java @@ -0,0 +1,4 @@ +package com.zipcodewilmington.froilansfarm.edible; + +public class Corn implements Edible{ +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java new file mode 100644 index 00000000..01d7e841 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java @@ -0,0 +1,6 @@ +package com.zipcodewilmington.froilansfarm.edible; + +public interface Edible { + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java new file mode 100644 index 00000000..44d46fa7 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java @@ -0,0 +1,5 @@ +package com.zipcodewilmington.froilansfarm.edible; + +public class Egg implements Edible{ + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java new file mode 100644 index 00000000..d47964c7 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java @@ -0,0 +1,4 @@ +package com.zipcodewilmington.froilansfarm.edible; + +public class Tomato implements Edible{ +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java new file mode 100644 index 00000000..11c06be5 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +public class ChickenCoop extends Shelter { + + public ChickenCoop(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java new file mode 100644 index 00000000..ce2b7794 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +public class CropRow extends Shelter { + + public CropRow(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java new file mode 100644 index 00000000..dbc2f4ee --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +public class FarmHouse extends Shelter { + + public FarmHouse(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java new file mode 100644 index 00000000..62d8b645 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java @@ -0,0 +1,9 @@ +package com.zipcodewilmington.froilansfarm.shelter; +import com.zipcodewilmington.froilansfarm.edible.Edible; + +public class FoodInventory extends Shelter { + + public FoodInventory(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java similarity index 88% rename from src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java rename to src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java index 2f764f58..c03c83ee 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Shelter.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.shelter; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Stables.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java similarity index 60% rename from src/main/java/com/zipcodewilmington/froilansfarm/Stables.java rename to src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java index 9b96f98b..f46f35ab 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Stables.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.shelter; public class Stables extends Shelter{ From 9cd296738acd754a74b06dbe91f66288082d2a16 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 21:01:15 -0400 Subject: [PATCH 03/16] Created FoodInventory tests --- pom.xml | 8 ++ .../froilansfarm/MainApplication.java | 4 + .../froilansfarm/shelter/ChickenCoop.java | 2 +- .../froilansfarm/shelter/CropRow.java | 2 +- .../froilansfarm/shelter/FarmHouse.java | 2 +- .../froilansfarm/shelter/Stables.java | 2 +- .../froilansfarm/edible/EggTest.java | 7 ++ .../shelter/FoodInventoryTest.java | 73 +++++++++++++++++++ 8 files changed, 96 insertions(+), 4 deletions(-) create mode 100644 src/test/java/com/zipcodewilmington/froilansfarm/edible/EggTest.java create mode 100644 src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java diff --git a/pom.xml b/pom.xml index 69a3b878..8f6247d0 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,14 @@ com.zipcodewilmington froilans-farm 1.0-SNAPSHOT + + + junit + junit + RELEASE + test + + \ No newline at end of file diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java b/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java index fd743ffc..a089354b 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/MainApplication.java @@ -5,4 +5,8 @@ */ public class MainApplication { + public static void main(String[] args){ + + } + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java index 11c06be5..ec3575ac 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java @@ -1,6 +1,6 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class ChickenCoop extends Shelter { +public class ChickenCoop {//extends Shelter { public ChickenCoop(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java index ce2b7794..8dd7dd15 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java @@ -1,6 +1,6 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class CropRow extends Shelter { +public class CropRow {//extends Shelter { public CropRow(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java index dbc2f4ee..52cf56b4 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java @@ -1,6 +1,6 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class FarmHouse extends Shelter { +public class FarmHouse {//extends Shelter { public FarmHouse(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java index f46f35ab..02fb2ba1 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java @@ -1,6 +1,6 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class Stables extends Shelter{ +public class Stables {//extends Shelter{ public Stables(){ diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/edible/EggTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/edible/EggTest.java new file mode 100644 index 00000000..b4656d30 --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/edible/EggTest.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.edible; + +import static org.junit.Assert.*; + +public class EggTest { + +} \ No newline at end of file diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java new file mode 100644 index 00000000..b2567d5e --- /dev/null +++ b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java @@ -0,0 +1,73 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +import com.zipcodewilmington.froilansfarm.edible.Corn; +import com.zipcodewilmington.froilansfarm.edible.Edible; +import com.zipcodewilmington.froilansfarm.edible.Egg; +import com.zipcodewilmington.froilansfarm.edible.Tomato; +import org.junit.Assert; +import org.junit.Test; + +import static org.junit.Assert.*; + +public class FoodInventoryTest { + + @Test + public void testAdd1(){ + FoodInventory silo = new FoodInventory(); + Corn corn1 = new Corn(); + Tomato tomato1 = new Tomato(); + Egg egg1 = new Egg(); + + silo.add(corn1); + silo.add(tomato1); + silo.add(egg1); + + Edible expected1 = corn1; + Edible actual1 = silo.get(0); + + Edible expected2 = tomato1; + Edible actual2 = silo.get(1); + + Edible expected3 = egg1; + Edible actual3 = silo.get(2); + + Assert.assertEquals(expected1,actual1); + Assert.assertEquals(expected2,actual2); + Assert.assertEquals(expected3,actual3); + } + +// @Test +// public void testAdd2(){ +// FoodInventory silo = new FoodInventory(); +// +// String string1 = "testing"; +// +// silo.add(string1); //GET ERROR AS EXPECTED BECAUSE silo needs an edible object +// +// } + + @Test + public void removeTest1(){ + FoodInventory silo = new FoodInventory(); + Corn corn1 = new Corn(); + Tomato tomato1 = new Tomato(); + Egg egg1 = new Egg(); + + silo.add(corn1); + silo.add(tomato1); + silo.add(egg1); + + silo.remove(tomato1); + + Edible expected1 = corn1; + Edible actual1 = silo.get(0); + + Edible expected2 = egg1; + Edible actual2 = silo.get(1); + + Assert.assertEquals(expected1,actual1); + Assert.assertEquals(expected2,actual2); + + } + +} \ No newline at end of file From b524d91ff20a9719c53d268e908550de529e3d69 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 21:06:12 -0400 Subject: [PATCH 04/16] Updated tests --- .../com/zipcodewilmington/froilansfarm/shelter/Shelter.java | 4 ++++ .../froilansfarm/shelter/FoodInventoryTest.java | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java index c03c83ee..13dc6f4a 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java @@ -22,4 +22,8 @@ public T get(int index){ return inShelter.get(index); } + public int size(){ + return inShelter.size(); + } + } diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java index b2567d5e..f80945ea 100644 --- a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java +++ b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java @@ -65,8 +65,13 @@ public void removeTest1(){ Edible expected2 = egg1; Edible actual2 = silo.get(1); + int expected3 = 2; + int actual3 = silo.size(); + Assert.assertEquals(expected1,actual1); Assert.assertEquals(expected2,actual2); + Assert.assertEquals(expected3,actual3); + } From c9344957e09182cc0feaf3061f58c16d7ff9c199 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 21:15:28 -0400 Subject: [PATCH 05/16] Minor change --- .../com/zipcodewilmington/froilansfarm/shelter/Shelter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java index 13dc6f4a..41c73968 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java @@ -4,7 +4,7 @@ import java.util.List; public abstract class Shelter { - List inShelter = new ArrayList(); + private List inShelter = new ArrayList(); public Shelter(){ From 674eec6317d3078139c242ea8a44dd08cf4125c0 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 21:21:31 -0400 Subject: [PATCH 06/16] Added a second constructor option for Shelter and FoodInventory --- .../froilansfarm/shelter/FoodInventory.java | 9 ++++++ .../froilansfarm/shelter/Shelter.java | 4 +++ .../shelter/FoodInventoryTest.java | 32 ++++++++++++++++++- 3 files changed, 44 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java index 62d8b645..aea27ffe 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java @@ -1,9 +1,18 @@ package com.zipcodewilmington.froilansfarm.shelter; import com.zipcodewilmington.froilansfarm.edible.Edible; +import java.util.List; + public class FoodInventory extends Shelter { + public FoodInventory(List edibleList){ + super(edibleList); + } + public FoodInventory(){ } + + + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java index 41c73968..03fcb0e1 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Shelter.java @@ -6,6 +6,10 @@ public abstract class Shelter { private List inShelter = new ArrayList(); + public Shelter(List inShelter){ + this.inShelter = inShelter; + } + public Shelter(){ } diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java index f80945ea..924d51c1 100644 --- a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java +++ b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java @@ -7,6 +7,9 @@ import org.junit.Assert; import org.junit.Test; +import java.util.ArrayList; +import java.util.List; + import static org.junit.Assert.*; public class FoodInventoryTest { @@ -36,8 +39,35 @@ public void testAdd1(){ Assert.assertEquals(expected3,actual3); } + @Test + public void testAdd2(){ + List edibleList = new ArrayList(); + Corn corn1 = new Corn(); + Tomato tomato1 = new Tomato(); + Egg egg1 = new Egg(); + + edibleList.add(corn1); + edibleList.add(tomato1); + edibleList.add(egg1); + + FoodInventory silo = new FoodInventory(edibleList); + + Edible expected1 = corn1; + Edible actual1 = silo.get(0); + + Edible expected2 = tomato1; + Edible actual2 = silo.get(1); + + Edible expected3 = egg1; + Edible actual3 = silo.get(2); + + Assert.assertEquals(expected1,actual1); + Assert.assertEquals(expected2,actual2); + Assert.assertEquals(expected3,actual3); + } + // @Test -// public void testAdd2(){ +// public void testAdd3(){ // FoodInventory silo = new FoodInventory(); // // String string1 = "testing"; From 5b22e06fbb115c398590bef520f3c8626eb34d80 Mon Sep 17 00:00:00 2001 From: Abiel Figueroa Date: Thu, 25 Mar 2021 22:19:55 -0400 Subject: [PATCH 07/16] my attempt at vehicle stuff --- src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java | 2 ++ .../java/com/zipcodewilmington/froilansfarm/CropDuster.java | 2 ++ .../java/com/zipcodewilmington/froilansfarm/FarmVehicle.java | 2 ++ .../java/com/zipcodewilmington/froilansfarm/Noisemaker.java | 2 ++ src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java | 2 ++ src/main/java/com/zipcodewilmington/froilansfarm/Rider.java | 2 ++ src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java | 2 ++ src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java | 2 ++ 8 files changed, 16 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Rider.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java new file mode 100644 index 00000000..3f33db5d --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public class Airplane { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java new file mode 100644 index 00000000..df759eef --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public class CropDuster { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java new file mode 100644 index 00000000..0a725d31 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public interface FarmVehicle { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java new file mode 100644 index 00000000..808c4896 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public interface Noisemaker { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java new file mode 100644 index 00000000..1d0083dd --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public interface Ridable { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java new file mode 100644 index 00000000..40048fa3 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public interface Rider { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java new file mode 100644 index 00000000..b7e7a740 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public class Tractor { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java new file mode 100644 index 00000000..611b299a --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java @@ -0,0 +1,2 @@ +package com.zipcodewilmington.froilansfarm;public class Vehicle { +} From 1dbdf057ea428192859daad1d77807847c524a43 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 22:52:26 -0400 Subject: [PATCH 08/16] Added field class --- .../com/zipcodewilmington/froilansfarm/shelter/Field.java | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/Field.java diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Field.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Field.java new file mode 100644 index 00000000..119f6a79 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Field.java @@ -0,0 +1,8 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +public class Field extends Shelter{ + + public Field(){ + + } +} From 44730cfb9d55305ae6d9796236059320af3298ed Mon Sep 17 00:00:00 2001 From: Abiel Figueroa Date: Thu, 25 Mar 2021 23:06:49 -0400 Subject: [PATCH 09/16] okay done now --- .../zipcodewilmington/froilansfarm/Airplane.java | 5 ++++- .../zipcodewilmington/froilansfarm/CropDuster.java | 13 ++++++++++++- .../zipcodewilmington/froilansfarm/FarmVehicle.java | 5 ++++- .../zipcodewilmington/froilansfarm/Noisemaker.java | 5 ++++- .../com/zipcodewilmington/froilansfarm/Ridable.java | 4 +++- .../com/zipcodewilmington/froilansfarm/Rider.java | 6 +++++- .../com/zipcodewilmington/froilansfarm/Tractor.java | 12 +++++++++++- .../com/zipcodewilmington/froilansfarm/Vehicle.java | 4 +++- 8 files changed, 46 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java index 3f33db5d..28bb35e6 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java @@ -1,2 +1,5 @@ -package com.zipcodewilmington.froilansfarm;public class Airplane { +package com.zipcodewilmington.froilansfarm; + +public abstract class Airplane extends Vehicle{ + public void fly(){} } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java index df759eef..02df1cee 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java @@ -1,2 +1,13 @@ -package com.zipcodewilmington.froilansfarm;public class CropDuster { +package com.zipcodewilmington.froilansfarm; + +public class CropDuster extends Airplane implements FarmVehicle{ + public void operate(){ + fertilize(); + } + //will be passed Crop parameter + public void fertilize(){} + + public void makeNoise(){ + System.out.println("Stupid plane noise"); + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java index 0a725d31..2b043554 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java @@ -1,2 +1,5 @@ -package com.zipcodewilmington.froilansfarm;public interface FarmVehicle { +package com.zipcodewilmington.froilansfarm; + +public interface FarmVehicle { + public void operate(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java index 808c4896..1fba4ca9 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java @@ -1,2 +1,5 @@ -package com.zipcodewilmington.froilansfarm;public interface Noisemaker { +package com.zipcodewilmington.froilansfarm; + +public interface Noisemaker { + public void makeNoise(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java index 1d0083dd..117ddefe 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java @@ -1,2 +1,4 @@ -package com.zipcodewilmington.froilansfarm;public interface Ridable { +package com.zipcodewilmington.froilansfarm; + +public interface Ridable { } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java index 40048fa3..7cc8c173 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java @@ -1,2 +1,6 @@ -package com.zipcodewilmington.froilansfarm;public interface Rider { +package com.zipcodewilmington.froilansfarm; + +public interface Rider { + public void mount(T mountable); + public void dismount(T mountable); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java index b7e7a740..69908b65 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java @@ -1,2 +1,12 @@ -package com.zipcodewilmington.froilansfarm;public class Tractor { +package com.zipcodewilmington.froilansfarm; + +public class Tractor extends Vehicle implements FarmVehicle{ + public void operate(){ + harvest(); + } + //will be passed Crop parameter + public void harvest(){} + public void makeNoise() { + System.out.println("Dumb tractor noises"); + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java index 611b299a..ee73b941 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java @@ -1,2 +1,4 @@ -package com.zipcodewilmington.froilansfarm;public class Vehicle { +package com.zipcodewilmington.froilansfarm; + +public abstract class Vehicle implements Ridable, Noisemaker{ } From 1489295a939d55c18e26e09b711176397f8077d2 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Thu, 25 Mar 2021 23:49:08 -0400 Subject: [PATCH 10/16] Made a bunch of updates --- .../froilansfarm/Airplane.java | 5 ---- .../froilansfarm/Ridable.java | 4 --- .../froilansfarm/Vehicle.java | 4 --- .../froilansfarm/animal/Animal.java | 19 ++++++++++++ .../froilansfarm/animal/Chicken.java | 27 +++++++++++++++++ .../froilansfarm/animal/Horse.java | 15 ++++++++++ .../froilansfarm/crops/CornStalk.java | 29 +++++++++++++++++++ .../froilansfarm/crops/Crop.java | 12 ++++++++ .../froilansfarm/crops/TomatoPlant.java | 29 +++++++++++++++++++ .../froilansfarm/edible/Corn.java | 4 ++- .../froilansfarm/edible/Edible.java | 6 ---- .../froilansfarm/edible/Egg.java | 4 ++- .../froilansfarm/edible/Tomato.java | 4 ++- .../froilansfarm/interfaces/Eater.java | 6 ++++ .../froilansfarm/interfaces/Edible.java | 6 ++++ .../{ => interfaces}/FarmVehicle.java | 2 +- .../{ => interfaces}/Noisemaker.java | 2 +- .../froilansfarm/interfaces/Produce.java | 7 +++++ .../froilansfarm/interfaces/Ridable.java | 4 +++ .../froilansfarm/{ => interfaces}/Rider.java | 2 +- .../froilansfarm/person/Botanist.java | 24 +++++++++++++++ .../froilansfarm/person/Farmer.java | 27 +++++++++++++++++ .../froilansfarm/person/Person.java | 23 +++++++++++++++ .../froilansfarm/person/Pilot.java | 26 +++++++++++++++++ .../froilansfarm/shelter/FoodInventory.java | 2 +- .../froilansfarm/vehicle/Airplane.java | 7 +++++ .../{ => vehicle}/CropDuster.java | 6 ++-- .../froilansfarm/{ => vehicle}/Tractor.java | 6 ++-- .../froilansfarm/vehicle/Vehicle.java | 7 +++++ .../shelter/FoodInventoryTest.java | 4 +-- 30 files changed, 290 insertions(+), 33 deletions(-) delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java delete mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Edible.java rename src/main/java/com/zipcodewilmington/froilansfarm/{ => interfaces}/FarmVehicle.java (52%) rename src/main/java/com/zipcodewilmington/froilansfarm/{ => interfaces}/Noisemaker.java (52%) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java rename src/main/java/com/zipcodewilmington/froilansfarm/{ => interfaces}/Rider.java (68%) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java rename src/main/java/com/zipcodewilmington/froilansfarm/{ => vehicle}/CropDuster.java (53%) rename src/main/java/com/zipcodewilmington/froilansfarm/{ => vehicle}/Tractor.java (53%) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java deleted file mode 100644 index 28bb35e6..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Airplane.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public abstract class Airplane extends Vehicle{ - public void fly(){} -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java b/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java deleted file mode 100644 index 117ddefe..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Ridable.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public interface Ridable { -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java deleted file mode 100644 index ee73b941..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Vehicle.java +++ /dev/null @@ -1,4 +0,0 @@ -package com.zipcodewilmington.froilansfarm; - -public abstract class Vehicle implements Ridable, Noisemaker{ -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java new file mode 100644 index 00000000..6d07d543 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java @@ -0,0 +1,19 @@ +package com.zipcodewilmington.froilansfarm.animal; + +import com.zipcodewilmington.froilansfarm.edible.Corn; +import com.zipcodewilmington.froilansfarm.interfaces.Eater; +import com.zipcodewilmington.froilansfarm.interfaces.Noisemaker; + +public abstract class Animal implements Eater, Noisemaker { + String name; + + public Animal(String name){ + this.name = name; + } + + public void eat(Corn food){ + + } + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java new file mode 100644 index 00000000..2009a9b0 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java @@ -0,0 +1,27 @@ +package com.zipcodewilmington.froilansfarm.animal; + +import com.zipcodewilmington.froilansfarm.edible.Egg; +import com.zipcodewilmington.froilansfarm.interfaces.Produce; + +public class Chicken extends Animal implements Produce { + boolean isFertilized = false; + + public Chicken(String name){ + super(name); + } + + public Egg yield(){ + if(isFertilized){ + return new Egg(); + } + return null; + } + + public void isFertilized(){ + isFertilized = true; + } + + public void makeNoise() { + System.out.println("Cock-a-doodle-doo"); + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java new file mode 100644 index 00000000..6132679b --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java @@ -0,0 +1,15 @@ +package com.zipcodewilmington.froilansfarm.animal; + +import com.zipcodewilmington.froilansfarm.interfaces.Ridable; + +public class Horse extends Animal implements Ridable { + + public Horse(String name){ + super(name); + } + + + public void makeNoise() { + System.out.println("Nayyy"); + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java new file mode 100644 index 00000000..b451be78 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java @@ -0,0 +1,29 @@ +package com.zipcodewilmington.froilansfarm.crops; + +import com.zipcodewilmington.froilansfarm.edible.Corn; +import com.zipcodewilmington.froilansfarm.edible.Tomato; +import com.zipcodewilmington.froilansfarm.interfaces.Edible; + +public class CornStalk extends Crop{ + boolean isFertilized = false; + boolean isHarvested = false; + + public CornStalk(){ + + } + + public Edible yield() { + if(isFertilized){ + return new Corn(); + } + return null; + } + + public void isFertilized() { + isFertilized = true; + } + + public void isHarvested(){ + isHarvested = true; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java new file mode 100644 index 00000000..f3978209 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java @@ -0,0 +1,12 @@ +package com.zipcodewilmington.froilansfarm.crops; + +import com.zipcodewilmington.froilansfarm.interfaces.Edible; +import com.zipcodewilmington.froilansfarm.interfaces.Produce; + +public abstract class Crop implements Produce { + + public Crop(){ + + } + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java new file mode 100644 index 00000000..ab8322ee --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java @@ -0,0 +1,29 @@ +package com.zipcodewilmington.froilansfarm.crops; + +import com.zipcodewilmington.froilansfarm.edible.Tomato; +import com.zipcodewilmington.froilansfarm.interfaces.Edible; + +public class TomatoPlant extends Crop{ + boolean isFertilized = false; + boolean isHarvested = false; + + public TomatoPlant(){ + + } + + + public Edible yield() { + if(isFertilized){ + return new Tomato(); + } + return null; + } + + public void isFertilized() { + isFertilized = true; + } + + public void isHarvested(){ + isHarvested = true; + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java index 006ae0c0..674758a9 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java @@ -1,4 +1,6 @@ package com.zipcodewilmington.froilansfarm.edible; -public class Corn implements Edible{ +import com.zipcodewilmington.froilansfarm.interfaces.Edible; + +public class Corn implements Edible { } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java deleted file mode 100644 index 01d7e841..00000000 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Edible.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.zipcodewilmington.froilansfarm.edible; - -public interface Edible { - - -} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java index 44d46fa7..55d82079 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java @@ -1,5 +1,7 @@ package com.zipcodewilmington.froilansfarm.edible; -public class Egg implements Edible{ +import com.zipcodewilmington.froilansfarm.interfaces.Edible; + +public class Egg implements Edible { } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java index d47964c7..060b1d77 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java @@ -1,4 +1,6 @@ package com.zipcodewilmington.froilansfarm.edible; -public class Tomato implements Edible{ +import com.zipcodewilmington.froilansfarm.interfaces.Edible; + +public class Tomato implements Edible { } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java new file mode 100644 index 00000000..85c1e584 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java @@ -0,0 +1,6 @@ +package com.zipcodewilmington.froilansfarm.interfaces; + +public interface Eater { + + public void eat(T food); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Edible.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Edible.java new file mode 100644 index 00000000..0c878741 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Edible.java @@ -0,0 +1,6 @@ +package com.zipcodewilmington.froilansfarm.interfaces; + +public interface Edible { + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java similarity index 52% rename from src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java rename to src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java index 2b043554..99d8d268 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/FarmVehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.interfaces; public interface FarmVehicle { public void operate(); diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java similarity index 52% rename from src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java rename to src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java index 1fba4ca9..89760b87 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Noisemaker.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.interfaces; public interface Noisemaker { public void makeNoise(); diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java new file mode 100644 index 00000000..672e8099 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.interfaces; + +public interface Produce { + + public Edible yield(); + public void isFertilized(); +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java new file mode 100644 index 00000000..f7893058 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java @@ -0,0 +1,4 @@ +package com.zipcodewilmington.froilansfarm.interfaces; + +public interface Ridable { +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java similarity index 68% rename from src/main/java/com/zipcodewilmington/froilansfarm/Rider.java rename to src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java index 7cc8c173..c4a46721 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Rider.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java @@ -1,4 +1,4 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.interfaces; public interface Rider { public void mount(T mountable); diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java new file mode 100644 index 00000000..111fec08 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java @@ -0,0 +1,24 @@ +package com.zipcodewilmington.froilansfarm.person; + +import com.zipcodewilmington.froilansfarm.crops.Crop; +import com.zipcodewilmington.froilansfarm.interfaces.Ridable; +import com.zipcodewilmington.froilansfarm.shelter.CropRow; + +public class Botanist extends Person{ + + public Botanist(String name){ + super(name); + } + + public void plantCrops(Crop crop, CropRow cropRow){ + //PLANT THE CROP IN THE CROPROW + } + + public void mount(Ridable mountable) { + + } + + public void dismount(Ridable mountable) { + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java new file mode 100644 index 00000000..fed39863 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -0,0 +1,27 @@ +package com.zipcodewilmington.froilansfarm.person; + +import com.zipcodewilmington.froilansfarm.animal.Animal; +import com.zipcodewilmington.froilansfarm.vehicle.Tractor; + +public class Farmer extends Botanist{ + + public Farmer(String name){ + super(name); + } + + public void mount(){ + + } + + public void dismount(){ + + } + + public void operate(Tractor tractor){ + + } + + public void feed(Animal animal){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java new file mode 100644 index 00000000..744bdb77 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java @@ -0,0 +1,23 @@ +package com.zipcodewilmington.froilansfarm.person; + +import com.zipcodewilmington.froilansfarm.interfaces.Eater; +import com.zipcodewilmington.froilansfarm.interfaces.Edible; +import com.zipcodewilmington.froilansfarm.interfaces.Noisemaker; +import com.zipcodewilmington.froilansfarm.interfaces.Rider; + +public abstract class Person implements Eater, Noisemaker, Rider { + private String name; + + public Person(String name){ + this.name = name; + } + + public void makeNoise(){ + System.out.println("Hi I'm a Person"); + } + + public void eat(Edible food){ + System.out.println(name+" ate "+food); + //INTERACT WITH INVENTORY AND DELETE FOOD + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java new file mode 100644 index 00000000..f3ac8b79 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java @@ -0,0 +1,26 @@ +package com.zipcodewilmington.froilansfarm.person; + +import com.zipcodewilmington.froilansfarm.vehicle.CropDuster; + +public class Pilot extends Farmer{ + + public Pilot(String name){ + super(name); + } + + public void fly(CropDuster plane){ + + } + + public void operate(CropDuster cropDuster){ + + } + + public void mount(){ + + } + + public void dismount(){ + + } +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java index aea27ffe..3fb07939 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventory.java @@ -1,5 +1,5 @@ package com.zipcodewilmington.froilansfarm.shelter; -import com.zipcodewilmington.froilansfarm.edible.Edible; +import com.zipcodewilmington.froilansfarm.interfaces.Edible; import java.util.List; diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java new file mode 100644 index 00000000..13a2eae5 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.vehicle; + +import com.zipcodewilmington.froilansfarm.vehicle.Vehicle; + +public abstract class Airplane extends Vehicle { + public void fly(){} +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java similarity index 53% rename from src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java rename to src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java index 02df1cee..7ad33aa1 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java @@ -1,6 +1,8 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.vehicle; -public class CropDuster extends Airplane implements FarmVehicle{ +import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; + +public class CropDuster extends Airplane implements FarmVehicle { public void operate(){ fertilize(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java similarity index 53% rename from src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java rename to src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java index 69908b65..cdc6ad95 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/Tractor.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java @@ -1,6 +1,8 @@ -package com.zipcodewilmington.froilansfarm; +package com.zipcodewilmington.froilansfarm.vehicle; -public class Tractor extends Vehicle implements FarmVehicle{ +import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; + +public class Tractor extends Vehicle implements FarmVehicle { public void operate(){ harvest(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java new file mode 100644 index 00000000..228a82d4 --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java @@ -0,0 +1,7 @@ +package com.zipcodewilmington.froilansfarm.vehicle; + +import com.zipcodewilmington.froilansfarm.interfaces.Noisemaker; +import com.zipcodewilmington.froilansfarm.interfaces.Ridable; + +public abstract class Vehicle implements Ridable, Noisemaker { +} diff --git a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java index 924d51c1..603c1491 100644 --- a/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java +++ b/src/test/java/com/zipcodewilmington/froilansfarm/shelter/FoodInventoryTest.java @@ -1,7 +1,7 @@ package com.zipcodewilmington.froilansfarm.shelter; import com.zipcodewilmington.froilansfarm.edible.Corn; -import com.zipcodewilmington.froilansfarm.edible.Edible; +import com.zipcodewilmington.froilansfarm.interfaces.Edible; import com.zipcodewilmington.froilansfarm.edible.Egg; import com.zipcodewilmington.froilansfarm.edible.Tomato; import org.junit.Assert; @@ -10,8 +10,6 @@ import java.util.ArrayList; import java.util.List; -import static org.junit.Assert.*; - public class FoodInventoryTest { @Test From 89e7443ce4a7f483938176287d6ddb0541acc252 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Fri, 26 Mar 2021 00:02:47 -0400 Subject: [PATCH 11/16] More stuff --- .../froilansfarm/person/Botanist.java | 2 +- .../froilansfarm/shelter/ChickenCoop.java | 4 +++- .../froilansfarm/shelter/CropRow.java | 4 +++- .../froilansfarm/shelter/Farm.java | 17 +++++++++++++++++ .../froilansfarm/shelter/FarmHouse.java | 4 +++- 5 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java index 111fec08..0a2b5f02 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java @@ -11,7 +11,7 @@ public Botanist(String name){ } public void plantCrops(Crop crop, CropRow cropRow){ - //PLANT THE CROP IN THE CROPROW + cropRow.add(crop); } public void mount(Ridable mountable) { diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java index ec3575ac..16baba8f 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/ChickenCoop.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class ChickenCoop {//extends Shelter { +import com.zipcodewilmington.froilansfarm.animal.Chicken; + +public class ChickenCoop extends Shelter { public ChickenCoop(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java index 8dd7dd15..2a288689 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/CropRow.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class CropRow {//extends Shelter { +import com.zipcodewilmington.froilansfarm.crops.Crop; + +public class CropRow extends Shelter { public CropRow(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java new file mode 100644 index 00000000..d621bffd --- /dev/null +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java @@ -0,0 +1,17 @@ +package com.zipcodewilmington.froilansfarm.shelter; + +import java.util.ArrayList; +import java.util.List; + +public class Farm { + + List chickenCoops = new ArrayList(); + List stables = new ArrayList(); + FarmHouse farmHouse = new FarmHouse(); + + public Farm(){ + + } + + +} diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java index 52cf56b4..136b658a 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/FarmHouse.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class FarmHouse {//extends Shelter { +import com.zipcodewilmington.froilansfarm.person.Person; + +public class FarmHouse extends Shelter { public FarmHouse(){ From 2cefaa9156af9ca88abc6885ecd1150b7ff427ae Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Fri, 26 Mar 2021 00:17:29 -0400 Subject: [PATCH 12/16] More stuff --- .../froilansfarm/animal/Horse.java | 5 +++++ .../froilansfarm/person/Farmer.java | 13 ++++++++----- .../froilansfarm/person/Person.java | 4 ++++ .../froilansfarm/vehicle/Airplane.java | 5 +++++ .../froilansfarm/vehicle/CropDuster.java | 10 ++++++++++ .../froilansfarm/vehicle/Tractor.java | 10 ++++++++++ .../froilansfarm/vehicle/Vehicle.java | 7 +++++++ 7 files changed, 49 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java index 6132679b..d56fd0b2 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Horse.java @@ -12,4 +12,9 @@ public Horse(String name){ public void makeNoise() { System.out.println("Nayyy"); } + + @Override + public String toString(){ + return "Horse"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java index fed39863..9f1942ad 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -1,6 +1,9 @@ package com.zipcodewilmington.froilansfarm.person; import com.zipcodewilmington.froilansfarm.animal.Animal; +import com.zipcodewilmington.froilansfarm.crops.Crop; +import com.zipcodewilmington.froilansfarm.interfaces.Ridable; +import com.zipcodewilmington.froilansfarm.shelter.CropRow; import com.zipcodewilmington.froilansfarm.vehicle.Tractor; public class Farmer extends Botanist{ @@ -9,15 +12,15 @@ public Farmer(String name){ super(name); } - public void mount(){ - + public void mount(Ridable somethingRidable){ + System.out.print(this.getName()+" is riding "+somethingRidable.toString()); } - public void dismount(){ - + public void dismount(Ridable somethingRidable){ + System.out.print(this.getName()+" stopped riding "+somethingRidable.toString()); } - public void operate(Tractor tractor){ + public void operate(Tractor tractor, CropRow cropRow){ } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java index 744bdb77..fa5387c7 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java @@ -20,4 +20,8 @@ public void eat(Edible food){ System.out.println(name+" ate "+food); //INTERACT WITH INVENTORY AND DELETE FOOD } + + public String getName(){ + return name; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java index 13a2eae5..ae51bbf4 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java @@ -3,5 +3,10 @@ import com.zipcodewilmington.froilansfarm.vehicle.Vehicle; public abstract class Airplane extends Vehicle { + + public Airplane(String name){ + super(name); + } + public void fly(){} } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java index 7ad33aa1..0fd8fe2e 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java @@ -3,6 +3,11 @@ import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; public class CropDuster extends Airplane implements FarmVehicle { + + public CropDuster(String name){ + super(name); + } + public void operate(){ fertilize(); } @@ -12,4 +17,9 @@ public void fertilize(){} public void makeNoise(){ System.out.println("Stupid plane noise"); } + + @Override + public String toString(){ + return "Crop Duster"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java index cdc6ad95..d09b97d0 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java @@ -3,6 +3,11 @@ import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; public class Tractor extends Vehicle implements FarmVehicle { + + public Tractor(String name){ + super(name); + } + public void operate(){ harvest(); } @@ -11,4 +16,9 @@ public void harvest(){} public void makeNoise() { System.out.println("Dumb tractor noises"); } + + @Override + public String toString(){ + return "Tractor"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java index 228a82d4..c428cd32 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Vehicle.java @@ -4,4 +4,11 @@ import com.zipcodewilmington.froilansfarm.interfaces.Ridable; public abstract class Vehicle implements Ridable, Noisemaker { + String name; + + public Vehicle(String name){ + this.name = name; + } + + } From bd2a9ab2a88fa4eeea40aa2bf673f938e16ebbb8 Mon Sep 17 00:00:00 2001 From: Chris Allen Date: Fri, 26 Mar 2021 15:59:09 -0400 Subject: [PATCH 13/16] Made some changes --- .../froilansfarm/animal/Animal.java | 2 +- .../froilansfarm/animal/Chicken.java | 6 +++++ .../froilansfarm/crops/CornStalk.java | 16 ++++--------- .../froilansfarm/crops/Crop.java | 15 ++++++++++++ .../froilansfarm/crops/TomatoPlant.java | 16 ++++--------- .../froilansfarm/edible/Corn.java | 5 ++++ .../froilansfarm/edible/Egg.java | 5 ++++ .../froilansfarm/edible/Tomato.java | 5 ++++ .../froilansfarm/interfaces/FarmVehicle.java | 5 +++- .../froilansfarm/person/Botanist.java | 8 ------- .../froilansfarm/person/Farmer.java | 10 +------- .../froilansfarm/person/Person.java | 13 ++++++---- .../froilansfarm/person/Pilot.java | 11 ++------- .../froilansfarm/vehicle/CropDuster.java | 15 ++++++++---- .../froilansfarm/vehicle/Tractor.java | 24 +++++++++++++++---- 15 files changed, 92 insertions(+), 64 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java index 6d07d543..27fecf75 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java @@ -12,7 +12,7 @@ public Animal(String name){ } public void eat(Corn food){ - + System.out.println(this.toString()+" ate "+food.toString()); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java index 2009a9b0..f2ba22d1 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java @@ -1,5 +1,6 @@ package com.zipcodewilmington.froilansfarm.animal; +import com.zipcodewilmington.froilansfarm.edible.Corn; import com.zipcodewilmington.froilansfarm.edible.Egg; import com.zipcodewilmington.froilansfarm.interfaces.Produce; @@ -24,4 +25,9 @@ public void isFertilized(){ public void makeNoise() { System.out.println("Cock-a-doodle-doo"); } + + @Override + public String toString(){ + return "Chicken"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java index b451be78..3bd3d53d 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java @@ -5,25 +5,17 @@ import com.zipcodewilmington.froilansfarm.interfaces.Edible; public class CornStalk extends Crop{ - boolean isFertilized = false; - boolean isHarvested = false; public CornStalk(){ } public Edible yield() { - if(isFertilized){ - return new Corn(); - } - return null; + return new Corn(); } - public void isFertilized() { - isFertilized = true; - } - - public void isHarvested(){ - isHarvested = true; + @Override + public String toString(){ + return "Corn Stalk"; } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java index f3978209..86e6a3bb 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java @@ -4,9 +4,24 @@ import com.zipcodewilmington.froilansfarm.interfaces.Produce; public abstract class Crop implements Produce { + boolean isFertilized = false; + boolean isHarvested = false; public Crop(){ } + public void isFertilized() { + isFertilized = true; + } + + public void isHarvested(){ + if(isFertilized && !isHarvested){ + Edible ediblePlant = this.yield(); + + } + + } + + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java index ab8322ee..62895c2c 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java @@ -4,26 +4,18 @@ import com.zipcodewilmington.froilansfarm.interfaces.Edible; public class TomatoPlant extends Crop{ - boolean isFertilized = false; - boolean isHarvested = false; public TomatoPlant(){ } - public Edible yield() { - if(isFertilized){ - return new Tomato(); - } - return null; - } + return new Tomato(); - public void isFertilized() { - isFertilized = true; } - public void isHarvested(){ - isHarvested = true; + @Override + public String toString(){ + return "Tomato Plant"; } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java index 674758a9..1ba872b7 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Corn.java @@ -3,4 +3,9 @@ import com.zipcodewilmington.froilansfarm.interfaces.Edible; public class Corn implements Edible { + + @Override + public String toString(){ + return "Corn"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java index 55d82079..bd4a4a78 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Egg.java @@ -4,4 +4,9 @@ public class Egg implements Edible { + + @Override + public String toString(){ + return "Egg"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java index 060b1d77..845d0dad 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/edible/Tomato.java @@ -3,4 +3,9 @@ import com.zipcodewilmington.froilansfarm.interfaces.Edible; public class Tomato implements Edible { + + @Override + public String toString(){ + return "Tomato"; + } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java index 99d8d268..7d38a98c 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.froilansfarm.interfaces; +import com.zipcodewilmington.froilansfarm.shelter.CropRow; + public interface FarmVehicle { - public void operate(); + public void operate(CropRow cropRow); + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java index 0a2b5f02..1fceb82a 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java @@ -13,12 +13,4 @@ public Botanist(String name){ public void plantCrops(Crop crop, CropRow cropRow){ cropRow.add(crop); } - - public void mount(Ridable mountable) { - - } - - public void dismount(Ridable mountable) { - - } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java index 9f1942ad..e8a7f1ea 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -12,19 +12,11 @@ public Farmer(String name){ super(name); } - public void mount(Ridable somethingRidable){ - System.out.print(this.getName()+" is riding "+somethingRidable.toString()); - } - - public void dismount(Ridable somethingRidable){ - System.out.print(this.getName()+" stopped riding "+somethingRidable.toString()); - } - public void operate(Tractor tractor, CropRow cropRow){ } public void feed(Animal animal){ - + System.out.println(animal.toString()+" was fed"); } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java index fa5387c7..97a5c552 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java @@ -1,9 +1,6 @@ package com.zipcodewilmington.froilansfarm.person; -import com.zipcodewilmington.froilansfarm.interfaces.Eater; -import com.zipcodewilmington.froilansfarm.interfaces.Edible; -import com.zipcodewilmington.froilansfarm.interfaces.Noisemaker; -import com.zipcodewilmington.froilansfarm.interfaces.Rider; +import com.zipcodewilmington.froilansfarm.interfaces.*; public abstract class Person implements Eater, Noisemaker, Rider { private String name; @@ -21,6 +18,14 @@ public void eat(Edible food){ //INTERACT WITH INVENTORY AND DELETE FOOD } + public void mount(Ridable somethingRidable){ + System.out.print(this.getName()+" is riding "+somethingRidable.toString()); + } + + public void dismount(Ridable somethingRidable){ + System.out.print(this.getName()+" stopped riding "+somethingRidable.toString()); + } + public String getName(){ return name; } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java index f3ac8b79..5fa361e5 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Pilot.java @@ -8,19 +8,12 @@ public Pilot(String name){ super(name); } - public void fly(CropDuster plane){ - + public void fly(CropDuster cropDuster){ + System.out.println(this.getName()+" is flying a "+cropDuster.toString()); } public void operate(CropDuster cropDuster){ } - public void mount(){ - - } - - public void dismount(){ - - } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java index 0fd8fe2e..916ed66a 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.vehicle; +import com.zipcodewilmington.froilansfarm.crops.Crop; import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; +import com.zipcodewilmington.froilansfarm.shelter.CropRow; public class CropDuster extends Airplane implements FarmVehicle { @@ -8,11 +10,15 @@ public CropDuster(String name){ super(name); } - public void operate(){ - fertilize(); + public void operate(CropRow cropRow){ + fertilize(cropRow); + } + + private void fertilize(CropRow cropRow){ + for(int i=0;i Date: Fri, 26 Mar 2021 16:30:59 -0400 Subject: [PATCH 14/16] Made logic changes --- .../froilansfarm/animal/Chicken.java | 8 +++++-- .../froilansfarm/crops/Crop.java | 12 +++++------ .../froilansfarm/interfaces/FarmVehicle.java | 3 ++- .../froilansfarm/interfaces/Produce.java | 2 +- .../froilansfarm/person/Farmer.java | 8 +++++++ .../froilansfarm/person/Person.java | 1 + .../froilansfarm/vehicle/CropDuster.java | 8 +++---- .../froilansfarm/vehicle/Tractor.java | 21 +++++++++---------- 8 files changed, 38 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java index f2ba22d1..f19a7a63 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java @@ -12,16 +12,20 @@ public Chicken(String name){ } public Egg yield(){ - if(isFertilized){ + if(!isFertilized){ return new Egg(); } return null; } - public void isFertilized(){ + public void fertilizeEgg(){ isFertilized = true; } + public boolean isFertilized(){ + return isFertilized; + } + public void makeNoise() { System.out.println("Cock-a-doodle-doo"); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java index 86e6a3bb..3b123a29 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java @@ -11,16 +11,16 @@ public Crop(){ } - public void isFertilized() { + public void fertilizeCrop() { isFertilized = true; } - public void isHarvested(){ - if(isFertilized && !isHarvested){ - Edible ediblePlant = this.yield(); - - } + public boolean isFertilized() { + return isFertilized; + } + public boolean isHarvested() { + return isHarvested; } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java index 7d38a98c..36201c1d 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java @@ -1,8 +1,9 @@ package com.zipcodewilmington.froilansfarm.interfaces; import com.zipcodewilmington.froilansfarm.shelter.CropRow; +import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; public interface FarmVehicle { - public void operate(CropRow cropRow); + public void operate(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java index 672e8099..1ae9e20e 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Produce.java @@ -3,5 +3,5 @@ public interface Produce { public Edible yield(); - public void isFertilized(); + public boolean isFertilized(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java index e8a7f1ea..3a9b752f 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -3,7 +3,9 @@ import com.zipcodewilmington.froilansfarm.animal.Animal; import com.zipcodewilmington.froilansfarm.crops.Crop; import com.zipcodewilmington.froilansfarm.interfaces.Ridable; +import com.zipcodewilmington.froilansfarm.shelter.ChickenCoop; import com.zipcodewilmington.froilansfarm.shelter.CropRow; +import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; import com.zipcodewilmington.froilansfarm.vehicle.Tractor; public class Farmer extends Botanist{ @@ -16,6 +18,12 @@ public void operate(Tractor tractor, CropRow cropRow){ } + public void getEggs(ChickenCoop coop, FoodInventory silo){ + for(int i=0;i Date: Sat, 27 Mar 2021 19:05:35 -0400 Subject: [PATCH 15/16] thoroughly commented project --- .../froilansfarm/animal/Animal.java | 6 +++++- .../froilansfarm/animal/Chicken.java | 1 + .../froilansfarm/crops/CornStalk.java | 3 +++ .../zipcodewilmington/froilansfarm/crops/Crop.java | 12 +++++++++--- .../froilansfarm/crops/TomatoPlant.java | 4 +++- .../froilansfarm/interfaces/Eater.java | 4 +++- .../froilansfarm/interfaces/FarmVehicle.java | 2 ++ .../froilansfarm/interfaces/Noisemaker.java | 3 +++ .../froilansfarm/interfaces/Ridable.java | 1 + .../froilansfarm/interfaces/Rider.java | 4 ++++ .../froilansfarm/person/Botanist.java | 1 + .../froilansfarm/person/Farmer.java | 5 +++++ .../froilansfarm/person/Person.java | 3 ++- .../zipcodewilmington/froilansfarm/shelter/Farm.java | 2 ++ .../froilansfarm/shelter/Stables.java | 4 +++- .../froilansfarm/vehicle/Airplane.java | 11 ++++++++++- .../froilansfarm/vehicle/CropDuster.java | 4 ++++ .../froilansfarm/vehicle/Tractor.java | 1 + 18 files changed, 62 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java index 27fecf75..ae93108f 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java @@ -3,6 +3,7 @@ import com.zipcodewilmington.froilansfarm.edible.Corn; import com.zipcodewilmington.froilansfarm.interfaces.Eater; import com.zipcodewilmington.froilansfarm.interfaces.Noisemaker; +import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; public abstract class Animal implements Eater, Noisemaker { String name; @@ -11,7 +12,10 @@ public Animal(String name){ this.name = name; } - public void eat(Corn food){ + public void eat(Corn food, FoodInventory silo){ + //Will remove an instance of a Corn edible object from the given foodInventory + //Maybe if object doesn't exist, give a message that the animal is hungry + //For debugging purposes at least, print out given foodInventory System.out.println(this.toString()+" ate "+food.toString()); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java index f19a7a63..b616ff70 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Chicken.java @@ -11,6 +11,7 @@ public Chicken(String name){ super(name); } + //whatever calls yield here has to put the egg in the FoodInventory public Egg yield(){ if(!isFertilized){ return new Egg(); diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java index 3bd3d53d..9aea21fd 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java @@ -10,6 +10,9 @@ public CornStalk(){ } + //IF isFertilized is true and isHarvested is false + //Then return a Corn, and set isHarvested to true + //caller will need to store returned food object some place public Edible yield() { return new Corn(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java index 3b123a29..da899c82 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java @@ -4,21 +4,27 @@ import com.zipcodewilmington.froilansfarm.interfaces.Produce; public abstract class Crop implements Produce { - boolean isFertilized = false; - boolean isHarvested = false; + private boolean isFertilized = false; + private boolean isHarvested = false; - public Crop(){ + public Crop(){ } + + + public void fertilizeCrop() { isFertilized = true; } + + public boolean isFertilized() { return isFertilized; } + public boolean isHarvested() { return isHarvested; } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java index 62895c2c..b322f7b9 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java @@ -9,9 +9,11 @@ public TomatoPlant(){ } + //IF isFertilized is true and isHarvested is false + //Then return a Tomato, and set isHarvested to true + //caller will need to store returned food object some place public Edible yield() { return new Tomato(); - } @Override diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java index 85c1e584..f3ff9053 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Eater.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.interfaces; +import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; + public interface Eater { - public void eat(T food); + public void eat(T food, FoodInventory whatever); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java index 36201c1d..620c4534 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/FarmVehicle.java @@ -4,6 +4,8 @@ import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; public interface FarmVehicle { + + //Prints a string letting user know farm vehicle is operating public void operate(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java index 89760b87..88446971 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Noisemaker.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.froilansfarm.interfaces; public interface Noisemaker { + + //Anything that can make noise just prints a string of whatever + //Dumb noise it makes public void makeNoise(); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java index f7893058..dc24a385 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Ridable.java @@ -1,4 +1,5 @@ package com.zipcodewilmington.froilansfarm.interfaces; public interface Ridable { + //Only purpose is to determine what objects can be ridden } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java index c4a46721..bcb037fe 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/interfaces/Rider.java @@ -1,6 +1,10 @@ package com.zipcodewilmington.froilansfarm.interfaces; public interface Rider { + + //Either more string fluff, or boolean checks to ensure + // vehicles can only operate if they're being ridden. + //In either case, get name of ridable to use in the string. public void mount(T mountable); public void dismount(T mountable); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java index 1fceb82a..99ad6ce0 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java @@ -10,6 +10,7 @@ public Botanist(String name){ super(name); } + //Passes Crop objects into croprows public void plantCrops(Crop crop, CropRow cropRow){ cropRow.add(crop); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java index 3a9b752f..d4c09f89 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -18,12 +18,17 @@ public void operate(Tractor tractor, CropRow cropRow){ } + //Farmer goes into a chickencoop, calls yield on each chicken + //Currently there is no means of fertilizing chickens, so each chicken in the coop + //should yield an egg to the FoodInventory public void getEggs(ChickenCoop coop, FoodInventory silo){ for(int i=0;i, Noisemaker, Rider { private String name; @@ -13,7 +14,7 @@ public void makeNoise(){ System.out.println("Hi I'm a Person"); } - public void eat(Edible food){ + public void eat(Edible food, FoodInventory silo){ System.out.println(name+" ate "+food); //INTERACT WITH INVENTORY AND DELETE FOOD diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java index d621bffd..df638462 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java @@ -9,6 +9,8 @@ public class Farm { List stables = new ArrayList(); FarmHouse farmHouse = new FarmHouse(); + //Possibly instantiate vehicles/people/animals here? + public Farm(){ } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java index 02fb2ba1..6d13ba81 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Stables.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.froilansfarm.shelter; -public class Stables {//extends Shelter{ +import com.zipcodewilmington.froilansfarm.animal.Horse; + +public class Stables extends Shelter{ public Stables(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java index ae51bbf4..81dd9981 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Airplane.java @@ -3,10 +3,19 @@ import com.zipcodewilmington.froilansfarm.vehicle.Vehicle; public abstract class Airplane extends Vehicle { + public boolean inAir=false; public Airplane(String name){ super(name); } - public void fly(){} + public void fly(){ + inAir=true; + System.out.println("We in the sky baby!"); + } + public void land(){ + inAir=false; + System.out.println("Back on solid ground!"); + } + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java index 37eff546..f35250db 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java @@ -10,14 +10,18 @@ public CropDuster(String name){ super(name); } + //put pilot as parameter, use pilots name in string output public void operate(){ System.out.println(this.toString()+" is running!"); } + public void fertilize(CropRow cropRow){ + if(inAir==true){ for(int i=0;i Date: Sat, 27 Mar 2021 19:29:18 -0400 Subject: [PATCH 16/16] Made modifications we talked about --- .../froilansfarm/animal/Animal.java | 16 ++++++++++++---- .../froilansfarm/crops/CornStalk.java | 12 +++++++++--- .../froilansfarm/crops/Crop.java | 4 +++- .../froilansfarm/crops/TomatoPlant.java | 13 ++++++++++--- .../froilansfarm/person/Botanist.java | 2 +- .../froilansfarm/person/Farmer.java | 14 ++++++++------ .../froilansfarm/person/Person.java | 4 ++-- .../froilansfarm/shelter/Farm.java | 2 +- .../froilansfarm/vehicle/CropDuster.java | 10 ++++++++-- .../froilansfarm/vehicle/Tractor.java | 11 +++++++---- 10 files changed, 61 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java index ae93108f..cb4db282 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/animal/Animal.java @@ -13,10 +13,18 @@ public Animal(String name){ } public void eat(Corn food, FoodInventory silo){ - //Will remove an instance of a Corn edible object from the given foodInventory - //Maybe if object doesn't exist, give a message that the animal is hungry - //For debugging purposes at least, print out given foodInventory - System.out.println(this.toString()+" ate "+food.toString()); + //Will remove an instance of a Corn edible object from the given foodInventory -> DONE + //Maybe if object doesn't exist, give a message that the animal is hungry -> DONE + //For debugging purposes at least, print out given foodInventory -> + if(food != null){ + System.out.println(this.toString()+" ate "+food.toString()); + silo.remove(food); + System.out.println("Current food in food inventory: "+silo.size()); + } + else{ + System.out.println(this.toString()+" was not fed and is still hungry!"); + } + } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java index 9aea21fd..1ca135e5 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/CornStalk.java @@ -10,11 +10,17 @@ public CornStalk(){ } - //IF isFertilized is true and isHarvested is false - //Then return a Corn, and set isHarvested to true + //IF isFertilized is true and isHarvested is false -> DONE + //Then return a Corn, and set isHarvested to true -> DONE //caller will need to store returned food object some place public Edible yield() { - return new Corn(); + if(isFertilized() && !isHarvested()){ + harvestCrop(); + return new Corn(); + } + else{ + return null; + } } @Override diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java index da899c82..ed877dba 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/Crop.java @@ -18,7 +18,9 @@ public void fertilizeCrop() { isFertilized = true; } - + public void harvestCrop() { + isHarvested = true; + } public boolean isFertilized() { return isFertilized; diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java index b322f7b9..1c619c69 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/crops/TomatoPlant.java @@ -1,5 +1,6 @@ package com.zipcodewilmington.froilansfarm.crops; +import com.zipcodewilmington.froilansfarm.edible.Corn; import com.zipcodewilmington.froilansfarm.edible.Tomato; import com.zipcodewilmington.froilansfarm.interfaces.Edible; @@ -9,11 +10,17 @@ public TomatoPlant(){ } - //IF isFertilized is true and isHarvested is false - //Then return a Tomato, and set isHarvested to true + //IF isFertilized is true and isHarvested is false -> DONE + //Then return a Tomato, and set isHarvested to true -> DONE //caller will need to store returned food object some place public Edible yield() { - return new Tomato(); + if(isFertilized() && !isHarvested()){ + harvestCrop(); + return new Tomato(); + } + else{ + return null; + } } @Override diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java index 99ad6ce0..4b4754b1 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Botanist.java @@ -10,7 +10,7 @@ public Botanist(String name){ super(name); } - //Passes Crop objects into croprows + //Passes Crop objects into croprows -> DONE public void plantCrops(Crop crop, CropRow cropRow){ cropRow.add(crop); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java index d4c09f89..244fce31 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Farmer.java @@ -2,6 +2,7 @@ import com.zipcodewilmington.froilansfarm.animal.Animal; import com.zipcodewilmington.froilansfarm.crops.Crop; +import com.zipcodewilmington.froilansfarm.edible.Corn; import com.zipcodewilmington.froilansfarm.interfaces.Ridable; import com.zipcodewilmington.froilansfarm.shelter.ChickenCoop; import com.zipcodewilmington.froilansfarm.shelter.CropRow; @@ -18,18 +19,19 @@ public void operate(Tractor tractor, CropRow cropRow){ } - //Farmer goes into a chickencoop, calls yield on each chicken - //Currently there is no means of fertilizing chickens, so each chicken in the coop - //should yield an egg to the FoodInventory + //Farmer goes into a chickencoop, calls yield on each chicken -> DONE + //Currently there is no means of fertilizing chickens, so each chicken in the coop -> YIELD METHOD ALREADY CHECKS IF NOT FERTILIZED + //should yield an egg to the FoodInventory -> DONE public void getEggs(ChickenCoop coop, FoodInventory silo){ for(int i=0;i DONE + //if not enough food, return a sad message. Something about being hungry and dolio's fault. -> ANIMALS EAT METHOD CHECKS FOR NULL FOOD + public void feed(Animal animal, Corn food, FoodInventory silo){ System.out.println(animal.toString()+" was fed"); + animal.eat(food,silo); } } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java index b0615ad3..4cf110b8 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/person/Person.java @@ -16,8 +16,8 @@ public void makeNoise(){ public void eat(Edible food, FoodInventory silo){ System.out.println(name+" ate "+food); - //INTERACT WITH INVENTORY AND DELETE FOOD - + silo.remove(food); + System.out.println("Current food in food inventory: "+silo.size()); } public void mount(Ridable somethingRidable){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java index df638462..ff165522 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/shelter/Farm.java @@ -9,7 +9,7 @@ public class Farm { List stables = new ArrayList(); FarmHouse farmHouse = new FarmHouse(); - //Possibly instantiate vehicles/people/animals here? + //Possibly instantiate vehicles/people/animals here? -> LEAVING THIS UP TO YOU ABE lol public Farm(){ diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java index f35250db..ac0e5d16 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/CropDuster.java @@ -2,6 +2,7 @@ import com.zipcodewilmington.froilansfarm.crops.Crop; import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; +import com.zipcodewilmington.froilansfarm.person.Pilot; import com.zipcodewilmington.froilansfarm.shelter.CropRow; public class CropDuster extends Airplane implements FarmVehicle { @@ -10,9 +11,14 @@ public CropDuster(String name){ super(name); } - //put pilot as parameter, use pilots name in string output + //put pilot as parameter, use pilots name in string output -> DONE + public void operate(Pilot pilot){ + System.out.println(pilot.getName()+" is flying a "+this.toString()); + } + + //Added this one to satisfy operate() method in FarmVehicle interface public void operate(){ - System.out.println(this.toString()+" is running!"); + System.out.println("The "+this.toString()+" is flying!"); } diff --git a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java index 7ab687d3..028beca2 100644 --- a/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java +++ b/src/main/java/com/zipcodewilmington/froilansfarm/vehicle/Tractor.java @@ -3,6 +3,7 @@ import com.zipcodewilmington.froilansfarm.crops.Crop; import com.zipcodewilmington.froilansfarm.interfaces.Edible; import com.zipcodewilmington.froilansfarm.interfaces.FarmVehicle; +import com.zipcodewilmington.froilansfarm.person.Farmer; import com.zipcodewilmington.froilansfarm.shelter.CropRow; import com.zipcodewilmington.froilansfarm.shelter.FoodInventory; @@ -12,14 +13,16 @@ public Tractor(String name){ super(name); } - //Pass farmer as parameter, print the rider's name? + //Pass farmer as parameter, print the rider's name? -> DONE + public void operate(Farmer farmer){ + System.out.println(farmer.getName()+" is flying a "+this.toString()); + } + + //Added this one to satisfy operate() method in FarmVehicle interface public void operate(){ System.out.println(this.toString()+" is running!"); } -// public void harvest(Crop crop, FoodInventory silo){ -// silo.add(crop.harvestCrop()); -// } public void harvest(CropRow cropRow, FoodInventory silo){ for(int i=0;i