Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
lo23-project
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Quentin DRUAULT-AUBIN
lo23-project
Commits
2731f183
Commit
2731f183
authored
Jan 05, 2018
by
Quentin DRUAULT-AUBIN
Browse files
Options
Browse Files
Download
Plain Diff
Final commit
parents
46436322
d3ced366
Changes
75
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
75 changed files
with
5504 additions
and
1755 deletions
+5504
-1755
Battleship/pom.xml
Battleship/pom.xml
+30
-0
Battleship/src/main/java/com/utclo23/battleship/GameException.java
...p/src/main/java/com/utclo23/battleship/GameException.java
+1
-3
Battleship/src/main/java/com/utclo23/com/ComFacade.java
Battleship/src/main/java/com/utclo23/com/ComFacade.java
+25
-9
Battleship/src/main/java/com/utclo23/com/KnownIPController.java
...ship/src/main/java/com/utclo23/com/KnownIPController.java
+0
-1
Battleship/src/main/java/com/utclo23/com/messages/M_Bleu.java
...leship/src/main/java/com/utclo23/com/messages/M_Bleu.java
+50
-48
Battleship/src/main/java/com/utclo23/com/messages/M_RemoveGame.java
.../src/main/java/com/utclo23/com/messages/M_RemoveGame.java
+31
-0
Battleship/src/main/java/com/utclo23/data/configuration/Configuration.java
...in/java/com/utclo23/data/configuration/Configuration.java
+6
-5
Battleship/src/main/java/com/utclo23/data/facade/DataFacade.java
...hip/src/main/java/com/utclo23/data/facade/DataFacade.java
+142
-86
Battleship/src/main/java/com/utclo23/data/facade/IDataCom.java
...eship/src/main/java/com/utclo23/data/facade/IDataCom.java
+75
-2
Battleship/src/main/java/com/utclo23/data/facade/IDataIHMMain.java
...p/src/main/java/com/utclo23/data/facade/IDataIHMMain.java
+162
-8
Battleship/src/main/java/com/utclo23/data/facade/IDataIHMTable.java
.../src/main/java/com/utclo23/data/facade/IDataIHMTable.java
+53
-2
Battleship/src/main/java/com/utclo23/data/module/Caretaker.java
...ship/src/main/java/com/utclo23/data/module/Caretaker.java
+0
-96
Battleship/src/main/java/com/utclo23/data/module/DataException.java
.../src/main/java/com/utclo23/data/module/DataException.java
+4
-0
Battleship/src/main/java/com/utclo23/data/module/GameFactory.java
...ip/src/main/java/com/utclo23/data/module/GameFactory.java
+14
-6
Battleship/src/main/java/com/utclo23/data/module/GameMediator.java
...p/src/main/java/com/utclo23/data/module/GameMediator.java
+260
-239
Battleship/src/main/java/com/utclo23/data/module/Memento.java
...leship/src/main/java/com/utclo23/data/module/Memento.java
+0
-61
Battleship/src/main/java/com/utclo23/data/module/UserMediator.java
...p/src/main/java/com/utclo23/data/module/UserMediator.java
+95
-34
Battleship/src/main/java/com/utclo23/data/structure/BelgianGame.java
...src/main/java/com/utclo23/data/structure/BelgianGame.java
+12
-1
Battleship/src/main/java/com/utclo23/data/structure/ClassicGame.java
...src/main/java/com/utclo23/data/structure/ClassicGame.java
+14
-4
Battleship/src/main/java/com/utclo23/data/structure/ComputerPlayer.java
.../main/java/com/utclo23/data/structure/ComputerPlayer.java
+271
-104
Battleship/src/main/java/com/utclo23/data/structure/Coordinate.java
.../src/main/java/com/utclo23/data/structure/Coordinate.java
+29
-2
Battleship/src/main/java/com/utclo23/data/structure/Event.java
...eship/src/main/java/com/utclo23/data/structure/Event.java
+11
-1
Battleship/src/main/java/com/utclo23/data/structure/Game.java
...leship/src/main/java/com/utclo23/data/structure/Game.java
+159
-138
Battleship/src/main/java/com/utclo23/data/structure/GameType.java
...ip/src/main/java/com/utclo23/data/structure/GameType.java
+10
-1
Battleship/src/main/java/com/utclo23/data/structure/LightPublicUser.java
...main/java/com/utclo23/data/structure/LightPublicUser.java
+8
-1
Battleship/src/main/java/com/utclo23/data/structure/Message.java
...hip/src/main/java/com/utclo23/data/structure/Message.java
+38
-2
Battleship/src/main/java/com/utclo23/data/structure/Mine.java
...leship/src/main/java/com/utclo23/data/structure/Mine.java
+14
-2
Battleship/src/main/java/com/utclo23/data/structure/MineResult.java
.../src/main/java/com/utclo23/data/structure/MineResult.java
+14
-1
Battleship/src/main/java/com/utclo23/data/structure/Owner.java
...eship/src/main/java/com/utclo23/data/structure/Owner.java
+47
-2
Battleship/src/main/java/com/utclo23/data/structure/Player.java
...ship/src/main/java/com/utclo23/data/structure/Player.java
+60
-4
Battleship/src/main/java/com/utclo23/data/structure/PublicUser.java
.../src/main/java/com/utclo23/data/structure/PublicUser.java
+149
-18
Battleship/src/main/java/com/utclo23/data/structure/Ship.java
...leship/src/main/java/com/utclo23/data/structure/Ship.java
+78
-20
Battleship/src/main/java/com/utclo23/data/structure/ShipType.java
...ip/src/main/java/com/utclo23/data/structure/ShipType.java
+25
-1
Battleship/src/main/java/com/utclo23/data/structure/StatGame.java
...ip/src/main/java/com/utclo23/data/structure/StatGame.java
+104
-18
Battleship/src/main/java/com/utclo23/ihmmain/IHMMain.java
Battleship/src/main/java/com/utclo23/ihmmain/IHMMain.java
+9
-12
Battleship/src/main/java/com/utclo23/ihmmain/controller/AbstractController.java
...va/com/utclo23/ihmmain/controller/AbstractController.java
+0
-1
Battleship/src/main/java/com/utclo23/ihmmain/controller/CreateGameController.java
.../com/utclo23/ihmmain/controller/CreateGameController.java
+10
-20
Battleship/src/main/java/com/utclo23/ihmmain/controller/GameListController.java
...va/com/utclo23/ihmmain/controller/GameListController.java
+27
-10
Battleship/src/main/java/com/utclo23/ihmmain/controller/PlayerListController.java
.../com/utclo23/ihmmain/controller/PlayerListController.java
+1
-1
Battleship/src/main/java/com/utclo23/ihmmain/controller/PlayerProfileController.java
...m/utclo23/ihmmain/controller/PlayerProfileController.java
+126
-50
Battleship/src/main/java/com/utclo23/ihmtable/IHMTableFacade.java
...ip/src/main/java/com/utclo23/ihmtable/IHMTableFacade.java
+52
-12
Battleship/src/main/java/com/utclo23/ihmtable/IIHMTableToData.java
...p/src/main/java/com/utclo23/ihmtable/IIHMTableToData.java
+1
-0
Battleship/src/main/java/com/utclo23/ihmtable/controller/InGameGUIController.java
.../com/utclo23/ihmtable/controller/InGameGUIController.java
+423
-176
Battleship/src/main/resources/fxml/ihmmain/CreateGame.fxml
Battleship/src/main/resources/fxml/ihmmain/CreateGame.fxml
+64
-76
Battleship/src/main/resources/fxml/ihmmain/CreateUser.fxml
Battleship/src/main/resources/fxml/ihmmain/CreateUser.fxml
+8
-8
Battleship/src/main/resources/fxml/ihmmain/GameList.fxml
Battleship/src/main/resources/fxml/ihmmain/GameList.fxml
+21
-19
Battleship/src/main/resources/fxml/ihmmain/IpList.fxml
Battleship/src/main/resources/fxml/ihmmain/IpList.fxml
+76
-60
Battleship/src/main/resources/fxml/ihmmain/Login.fxml
Battleship/src/main/resources/fxml/ihmmain/Login.fxml
+6
-6
Battleship/src/main/resources/fxml/ihmmain/Menu.fxml
Battleship/src/main/resources/fxml/ihmmain/Menu.fxml
+13
-13
Battleship/src/main/resources/fxml/ihmmain/NetworkInterface.fxml
...hip/src/main/resources/fxml/ihmmain/NetworkInterface.fxml
+1
-11
Battleship/src/main/resources/fxml/ihmmain/PlayerList.fxml
Battleship/src/main/resources/fxml/ihmmain/PlayerList.fxml
+48
-49
Battleship/src/main/resources/fxml/ihmmain/PlayerProfile.fxml
...leship/src/main/resources/fxml/ihmmain/PlayerProfile.fxml
+378
-209
Battleship/src/main/resources/fxml/ihmmain/SavedGameList.fxml
...leship/src/main/resources/fxml/ihmmain/SavedGameList.fxml
+46
-44
Battleship/src/main/resources/fxml/ihmmain/popup.fxml
Battleship/src/main/resources/fxml/ihmmain/popup.fxml
+19
-19
Battleship/src/main/resources/images/ship1rev.png
Battleship/src/main/resources/images/ship1rev.png
+0
-0
Battleship/src/main/resources/images/ship2rev.png
Battleship/src/main/resources/images/ship2rev.png
+0
-0
Battleship/src/main/resources/images/ship3rev.png
Battleship/src/main/resources/images/ship3rev.png
+0
-0
Battleship/src/main/resources/images/ship4rev.png
Battleship/src/main/resources/images/ship4rev.png
+0
-0
Battleship/src/main/resources/images/ship5rev.png
Battleship/src/main/resources/images/ship5rev.png
+0
-0
Battleship/src/main/resources/styles/ihmmain.css
Battleship/src/main/resources/styles/ihmmain.css
+12
-2
Battleship/src/test/java/com/utclo23/data/AttackTest.java
Battleship/src/test/java/com/utclo23/data/AttackTest.java
+0
-14
Battleship/src/test/java/com/utclo23/data/ComputerPlayerTest.java
...ip/src/test/java/com/utclo23/data/ComputerPlayerTest.java
+180
-0
Battleship/src/test/java/com/utclo23/data/CoordinateTest.java
...leship/src/test/java/com/utclo23/data/CoordinateTest.java
+83
-0
Battleship/src/test/java/com/utclo23/data/GameMediatorTest.java
...ship/src/test/java/com/utclo23/data/GameMediatorTest.java
+182
-0
Battleship/src/test/java/com/utclo23/data/GameSerialTest.java
...leship/src/test/java/com/utclo23/data/GameSerialTest.java
+19
-5
Battleship/src/test/java/com/utclo23/data/GameTest.java
Battleship/src/test/java/com/utclo23/data/GameTest.java
+55
-0
Battleship/src/test/java/com/utclo23/data/MineTest.java
Battleship/src/test/java/com/utclo23/data/MineTest.java
+120
-0
Battleship/src/test/java/com/utclo23/data/OwnerTest.java
Battleship/src/test/java/com/utclo23/data/OwnerTest.java
+187
-0
Battleship/src/test/java/com/utclo23/data/ShipTest.java
Battleship/src/test/java/com/utclo23/data/ShipTest.java
+73
-0
Battleship/src/test/java/com/utclo23/data/StatGameTest.java
Battleship/src/test/java/com/utclo23/data/StatGameTest.java
+341
-0
Battleship/src/test/java/com/utclo23/data/UserProfileTest.java
...eship/src/test/java/com/utclo23/data/UserProfileTest.java
+346
-4
Battleship/src/test/java/com/utclo23/data/facade/DataFacadeTest.java
...src/test/java/com/utclo23/data/facade/DataFacadeTest.java
+401
-0
Battleship/src/test/java/com/utclo23/data/simpleDateFormat.java
...ship/src/test/java/com/utclo23/data/simpleDateFormat.java
+0
-14
Battleship/src/test/java/com/utclo23/data/structure/EventTest.java
...p/src/test/java/com/utclo23/data/structure/EventTest.java
+70
-0
Battleship/src/test/java/com/utclo23/data/structure/MessageTest.java
...src/test/java/com/utclo23/data/structure/MessageTest.java
+115
-0
No files found.
Battleship/pom.xml
View file @
2731f183
...
...
@@ -20,8 +20,37 @@
<name>
lo23
</name>
</organization>
<reporting>
<plugins>
<plugin>
<groupId>
org.codehaus.mojo
</groupId>
<artifactId>
cobertura-maven-plugin
</artifactId>
<version>
2.4
</version>
</plugin>
</plugins>
</reporting>
<build>
<plugins>
<plugin>
<groupId>
org.jacoco
</groupId>
<artifactId>
jacoco-maven-plugin
</artifactId>
<version>
0.7.0.201403182114
</version>
<executions>
<execution>
<goals>
<goal>
prepare-agent
</goal>
</goals>
</execution>
<execution>
<id>
report
</id>
<phase>
prepare-package
</phase>
<goals>
<goal>
report
</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-dependency-plugin
</artifactId>
...
...
@@ -155,6 +184,7 @@
<activeByDefault>
false
</activeByDefault>
</activation>
<properties>
<sonar.host.url>
https://sonarcloud.io
</sonar.host.url>
<sonar.organization>
lo23
</sonar.organization>
<sonar.login>
a7f86fb85267f6c368ef07d969a16ccf4be0db4b
</sonar.login>
...
...
Battleship/src/main/java/com/utclo23/battleship/GameException.java
View file @
2731f183
...
...
@@ -12,8 +12,6 @@ package com.utclo23.battleship;
*/
public
class
GameException
extends
Exception
{
public
GameException
()
{
}
public
GameException
(
String
message
)
{
super
(
message
);
...
...
Battleship/src/main/java/com/utclo23/com/ComFacade.java
View file @
2731f183
...
...
@@ -10,7 +10,6 @@ import com.utclo23.data.structure.Mine;
import
com.utclo23.data.structure.StatGame
;
import
com.utclo23.com.messages.*
;
import
com.utclo23.data.facade.IDataCom
;
import
com.utclo23.data.structure.Game
;
import
com.utclo23.data.structure.LightPublicUser
;
import
java.net.Inet4Address
;
import
java.net.InterfaceAddress
;
...
...
@@ -118,9 +117,9 @@ public class ComFacade {
*/
public
void
notifyNewCoordinates
(
Mine
mine
,
List
<
LightPublicUser
>
recipients
)
{
M_PlaceMine
mPlaceMine
=
new
M_PlaceMine
(
iDataCom
.
getMyPublicUserProfile
(),
mine
);
System
.
out
.
println
(
"recipients notify: "
+
recipients
.
size
());
System
.
out
.
println
(
"recipients n
ew coordinates n
otify: "
+
recipients
.
size
());
for
(
LightPublicUser
recipient
:
recipients
)
{
System
.
out
.
println
(
"notifyNewCoordinates +"
+
recipient
.
getPlayerName
());
System
.
out
.
println
(
"notifyNewCoordinates +"
+
recipient
.
getPlayerName
()
+
" mine "
+
mine
.
getCoord
().
getX
()+
" "
+
mine
.
getCoord
().
getY
()
);
if
(
kIpCtrl
.
getHashMap
().
get
(
recipient
.
getId
())
!=
null
)
{
Sender
os
=
new
Sender
(
kIpCtrl
.
getHashMap
().
get
(
recipient
.
getId
()).
getHostAddress
(),
kIpCtrl
.
getPort
(),
mPlaceMine
);
new
Thread
(
os
).
start
();
...
...
@@ -159,13 +158,14 @@ public class ComFacade {
}
/**
* Called to send "leave game" notification to everybody.
* Called to send "leave game" notification to all users in the game.
* @param recipients: receivers of the notification
*/
public
void
leaveGame
()
{
public
void
leaveGame
(
List
<
LightPublicUser
>
recipients
)
{
M_LeaveGame
mLeaveGame
=
new
M_LeaveGame
(
iDataCom
.
getMyPublicUserProfile
());
for
(
Inet4Address
ip
:
kIpCtrl
.
getHashMap
().
values
())
{
if
(
ip
!=
null
)
{
Sender
os
=
new
Sender
(
ip
.
getHostAddress
(),
kIpCtrl
.
getPort
(),
mLeaveGame
);
for
(
LightPublicUser
recipient
:
recipients
)
{
if
(
kIpCtrl
.
getHashMap
().
get
(
recipient
.
getId
())
!=
null
)
{
Sender
os
=
new
Sender
(
kIpCtrl
.
getHashMap
().
get
(
recipient
.
getId
())
.
getHostAddress
(),
kIpCtrl
.
getPort
(),
mLeaveGame
);
new
Thread
(
os
).
start
();
}
}
...
...
@@ -243,4 +243,20 @@ public class ComFacade {
Logger
.
getLogger
(
ComFacade
.
class
.
getName
()).
log
(
Level
.
INFO
,
null
,
"Fail joinGame"
);
}
}
/**
* Called to remove a game given in parameter in the game's list of all
* connected users
* @param idGame is the game to remove
*/
public
void
removeGame
(
String
idGame
){
M_RemoveGame
m_RemoveGame
=
new
M_RemoveGame
(
iDataCom
.
getMyPublicUserProfile
(),
idGame
);
for
(
Inet4Address
ip
:
kIpCtrl
.
getHashMap
().
values
())
{
if
(
ip
!=
null
)
{
Sender
os
=
new
Sender
(
ip
.
getHostAddress
(),
kIpCtrl
.
getPort
(),
m_RemoveGame
);
Thread
thread
=
new
Thread
(
os
);
thread
.
start
();
}
}
}
}
Battleship/src/main/java/com/utclo23/com/KnownIPController.java
View file @
2731f183
...
...
@@ -9,7 +9,6 @@ import java.util.HashMap;
import
java.net.Inet4Address
;
import
com.utclo23.data.facade.IDataCom
;
import
java.net.InterfaceAddress
;
import
java.util.Iterator
;
/**
* Class containing a hashmap with UID and corresponding IP address of the known
...
...
Battleship/src/main/java/com/utclo23/com/messages/M_Bleu.java
View file @
2731f183
...
...
@@ -41,7 +41,8 @@ public class M_Bleu extends Message {
@Override
public
void
callback
(
IDataCom
iDataCom
)
{
Logger
.
getLogger
(
M_Bleu
.
class
.
getName
()).
log
(
Level
.
INFO
,
null
,
"Blue message received"
);
if
(
iDataCom
.
getMyPublicUserProfile
()
!=
null
){
List
<
String
>
myUsersId
=
new
ArrayList
(
KnownIPController
.
getInstance
().
getHashMap
().
keySet
());
List
<
LightPublicUser
>
myUsersProfile
=
new
ArrayList
(
iDataCom
.
getConnectedUsers
());
...
...
@@ -69,16 +70,16 @@ public class M_Bleu extends Message {
}
}
// Envoi message rouge à ceux non déjà présents dans nos joueurs connectés
// Envoi message rouge à tout le monde sauf nous.
for
(
Map
.
Entry
<
String
,
Inet4Address
>
entry
:
this
.
hashMapReceived
.
entrySet
())
{
if
(!
entry
.
getKey
().
equals
(
iDataCom
.
getMyPublicUserProfile
().
getId
())
&&
!
myUsersId
.
contains
(
entry
.
getKey
()))
{
if
(!
entry
.
getKey
().
equals
(
iDataCom
.
getMyPublicUserProfile
().
getId
()))
{
if
(!
myUsersId
.
contains
(
entry
.
getKey
()))
{
newPairs
.
put
(
entry
.
getKey
(),
entry
.
getValue
());
}
M_Rouge
mRouge
=
new
M_Rouge
(
iDataCom
.
getMyPublicUserProfile
(),
tmpHash
,
tmp
,
iDataCom
.
getGameList
());
Sender
os
=
new
Sender
(
entry
.
getValue
().
getHostAddress
(),
KnownIPController
.
getInstance
().
getPort
(),
mRouge
);
Thread
thread
=
new
Thread
(
os
);
thread
.
start
();
newPairs
.
put
(
entry
.
getKey
(),
entry
.
getValue
());
}
}
...
...
@@ -103,4 +104,5 @@ public class M_Bleu extends Message {
iDataCom
.
addConnectedUser
(
key
);
}
}
}
}
Battleship/src/main/java/com/utclo23/com/messages/M_RemoveGame.java
0 → 100644
View file @
2731f183
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package
com.utclo23.com.messages
;
import
com.utclo23.data.facade.IDataCom
;
import
com.utclo23.data.structure.PublicUser
;
/**
* M_LeaveGame is a Message generated when a user wants to leave a game.
* @author Thibault CHICHE
*/
public
class
M_RemoveGame
extends
Message
{
private
final
String
idGame
;
/**
* Constructor.
* @param user is the message's sender
* @param idGame is the id of the game to remove
*/
public
M_RemoveGame
(
PublicUser
user
,
String
idGame
){
super
(
user
);
this
.
idGame
=
idGame
;
}
@Override
public
void
callback
(
IDataCom
iDataCom
){
iDataCom
.
removeGame
(
idGame
);
}
}
Battleship/src/main/java/com/utclo23/data/configuration/Configuration.java
View file @
2731f183
...
...
@@ -14,15 +14,16 @@ import java.io.File;
*/
public
class
Configuration
{
public
Configuration
()
{
}
/**
* directory of saved profiles
*/
public
final
static
String
SAVE_DIR
=
System
.
getProperty
(
"user.home"
)+
File
.
separator
+
"MyData"
;
public
final
static
int
WIDTH
=
10
;
public
final
static
int
HEIGHT
=
10
;
public
static
final
String
SAVE_DIR
=
System
.
getProperty
(
"user.home"
)+
File
.
separator
+
"MyData"
;
public
static
final
int
WIDTH
=
10
;
public
static
final
int
HEIGHT
=
10
;
public
static
final
String
PLAYER
=
"player"
;
public
static
final
String
SPECTATOR
=
"spectator"
;
}
Battleship/src/main/java/com/utclo23/data/facade/DataFacade.java
View file @
2731f183
This diff is collapsed.
Click to expand it.
Battleship/src/main/java/com/utclo23/data/facade/IDataCom.java
View file @
2731f183
...
...
@@ -7,8 +7,6 @@ package com.utclo23.data.facade;
import
com.utclo23.data.module.DataException
;
import
com.utclo23.data.structure.*
;
import
java.net.NetworkInterface
;
import
java.rmi.server.UID
;
import
java.util.List
;
/**
...
...
@@ -17,21 +15,96 @@ import java.util.List;
*/
public
interface
IDataCom
{
/**
*
* @param game
*/
public
void
addNewGame
(
StatGame
game
);
public
void
removeGame
(
String
id
);
/**
*
* @param ships
*/
public
void
setEnnemyShips
(
List
<
Ship
>
ships
);
/**
*
* @param mine
*/
public
void
forwardCoordinates
(
Mine
mine
);
/**
*
*/
public
void
opponentHasLeftGame
();
/**
*
*/
public
void
connectionLostWithOpponent
();
/**
*
* @param user
*/
public
void
addConnectedUser
(
LightPublicUser
user
);
/**
*
* @param user
*/
public
void
removeConnectedUser
(
LightPublicUser
user
);
/**
*
* @param msg
*/
public
void
forwardMessage
(
Message
msg
);
/**
*
* @return
*/
public
PublicUser
getMyPublicUserProfile
();
/**
*
* @param user
* @param id
* @param role
* @throws DataException
*/
public
void
updateGameList
(
LightPublicUser
user
,
String
id
,
String
role
)
throws
DataException
;
/**
*
* @return
*/
public
List
<
StatGame
>
getGameList
();
/**
*
* @return
*/
public
List
<
LightPublicUser
>
getConnectedUsers
();
/**
*
* @throws DataException
*/
public
void
connectionImpossible
()
throws
DataException
;
/**
*
* @param game
* @throws DataException
*/
public
void
receptionGame
(
Game
game
)
throws
DataException
;
/**
*
* @param profile
*/
public
void
receivePublicUserProfile
(
PublicUser
profile
);
}
Battleship/src/main/java/com/utclo23/data/facade/IDataIHMMain.java
View file @
2731f183
...
...
@@ -8,7 +8,6 @@ package com.utclo23.data.facade;
import
com.utclo23.data.module.DataException
;
import
com.utclo23.data.structure.*
;
import
java.net.InterfaceAddress
;
import
java.rmi.server.UID
;
import
java.util.List
;
import
java.util.Date
;
...
...
@@ -18,37 +17,192 @@ import java.util.Date;
*/
public
interface
IDataIHMMain
{
/**
*
* @param playerName
* @param password
* @param firstName
* @param lastName
* @param birthDate
* @param imageFile
* @throws DataException
*/
public
void
createUser
(
String
playerName
,
String
password
,
String
firstName
,
String
lastName
,
Date
birthDate
,
String
imageFile
)
throws
DataException
;
/**
*
* @param password
* @param firstName
* @param lastName
* @param birthDate
* @param imageFile
* @throws DataException
*/
public
void
updateUser
(
String
password
,
String
firstName
,
String
lastName
,
Date
birthDate
,
String
imageFile
)
throws
DataException
;
/**
*
* @param id
*/
public
void
askPublicUserProfile
(
String
id
);
/**
*
* @return
*/
public
List
<
StatGame
>
getGameList
();
/**
*
* @param name
* @param computerMode
* @param spectator
* @param spectatorChat
* @param type
* @return
* @throws DataException
*/
public
Game
createGame
(
String
name
,
boolean
computerMode
,
boolean
spectator
,
boolean
spectatorChat
,
GameType
type
)
throws
DataException
;
/**
*
* @param username
* @param password
* @throws DataException
*/
public
void
signin
(
String
username
,
String
password
)
throws
DataException
;
public
void
signOut
()
throws
Exception
;
/**
*
* @throws DataException
*/
public
void
signOut
()
throws
DataException
;
/**
*
* @return
*/
public
List
<
LightPublicUser
>
getConnectedUsers
();
/**
*
* @return
*/
public
PublicUser
getMyPublicUserProfile
();
/**
*
* @return
*/
public
Owner
getMyOwnerProfile
();
/**
*
* @return
*/
public
List
<
String
>
getIPDiscovery
();
/**
*
* @param discoveryNodes
* @throws DataException
*/
public
void
setIPDiscovery
(
List
<
String
>
discoveryNodes
)
throws
DataException
;
/**
*
* @param id
* @param role
*/
public
void
gameConnectionRequestGame
(
String
id
,
String
role
);
/**
*
* @param netinterface
*/
public
void
setNetworkInterface
(
InterfaceAddress
netinterface
);
public
void
setNetworkInterface
(
InterfaceAddress
net_interface
)
;
/**
*
* @param playername
* @throws DataException
*/
public
void
updatePlayername
(
String
playername
)
throws
DataException
;
/**
*
* @param firstname
* @throws DataException
*/
public
void
updateFirstname
(
String
firstname
)
throws
DataException
;
/**
*
* @param lastname
* @throws DataException
*/
public
void
updateLastname
(
String
lastname
)
throws
DataException
;
/**
*
* @param birthdate
* @throws DataException
*/
public
void
updateBirthdate
(
Date
birthdate
)
throws
DataException
;
/**
*
* @param fileImage
* @throws DataException
*/
public
void
updateFileImage
(
String
fileImage
)
throws
DataException
;
/**
*
* @param password
* @throws DataException
*/
public
void
updatePassword
(
String
password
)
throws
DataException
;
public
int
getNumberVictories
()
throws
DataException
;
public
int
getNumberDefeats
()
throws
DataException
;
public
int
getNumberAbandons
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberVictoriesClassic
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberDefeatsClassic
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberAbandonsClassic
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberVictoriesBelgian
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberDefeatsBelgian
()
throws
DataException
;
/**
*
* @return
* @throws DataException
*/
public
int
getNumberAbandonsBelgian
()
throws
DataException
;
}
Battleship/src/main/java/com/utclo23/data/facade/IDataIHMTable.java
View file @
2731f183
...
...
@@ -7,27 +7,78 @@ package com.utclo23.data.facade;
import
com.utclo23.data.module.DataException
;
import
com.utclo23.data.structure.*
;
import
java.rmi.server.UID
;
import
java.util.List
;
import
javafx.util.Pair
;
import
java.io.IOException
;
/**
*
* @author Davy
*/
public
interface
IDataIHMTable
{
/**
*
* @return
* @throws DataException
*/
public
List
<
Ship
>
getTemplateShips
()
throws
DataException
;
/**
*
* @param ship
* @throws DataException
*/
public
void
setShip
(
Ship
ship
)
throws
DataException
;
/**
*
* @param coords
* @param isAttack
* @param playerWhoPutTheMine
* @return
*/
public
Pair
<
Integer
,
Ship
>
attack
(
Coordinate
coords
,
boolean
isAttack
,
Player
playerWhoPutTheMine
);
/**
*
*/
public
void
leaveGame
();
/**
*
* @param gameid
* @return
*/
public
List
<
Ship
>
getInitialBoardFromGameId
(
String
gameid
);
/**
*
* @return
*/
public
List
<
Event
>
getPreviousBoard
();
/**
*
* @return
*/
public
List
<
Event
>
getNextBoard
();
/**
*
* @param text
*/