aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/database/Database.java29
-rw-r--r--src/main/java/pokemon/IService.java1
-rw-r--r--src/main/java/pokemon/Server.java2
-rw-r--r--src/main/java/pokemon/Service.java6
4 files changed, 37 insertions, 1 deletions
diff --git a/src/main/java/database/Database.java b/src/main/java/database/Database.java
index 80d195c..f6e18b3 100644
--- a/src/main/java/database/Database.java
+++ b/src/main/java/database/Database.java
@@ -1,19 +1,23 @@
package database;
import java.sql.Connection;
+import java.sql.Date;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
+import java.util.Calendar;
import java.util.LinkedList;
import java.util.List;
import models.Ability;
import models.AbilityType;
+import models.GameStatus;
import models.Monster;
import models.MonsterViewModel;
import models.User;
+import pokemon.Game;
public class Database {
private Connection conn;
@@ -327,5 +331,30 @@ public class Database {
return user;
}
+ public int addHistory(Game game) throws Exception{
+ Date date=new Date(Calendar.getInstance().getTimeInMillis());
+ String sql="INSERT INTO history(player,pokemon,time,result) values(?,?,?,?),(?,?,?,?)";
+ PreparedStatement ps=conn.prepareStatement(sql);
+ if(game.getStatus()==GameStatus.PLAYER1WIN) {
+ ps.setLong(1, game.player1Id);
+ ps.setLong(2, game.monster1.id);
+ ps.setDate(3, date);
+ ps.setInt(4, 1);
+ ps.setLong(5, game.player2Id);
+ ps.setLong(6, game.monster2.id);
+ ps.setDate(7, date);
+ ps.setInt(8, 0);
+ }else if(game.getStatus()==GameStatus.PLAYER2WIN) {
+ ps.setLong(1, game.player1Id);
+ ps.setLong(2, game.monster1.id);
+ ps.setDate(3, date);
+ ps.setInt(4, 0);
+ ps.setLong(5, game.player2Id);
+ ps.setLong(6, game.monster2.id);
+ ps.setDate(7, date);
+ ps.setInt(8, 1);
+ }
+ return ps.executeUpdate();
+ }
}
diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java
index 81b4019..de4b6e5 100644
--- a/src/main/java/pokemon/IService.java
+++ b/src/main/java/pokemon/IService.java
@@ -24,5 +24,6 @@ public interface IService extends Remote {
public boolean addPokemonWithAbilities(PokemonAddModel pokemon)throws RemoteException;
public void deleteMonster(long id)throws RemoteException;
public User getUserById(long id) throws RemoteException;
+ public int addHistory(Game game) throws Exception;
}
diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java
index e08d7bc..77b7fad 100644
--- a/src/main/java/pokemon/Server.java
+++ b/src/main/java/pokemon/Server.java
@@ -327,7 +327,7 @@ public class Server implements Runnable {
games.remove(game);
System.out.println("GAME FINISHED"+games.size());
sendAvailablePlayers();
- //add game to database
+ s.addHistory(game);
}
}
diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java
index 77a398b..f9f76de 100644
--- a/src/main/java/pokemon/Service.java
+++ b/src/main/java/pokemon/Service.java
@@ -112,6 +112,12 @@ public class Service extends UnicastRemoteObject implements IService {
Database db=Database.getInstance();
return db.getUserById(id);
}
+
+ @Override
+ public int addHistory(Game game) throws Exception {
+ Database db=Database.getInstance();
+ return db.addHistory(game);
+ }
}