From 88b07d00f1cc64d74c8a2df2ed4db6e5d97515a5 Mon Sep 17 00:00:00 2001 From: Yiran Li Date: Fri, 7 Feb 2020 10:43:51 -0800 Subject: [PATCH 1/4] yli change the project structure and add maven support --- .classpath | 6 ----- .project | 17 -------------- pom.xml | 27 ++++++++++++++++++++++ src/{ => main/java/entity}/Bed.java | 3 ++- src/{ => main/java/entity}/City.java | 2 ++ src/{ => main/java/entity}/Hospital.java | 5 +++- src/{ => main/java/entity}/MoveTarget.java | 4 +++- src/{ => main/java/entity}/Person.java | 6 +++++ src/{ => main/java/entity}/PersonPool.java | 6 ++++- src/{ => main/java/entity}/Point.java | 2 ++ src/{ => main/java/entity}/Virus.java | 2 ++ src/{ => main/java/ui}/Main.java | 9 +++++++- src/{ => main/java/ui}/MyPanel.java | 8 ++++++- src/{ => main/java/util}/Constants.java | 2 ++ src/{ => main/java/util}/MathUtil.java | 2 ++ 15 files changed, 72 insertions(+), 29 deletions(-) delete mode 100644 .classpath delete mode 100644 .project create mode 100644 pom.xml rename src/{ => main/java/entity}/Bed.java (96%) rename src/{ => main/java/entity}/City.java (97%) rename src/{ => main/java/entity}/Hospital.java (97%) rename src/{ => main/java/entity}/MoveTarget.java (89%) rename src/{ => main/java/entity}/Person.java (99%) rename src/{ => main/java/entity}/PersonPool.java (97%) rename src/{ => main/java/entity}/Point.java (97%) rename src/{ => main/java/entity}/Virus.java (90%) rename src/{ => main/java/ui}/Main.java (92%) rename src/{ => main/java/ui}/MyPanel.java (97%) rename src/{ => main/java/util}/Constants.java (98%) rename src/{ => main/java/util}/MathUtil.java (94%) diff --git a/.classpath b/.classpath deleted file mode 100644 index 0cbf9cd..0000000 --- a/.classpath +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/.project b/.project deleted file mode 100644 index 799132a..0000000 --- a/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - VirusBroadcast - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..7cf0ecb --- /dev/null +++ b/pom.xml @@ -0,0 +1,27 @@ + + + 4.0.0 + + KikiLetGo + VirusBroadcast + 1.0-SNAPSHOT + + UTF-8 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 11 + 11 + + + + + + \ No newline at end of file diff --git a/src/Bed.java b/src/main/java/entity/Bed.java similarity index 96% rename from src/Bed.java rename to src/main/java/entity/Bed.java index 28d1478..3a8f8b5 100644 --- a/src/Bed.java +++ b/src/main/java/entity/Bed.java @@ -1,7 +1,8 @@ +package entity; + /** * 床位 * - * * @ClassName: Bed * @Description: 床位 * @author: Bruce Young diff --git a/src/City.java b/src/main/java/entity/City.java similarity index 97% rename from src/City.java rename to src/main/java/entity/City.java index 9ff5198..4a6a12d 100644 --- a/src/City.java +++ b/src/main/java/entity/City.java @@ -1,3 +1,5 @@ +package entity; + /** * 城市描述对象 * diff --git a/src/Hospital.java b/src/main/java/entity/Hospital.java similarity index 97% rename from src/Hospital.java rename to src/main/java/entity/Hospital.java index 629789a..aed6593 100644 --- a/src/Hospital.java +++ b/src/main/java/entity/Hospital.java @@ -1,6 +1,9 @@ +package entity; + +import util.Constants; + import java.util.ArrayList; import java.util.List; -import java.util.concurrent.atomic.AtomicInteger; /** * 医院 diff --git a/src/MoveTarget.java b/src/main/java/entity/MoveTarget.java similarity index 89% rename from src/MoveTarget.java rename to src/main/java/entity/MoveTarget.java index 73c6ca3..851d805 100644 --- a/src/MoveTarget.java +++ b/src/main/java/entity/MoveTarget.java @@ -1,3 +1,5 @@ +package entity; + /** * 位移目标对象 * @@ -9,7 +11,7 @@ public class MoveTarget { private int x; private int y; - private boolean arrived=false;//是否到达目标点 + private boolean arrived = false;//是否到达目标点 public MoveTarget(int x, int y) { this.x = x; diff --git a/src/Person.java b/src/main/java/entity/Person.java similarity index 99% rename from src/Person.java rename to src/main/java/entity/Person.java index 9966830..b9cded7 100644 --- a/src/Person.java +++ b/src/main/java/entity/Person.java @@ -1,3 +1,9 @@ +package entity; + +import ui.MyPanel; +import util.Constants; +import util.MathUtil; + import java.util.List; import java.util.Random; diff --git a/src/PersonPool.java b/src/main/java/entity/PersonPool.java similarity index 97% rename from src/PersonPool.java rename to src/main/java/entity/PersonPool.java index 87a672c..fe5659a 100644 --- a/src/PersonPool.java +++ b/src/main/java/entity/PersonPool.java @@ -1,3 +1,7 @@ +package entity; + +import util.Constants; + import java.util.ArrayList; import java.util.List; import java.util.Random; @@ -40,7 +44,7 @@ public int getPeopleSize(int state) { } return i; } - + private PersonPool() { City city = new City(400, 400);//设置城市中心为坐标(400,400) diff --git a/src/Point.java b/src/main/java/entity/Point.java similarity index 97% rename from src/Point.java rename to src/main/java/entity/Point.java index 747b6ad..d93e621 100644 --- a/src/Point.java +++ b/src/main/java/entity/Point.java @@ -1,3 +1,5 @@ +package entity; + /** * 位置坐标基类 * diff --git a/src/Virus.java b/src/main/java/entity/Virus.java similarity index 90% rename from src/Virus.java rename to src/main/java/entity/Virus.java index acda218..8f40148 100644 --- a/src/Virus.java +++ b/src/main/java/entity/Virus.java @@ -1,3 +1,5 @@ +package entity; + /** * 病毒对象 * diff --git a/src/Main.java b/src/main/java/ui/Main.java similarity index 92% rename from src/Main.java rename to src/main/java/ui/Main.java index e1c79cb..c15b110 100644 --- a/src/Main.java +++ b/src/main/java/ui/Main.java @@ -1,5 +1,12 @@ -import javax.swing.*; +package ui; + +import entity.Hospital; +import entity.Person; +import entity.PersonPool; +import ui.MyPanel; +import util.Constants; +import javax.swing.*; import java.util.List; import java.util.Random; diff --git a/src/MyPanel.java b/src/main/java/ui/MyPanel.java similarity index 97% rename from src/MyPanel.java rename to src/main/java/ui/MyPanel.java index b12c0fa..d57e465 100644 --- a/src/MyPanel.java +++ b/src/main/java/ui/MyPanel.java @@ -1,3 +1,10 @@ +package ui; + +import entity.Hospital; +import entity.Person; +import entity.PersonPool; +import util.Constants; + import javax.swing.*; import java.awt.*; import java.util.List; @@ -15,7 +22,6 @@ public class MyPanel extends JPanel implements Runnable { - public MyPanel() { super(); this.setBackground(new Color(0x444444)); diff --git a/src/Constants.java b/src/main/java/util/Constants.java similarity index 98% rename from src/Constants.java rename to src/main/java/util/Constants.java index 50b8156..c007c93 100644 --- a/src/Constants.java +++ b/src/main/java/util/Constants.java @@ -1,3 +1,5 @@ +package util; + /** * 模拟参数 * diff --git a/src/MathUtil.java b/src/main/java/util/MathUtil.java similarity index 94% rename from src/MathUtil.java rename to src/main/java/util/MathUtil.java index 60021b9..8a4b93e 100644 --- a/src/MathUtil.java +++ b/src/main/java/util/MathUtil.java @@ -1,3 +1,5 @@ +package util; + import java.util.Random; /** From 5d980664483a4b2a5c88f989d83d9f2bb10dd9a0 Mon Sep 17 00:00:00 2001 From: Yiran Li Date: Fri, 7 Feb 2020 11:00:07 -0800 Subject: [PATCH 2/4] yli add one test case for demonstrating the usage of test case --- pom.xml | 10 +++++++++- src/test/java/entity/TestPersonPool.java | 13 +++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 src/test/java/entity/TestPersonPool.java diff --git a/pom.xml b/pom.xml index 7cf0ecb..8de05b1 100644 --- a/pom.xml +++ b/pom.xml @@ -23,5 +23,13 @@ - + + + + org.junit.jupiter + junit-jupiter-api + 5.6.0 + test + + \ No newline at end of file diff --git a/src/test/java/entity/TestPersonPool.java b/src/test/java/entity/TestPersonPool.java new file mode 100644 index 0000000..3e54cc7 --- /dev/null +++ b/src/test/java/entity/TestPersonPool.java @@ -0,0 +1,13 @@ +package entity; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import util.Constants; + +public class TestPersonPool { + @Test + public void testPeopleSizeInitialState() { + PersonPool personPool = PersonPool.getInstance(); + Assertions.assertEquals(Constants.CITY_PERSON_SIZE, personPool.getPeopleSize(-1)); + } +} From 9a3e2a6ceb311ea69e2ba08134e042ce8133af02 Mon Sep 17 00:00:00 2001 From: Yiran Li Date: Fri, 7 Feb 2020 11:17:28 -0800 Subject: [PATCH 3/4] yli add exec goal for running main UI, update README.md --- README.md | 11 +++++++++++ pom.xml | 19 +++++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index adcff1e..4298184 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,14 @@ 2020.2.6: 病毒变异过程是一个不断适应的过程,可以尝试简单的DNN对病毒进行建模,已经开始着手实施。 + +####如何编译工程 +首先您得安装 [maven](https://maven.apache.org) + + +MacOs可以使用 ```brew install maven``` + +使用```maven install```编译工程 + +使用 ```mvn exec:java``` 运行主类(UI) + diff --git a/pom.xml b/pom.xml index 8de05b1..b01cfee 100644 --- a/pom.xml +++ b/pom.xml @@ -17,8 +17,23 @@ maven-compiler-plugin 2.3.2 - 11 - 11 + 8 + 8 + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + + java + + + + + ui.Main From b0ad5ffdcbbb394b085d8cb81767a2e396a8e8c5 Mon Sep 17 00:00:00 2001 From: Yiran Li Date: Fri, 7 Feb 2020 10:48:07 -0800 Subject: [PATCH 4/4] yli add lombok support --- pom.xml | 21 ++++++++++++++++++ src/main/java/entity/Bed.java | 13 +++++------ src/main/java/entity/City.java | 23 ++++++------------- src/main/java/entity/Hospital.java | 13 +++-------- src/main/java/entity/MoveTarget.java | 33 ++++++++-------------------- src/main/java/entity/PersonPool.java | 7 ++---- src/main/java/entity/Point.java | 23 ++++++------------- 7 files changed, 54 insertions(+), 79 deletions(-) diff --git a/pom.xml b/pom.xml index b01cfee..7ac5f09 100644 --- a/pom.xml +++ b/pom.xml @@ -12,6 +12,19 @@ + + org.projectlombok + lombok-maven-plugin + 1.18.10.0 + + + generate-sources + + delombok + + + + org.apache.maven.plugins maven-compiler-plugin @@ -46,5 +59,13 @@ 5.6.0 test + + + org.projectlombok + lombok + 1.18.12 + provided + + \ No newline at end of file diff --git a/src/main/java/entity/Bed.java b/src/main/java/entity/Bed.java index 3a8f8b5..6c3ab09 100644 --- a/src/main/java/entity/Bed.java +++ b/src/main/java/entity/Bed.java @@ -1,5 +1,8 @@ package entity; +import lombok.Getter; +import lombok.Setter; + /** * 床位 * @@ -16,13 +19,7 @@ public Bed(int x, int y) { /** * 是否占用了该床位 */ + @Setter + @Getter private boolean isEmpty = true; - - public boolean isEmpty() { - return isEmpty; - } - - public void setEmpty(boolean empty) { - isEmpty = empty; - } } diff --git a/src/main/java/entity/City.java b/src/main/java/entity/City.java index 4a6a12d..29bf3da 100644 --- a/src/main/java/entity/City.java +++ b/src/main/java/entity/City.java @@ -1,5 +1,8 @@ package entity; +import lombok.Getter; +import lombok.Setter; + /** * 城市描述对象 * @@ -9,27 +12,15 @@ * @date: 2020年02月02日 17:48 */ public class City { + @Getter + @Setter private int centerX; + @Getter + @Setter private int centerY; public City(int centerX, int centerY) { this.centerX = centerX; this.centerY = centerY; } - - public int getCenterX() { - return centerX; - } - - public void setCenterX(int centerX) { - this.centerX = centerX; - } - - public int getCenterY() { - return centerY; - } - - public void setCenterY(int centerY) { - this.centerY = centerY; - } } diff --git a/src/main/java/entity/Hospital.java b/src/main/java/entity/Hospital.java index aed6593..616d27b 100644 --- a/src/main/java/entity/Hospital.java +++ b/src/main/java/entity/Hospital.java @@ -1,5 +1,6 @@ package entity; +import lombok.Getter; import util.Constants; import java.util.ArrayList; @@ -18,19 +19,11 @@ public class Hospital extends Point { public static final int HOSPITAL_X = 720; public static final int HOSPITAL_Y = 80; + @Getter private int width; + @Getter private int height = 600; - public int getWidth() { - return width; - } - - - public int getHeight() { - return height; - } - - private static Hospital hospital = new Hospital(); public static Hospital getInstance() { diff --git a/src/main/java/entity/MoveTarget.java b/src/main/java/entity/MoveTarget.java index 851d805..67006e1 100644 --- a/src/main/java/entity/MoveTarget.java +++ b/src/main/java/entity/MoveTarget.java @@ -1,5 +1,8 @@ package entity; +import lombok.Getter; +import lombok.Setter; + /** * 位移目标对象 * @@ -9,36 +12,18 @@ * @date: 2020年02月02日 17:47 */ public class MoveTarget { + @Getter + @Setter private int x; + @Getter + @Setter private int y; + @Getter + @Setter private boolean arrived = false;//是否到达目标点 public MoveTarget(int x, int y) { this.x = x; this.y = y; } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } - - public boolean isArrived() { - return arrived; - } - - public void setArrived(boolean arrived) { - this.arrived = arrived; - } } diff --git a/src/main/java/entity/PersonPool.java b/src/main/java/entity/PersonPool.java index fe5659a..89e27bf 100644 --- a/src/main/java/entity/PersonPool.java +++ b/src/main/java/entity/PersonPool.java @@ -1,5 +1,6 @@ package entity; +import lombok.Getter; import util.Constants; import java.util.ArrayList; @@ -21,13 +22,9 @@ public static PersonPool getInstance() { return personPool; } + @Getter List personList = new ArrayList(); - public List getPersonList() { - return personList; - } - - /** * @param state 市民类型 Person.State的值,若为-1则返回当前总数目 * @return 获取指定人群数量 diff --git a/src/main/java/entity/Point.java b/src/main/java/entity/Point.java index d93e621..13e0f08 100644 --- a/src/main/java/entity/Point.java +++ b/src/main/java/entity/Point.java @@ -1,5 +1,8 @@ package entity; +import lombok.Getter; +import lombok.Setter; + /** * 位置坐标基类 * @@ -9,7 +12,11 @@ * @date: 2020年02月02日 20:59 */ public class Point { + @Setter + @Getter private int x; + @Setter + @Getter private int y; public Point(int x, int y) { @@ -27,20 +34,4 @@ public void moveTo(int x, int y) { this.x += x; this.y += y; } - - public int getX() { - return x; - } - - public void setX(int x) { - this.x = x; - } - - public int getY() { - return y; - } - - public void setY(int y) { - this.y = y; - } }