Init
This commit is contained in:
commit
a47a18939c
|
@ -0,0 +1,38 @@
|
||||||
|
target/
|
||||||
|
!.mvn/wrapper/maven-wrapper.jar
|
||||||
|
!**/src/main/**/target/
|
||||||
|
!**/src/test/**/target/
|
||||||
|
|
||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea/modules.xml
|
||||||
|
.idea/jarRepositories.xml
|
||||||
|
.idea/compiler.xml
|
||||||
|
.idea/libraries/
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
|
||||||
|
### Eclipse ###
|
||||||
|
.apt_generated
|
||||||
|
.classpath
|
||||||
|
.factorypath
|
||||||
|
.project
|
||||||
|
.settings
|
||||||
|
.springBeans
|
||||||
|
.sts4-cache
|
||||||
|
|
||||||
|
### NetBeans ###
|
||||||
|
/nbproject/private/
|
||||||
|
/nbbuild/
|
||||||
|
/dist/
|
||||||
|
/nbdist/
|
||||||
|
/.nb-gradle/
|
||||||
|
build/
|
||||||
|
!**/src/main/**/build/
|
||||||
|
!**/src/test/**/build/
|
||||||
|
|
||||||
|
### VS Code ###
|
||||||
|
.vscode/
|
||||||
|
|
||||||
|
### Mac OS ###
|
||||||
|
.DS_Store
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Encoding">
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||||
|
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="MavenProjectsManager">
|
||||||
|
<option name="originalFiles">
|
||||||
|
<list>
|
||||||
|
<option value="$PROJECT_DIR$/pom.xml" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="11" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/out" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,6 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,93 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AutoImportSettings">
|
||||||
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
|
</component>
|
||||||
|
<component name="ChangeListManager">
|
||||||
|
<list default="true" id="41395b4b-3252-492c-a869-5f4dab107186" name="Changes" comment="">
|
||||||
|
<change afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/encodings.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/vcs.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/pom.xml" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/laboratoire4/Client.java" afterDir="false" />
|
||||||
|
<change afterPath="$PROJECT_DIR$/src/main/java/laboratoire4/MiniMax.java" afterDir="false" />
|
||||||
|
</list>
|
||||||
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||||
|
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||||
|
</component>
|
||||||
|
<component name="FileTemplateManagerImpl">
|
||||||
|
<option name="RECENT_TEMPLATES">
|
||||||
|
<list>
|
||||||
|
<option value="Class" />
|
||||||
|
</list>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="MacroExpansionManager">
|
||||||
|
<option name="directoryName" value="x0367gi2" />
|
||||||
|
</component>
|
||||||
|
<component name="MarkdownSettingsMigration">
|
||||||
|
<option name="stateVersion" value="1" />
|
||||||
|
</component>
|
||||||
|
<component name="MavenImportPreferences">
|
||||||
|
<option name="importingSettings">
|
||||||
|
<MavenImportingSettings>
|
||||||
|
<option name="workspaceImportEnabled" value="true" />
|
||||||
|
</MavenImportingSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="ProjectId" id="2NFN0RGJNNJqiDmt34ixVwkIwEm" />
|
||||||
|
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
|
||||||
|
<ConfirmationsSetting value="2" id="Add" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectViewState">
|
||||||
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
|
<option name="showLibraryContents" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="PropertiesComponent"><![CDATA[{
|
||||||
|
"keyToString": {
|
||||||
|
"RunOnceActivity.OpenProjectViewOnStart": "true",
|
||||||
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
|
"SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
||||||
|
"vue.rearranger.settings.migration": "true"
|
||||||
|
}
|
||||||
|
}]]></component>
|
||||||
|
<component name="RunManager">
|
||||||
|
<configuration name="Client" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
|
||||||
|
<option name="MAIN_CLASS_NAME" value="laboratoire4.Client" />
|
||||||
|
<module name="Lab4" />
|
||||||
|
<extension name="coverage">
|
||||||
|
<pattern>
|
||||||
|
<option name="PATTERN" value="laboratoire4.*" />
|
||||||
|
<option name="ENABLED" value="true" />
|
||||||
|
</pattern>
|
||||||
|
</extension>
|
||||||
|
<method v="2">
|
||||||
|
<option name="Make" enabled="true" />
|
||||||
|
</method>
|
||||||
|
</configuration>
|
||||||
|
<recent_temporary>
|
||||||
|
<list>
|
||||||
|
<item itemvalue="Application.Client" />
|
||||||
|
</list>
|
||||||
|
</recent_temporary>
|
||||||
|
</component>
|
||||||
|
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
||||||
|
<component name="TaskManager">
|
||||||
|
<task active="true" id="Default" summary="Default task">
|
||||||
|
<changelist id="41395b4b-3252-492c-a869-5f4dab107186" name="Changes" comment="" />
|
||||||
|
<created>1679255648701</created>
|
||||||
|
<option name="number" value="Default" />
|
||||||
|
<option name="presentableId" value="Default" />
|
||||||
|
<updated>1679255648701</updated>
|
||||||
|
<workItem from="1679255649975" duration="1223000" />
|
||||||
|
</task>
|
||||||
|
<servers />
|
||||||
|
</component>
|
||||||
|
<component name="TypeScriptGeneratedFilesManager">
|
||||||
|
<option name="version" value="3" />
|
||||||
|
</component>
|
||||||
|
</project>
|
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<groupId>laboratoire4</groupId>
|
||||||
|
<artifactId>Lab4</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<maven.compiler.source>18</maven.compiler.source>
|
||||||
|
<maven.compiler.target>18</maven.compiler.target>
|
||||||
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
|
@ -0,0 +1,124 @@
|
||||||
|
package laboratoire4;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.net.*;
|
||||||
|
|
||||||
|
class Client {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
Socket MyClient;
|
||||||
|
BufferedInputStream input;
|
||||||
|
BufferedOutputStream output;
|
||||||
|
int[][] board = new int[8][8];
|
||||||
|
|
||||||
|
try {
|
||||||
|
MyClient = new Socket("localhost", 8888);
|
||||||
|
|
||||||
|
input = new BufferedInputStream(MyClient.getInputStream());
|
||||||
|
output = new BufferedOutputStream(MyClient.getOutputStream());
|
||||||
|
BufferedReader console = new BufferedReader(new InputStreamReader(System.in));
|
||||||
|
while(1 == 1){
|
||||||
|
char cmd = 0;
|
||||||
|
|
||||||
|
cmd = (char)input.read();
|
||||||
|
System.out.println(cmd);
|
||||||
|
// Debut de la partie en joueur blanc
|
||||||
|
if(cmd == '1'){
|
||||||
|
byte[] aBuffer = new byte[1024];
|
||||||
|
|
||||||
|
int size = input.available();
|
||||||
|
//System.out.println("size " + size);
|
||||||
|
input.read(aBuffer,0,size);
|
||||||
|
String s = new String(aBuffer).trim();
|
||||||
|
System.out.println(s);
|
||||||
|
String[] boardValues;
|
||||||
|
boardValues = s.split(" ");
|
||||||
|
int x=0,y=0;
|
||||||
|
for(int i=0; i<boardValues.length;i++){
|
||||||
|
board[x][y] = Integer.parseInt(boardValues[i]);
|
||||||
|
x++;
|
||||||
|
if(x == 8){
|
||||||
|
x = 0;
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println("Nouvelle partie! Vous jouer blanc, entrez votre premier coup : ");
|
||||||
|
String move = null;
|
||||||
|
move = console.readLine();
|
||||||
|
output.write(move.getBytes(),0,move.length());
|
||||||
|
output.flush();
|
||||||
|
}
|
||||||
|
// Debut de la partie en joueur Noir
|
||||||
|
if(cmd == '2'){
|
||||||
|
System.out.println("Nouvelle partie! Vous jouer noir, attendez le coup des blancs");
|
||||||
|
byte[] aBuffer = new byte[1024];
|
||||||
|
|
||||||
|
int size = input.available();
|
||||||
|
//System.out.println("size " + size);
|
||||||
|
input.read(aBuffer,0,size);
|
||||||
|
String s = new String(aBuffer).trim();
|
||||||
|
System.out.println(s);
|
||||||
|
String[] boardValues;
|
||||||
|
boardValues = s.split(" ");
|
||||||
|
int x=0,y=0;
|
||||||
|
for(int i=0; i<boardValues.length;i++){
|
||||||
|
board[x][y] = Integer.parseInt(boardValues[i]);
|
||||||
|
x++;
|
||||||
|
if(x == 8){
|
||||||
|
x = 0;
|
||||||
|
y++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Le serveur demande le prochain coup
|
||||||
|
// Le message contient aussi le dernier coup joue.
|
||||||
|
if(cmd == '3'){
|
||||||
|
byte[] aBuffer = new byte[16];
|
||||||
|
|
||||||
|
int size = input.available();
|
||||||
|
System.out.println("size :" + size);
|
||||||
|
input.read(aBuffer,0,size);
|
||||||
|
|
||||||
|
String s = new String(aBuffer);
|
||||||
|
System.out.println("Dernier coup :"+ s);
|
||||||
|
System.out.println("Entrez votre coup : ");
|
||||||
|
String move = null;
|
||||||
|
move = console.readLine();
|
||||||
|
output.write(move.getBytes(),0,move.length());
|
||||||
|
output.flush();
|
||||||
|
|
||||||
|
}
|
||||||
|
// Le dernier coup est invalide
|
||||||
|
if(cmd == '4'){
|
||||||
|
System.out.println("Coup invalide, entrez un nouveau coup : ");
|
||||||
|
String move = null;
|
||||||
|
move = console.readLine();
|
||||||
|
output.write(move.getBytes(),0,move.length());
|
||||||
|
output.flush();
|
||||||
|
|
||||||
|
}
|
||||||
|
// La partie est terminée
|
||||||
|
if(cmd == '5'){
|
||||||
|
byte[] aBuffer = new byte[16];
|
||||||
|
int size = input.available();
|
||||||
|
input.read(aBuffer,0,size);
|
||||||
|
String s = new String(aBuffer);
|
||||||
|
System.out.println("Partie Terminé. Le dernier coup joué est: "+s);
|
||||||
|
String move = null;
|
||||||
|
move = console.readLine();
|
||||||
|
output.write(move.getBytes(),0,move.length());
|
||||||
|
output.flush();
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (IOException e) {
|
||||||
|
System.out.println(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package laboratoire4;
|
||||||
|
|
||||||
|
public enum Player {
|
||||||
|
MIN,
|
||||||
|
MAX
|
||||||
|
}
|
||||||
|
|
||||||
|
public class MiniMax {
|
||||||
|
public static void miniMax(player)
|
||||||
|
}
|
Loading…
Reference in New Issue