finishing

need to add the hangman
This commit is contained in:
Florian Bouillon 2018-04-23 00:41:16 +02:00
parent 343b8016bd
commit bd242274bb
12 changed files with 94 additions and 78 deletions

View File

@ -28,7 +28,7 @@
android:name=".GameActivity" android:name=".GameActivity"
android:theme="@style/DeltaWings.Color" android:theme="@style/DeltaWings.Color"
android:screenOrientation="portrait" android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustPan"> android:windowSoftInputMode="stateAlwaysVisible|adjustResize">
</activity> </activity>
<activity <activity
android:name=".settings.SettingActivity" android:name=".settings.SettingActivity"

View File

@ -99,6 +99,7 @@ public class GameActivity extends AppCompatActivity {
input.setOnEditorActionListener(new TextView.OnEditorActionListener() { input.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override @Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
EditText editText = ((EditText) v); EditText editText = ((EditText) v);
String word = editText.getText().toString().toLowerCase(); String word = editText.getText().toString().toLowerCase();
@ -129,6 +130,9 @@ public class GameActivity extends AppCompatActivity {
} else { } else {
Toast.makeText(MainActivity.getInstance(), "Incorrect letter!", Toast.LENGTH_LONG).show(); Toast.makeText(MainActivity.getInstance(), "Incorrect letter!", Toast.LENGTH_LONG).show();
//update image //update image
if(letters.size() == 10) {
lost();
}
} }
editText.setText(""); editText.setText("");
@ -142,6 +146,9 @@ public class GameActivity extends AppCompatActivity {
} else { } else {
Toast.makeText(MainActivity.getInstance(), "Incorrect word!", Toast.LENGTH_LONG).show(); Toast.makeText(MainActivity.getInstance(), "Incorrect word!", Toast.LENGTH_LONG).show();
//update image //update image
if(letters.size() == 10) {
lost();
}
} }
break; break;
} }
@ -251,7 +258,7 @@ public class GameActivity extends AppCompatActivity {
} }
private void win() { private void win() {
new Command().execute("AFFICHER|You won !!!"); new Command().execute("AFFICHER|Tu as gagné !!!");
DialogInterface.OnClickListener clickListener = new DialogInterface.OnClickListener() { DialogInterface.OnClickListener clickListener = new DialogInterface.OnClickListener() {
@Override @Override
public void onClick(DialogInterface dialog, int which) { public void onClick(DialogInterface dialog, int which) {
@ -275,9 +282,40 @@ public class GameActivity extends AppCompatActivity {
}; };
new AlertDialog.Builder(context) new AlertDialog.Builder(context)
.setMessage("You won!") .setMessage("Tu as gagné!")
.setPositiveButton("Restart", clickListener) .setPositiveButton("Recommencer", clickListener)
.setNegativeButton("Quit", clickListener) .setNegativeButton("Quitter", clickListener)
.show();
}
private void lost() {
new Command().execute("AFFICHER|Tu as perdu !!!");
DialogInterface.OnClickListener clickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
//Close Connection
Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
break;
default:
finish();
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
break;
}
}
};
new AlertDialog.Builder(context)
.setMessage("Tu as perdu :( !")
.setPositiveButton("Recommencer", clickListener)
.setNegativeButton("Quitter", clickListener)
.show(); .show();
} }
} }

View File

@ -46,6 +46,11 @@ public class MainActivity extends AppCompatActivity {
instance = this; instance = this;
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if(getPref("setting_theme", this.getApplicationContext()) != "Color") {
setPref("setting_theme", "Color", this.getApplicationContext());
}
setTheme(this); setTheme(this);
setContentView(R.layout.activity_main); setContentView(R.layout.activity_main);

View File

@ -2,7 +2,8 @@ package net.DeltaWings.Android.Hangman.Util;
import android.os.AsyncTask; import android.os.AsyncTask;
import java.io.DataInputStream; import net.DeltaWings.Android.Hangman.MainActivity;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;
import java.net.Socket; import java.net.Socket;
@ -23,12 +24,6 @@ public class Command extends AsyncTask<String, Integer, Long> {
} catch (IOException e){ } catch (IOException e){
System.out.println("\nDEBUG:\texception IOException"); System.out.println("\nDEBUG:\texception IOException");
System.out.println( e.getMessage() ); System.out.println( e.getMessage() );
} catch (ClassNotFoundException e) {
System.out.println("\nDEBUG:\texception ClassNotFoundException");
System.out.println( e.getMessage() );
} catch (InterruptedException e) {
System.out.println("\nDEBUG:\texception InterruptedException");
System.out.println( e.getMessage() );
} }
publishProgress((int) (50)); publishProgress((int) (50));
@ -45,18 +40,12 @@ public class Command extends AsyncTask<String, Integer, Long> {
} }
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
public void envoyer_commande(String c) throws IOException, ClassNotFoundException, InterruptedException { public void envoyer_commande(String c) throws IOException {
System.out.println("\nDEBUG:\tenvoyer_commande"); System.out.println("\nDEBUG:\tenvoyer_commande");
Socket socket = null; Socket socket = new Socket(MainActivity.getPref("setting_ip", MainActivity.instance.getApplicationContext()), Integer.parseInt(MainActivity.getPref("setting_port", MainActivity.instance.getApplicationContext())));
DataOutputStream dataOutputStream = null;
DataInputStream dataInputStream = null;
try { DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
//establish socket connection to server
socket = new Socket("192.168.0.2", 53000);
dataOutputStream = new DataOutputStream(socket.getOutputStream());
System.out.println("\nDEBUG:\tConnexion ok"); System.out.println("\nDEBUG:\tConnexion ok");
System.out.println("\nDEBUG:\tdebut envoi"); System.out.println("\nDEBUG:\tdebut envoi");
@ -65,37 +54,9 @@ public class Command extends AsyncTask<String, Integer, Long> {
System.out.println("\nDEBUG:\tdebut reception"); System.out.println("\nDEBUG:\tdebut reception");
System.out.println("\nDEBUG:\tfin réception"); System.out.println("\nDEBUG:\tfin réception");
}
catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally {
if (socket != null) {
try {
socket.close(); socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (dataOutputStream != null){
try {
dataOutputStream.close(); dataOutputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (dataInputStream != null){
try {
dataInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
System.out.println("\nDEBUG:\tFin envoyer_commande"); System.out.println("\nDEBUG:\tFin envoyer_commande");
} }

View File

@ -5,9 +5,10 @@ import android.util.Log;
import org.json.JSONObject; import org.json.JSONObject;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Objects; import java.util.Objects;
@ -26,13 +27,13 @@ public class GameUtil {
JSONObject obj = null; JSONObject obj = null;
String s = "https://raw.githubusercontent.com/dwyl/english-words/master/words_dictionary.json";
String r = ""; String r = "";
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
ArrayList<String> list = new ArrayList<>(); ArrayList<String> list = new ArrayList<>();
try { try {
BufferedReader br = new BufferedReader(new FileReader("/sdcard/list.txt"));
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("/sdcard/list.txt"), "UTF-8"));
String line = br.readLine(); String line = br.readLine();

View File

@ -4,6 +4,6 @@
android:width="24dp" android:width="24dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="24"> android:viewportHeight="24">
<path android:fillColor="#fff" <path android:fillColor="?android:attr/textColorPrimary"
android:pathData="M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z" /> android:pathData="M11,13.5V21.5H3V13.5H11M9,15.5H5V19.5H9V15.5M12,2L17.5,11H6.5L12,2M12,5.86L10.08,9H13.92L12,5.86M17.5,13C20,13 22,15 22,17.5C22,20 20,22 17.5,22C15,22 13,20 13,17.5C13,15 15,13 17.5,13M17.5,15A2.5,2.5 0 0,0 15,17.5A2.5,2.5 0 0,0 17.5,20A2.5,2.5 0 0,0 20,17.5A2.5,2.5 0 0,0 17.5,15Z" />
</vector> </vector>

View File

@ -11,7 +11,7 @@
android:id="@+id/textView4" android:id="@+id/textView4"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="0dp" android:layout_height="0dp"
android:text="TextView" android:text="Fait par Florian Bouillon, Matéo Boulben et Killian Orain mots récupéré sur jsp.com"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@ -65,6 +65,7 @@
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="0.50" android:layout_weight="0.50"
android:contentDescription="image"
app:srcCompat="@mipmap/logo"/> app:srcCompat="@mipmap/logo"/>
</LinearLayout> </LinearLayout>
@ -73,7 +74,6 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="sans-serif-condensed" android:fontFamily="sans-serif-condensed"
android:text="null"
android:textAlignment="center" android:textAlignment="center"
android:textSize="36sp" android:textSize="36sp"
android:textStyle="bold"/> android:textStyle="bold"/>
@ -84,13 +84,13 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginBottom="0dp" android:layout_marginBottom="0dp"
android:ems="10" android:ems="10"
android:hint="Écrit une lettre/un mot"
android:inputType="textPersonName" android:inputType="textPersonName"
android:maxLength="16" android:maxLength="16"
android:maxLines="1" android:maxLines="1"
android:selectAllOnFocus="false" android:selectAllOnFocus="false"
android:windowSoftInputMode="adjustResize|adjustPan"
android:text="Name"
android:textAlignment="center" android:textAlignment="center"
android:textAllCaps="false"
android:textSize="36sp" android:textSize="36sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0" app:layout_constraintHorizontal_bias="0.0"

View File

@ -21,6 +21,7 @@
<string name="setting_general_theme">Theme</string> <string name="setting_general_theme">Theme</string>
<string name="setting_general_ip">Select the server IP</string> <string name="setting_general_ip">Select the server IP</string>
<string name="setting_general_port">Select the server port</string>
<string name="setting_single_title">Singleplayer</string> <string name="setting_single_title">Singleplayer</string>
<string name="setting_single_desc">Singleplayer Configuration</string> <string name="setting_single_desc">Singleplayer Configuration</string>

View File

@ -26,16 +26,19 @@
<!-- Custom Elements --> <!-- Custom Elements -->
<!-- Android --> <!-- Android -->
<item name="android:textColor">@color/Black</item>
<item name="android:textColorPrimary">@color/Black</item>
<item name="android:textColorPrimaryInverse">@color/Black</item>
<item name="android:colorBackground">@color/Grey50</item> <item name="android:colorBackground">@color/Grey50</item>
<item name="android:windowBackground">@color/Grey50</item> <item name="android:windowBackground">@color/Grey50</item>
<item name="android:colorAccent">@color/BlueGrey500</item> <item name="android:colorAccent">@color/BlueGrey500</item>
<item name="android:textColorPrimary">@color/Grey900</item>
</style> </style>
<style name="DeltaWings.Color" parent="Theme.AppCompat.Light"> <style name="DeltaWings.Color" parent="Theme.AppCompat.Light">
<!-- Drawables --> <!-- Drawables -->
<item name="drawable_people">@drawable/people</item> <item name="drawable_people">@drawable/people</item>
<item name="drawable_person">@drawable/person</item> <item name="drawable_person">@drawable/person</item>

View File

@ -1,15 +1,21 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<ListPreference <!--<ListPreference
android:defaultValue="Color" android:defaultValue="Color"
android:entries="@array/theme" android:entries="@array/theme"
android:entryValues="@array/theme" android:entryValues="@array/theme"
android:key="setting_theme" android:key="setting_theme"
android:title="@string/setting_general_theme"/> android:title="@string/setting_general_theme"/>-->
<EditTextPreference <EditTextPreference
android:defaultValue="192.168.0.2" android:defaultValue="192.168.0.2"
android:key="setting_ip" android:key="setting_ip"
android:selectAllOnFocus="true" android:selectAllOnFocus="true"
android:singleLine="true" android:singleLine="true"
android:title="@string/setting_general_ip"/> android:title="@string/setting_general_ip"/>
<EditTextPreference
android:defaultValue="53000"
android:key="setting_port"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="@string/setting_general_port"/>
</PreferenceScreen> </PreferenceScreen>

View File

@ -4,7 +4,7 @@
android:icon="@drawable/shape_outline" android:icon="@drawable/shape_outline"
android:title="@string/setting_general_title" android:title="@string/setting_general_title"
android:summary="@string/setting_general_desc" /> android:summary="@string/setting_general_desc" />
<!--
<header android:fragment="net.DeltaWings.Android.Hangman.settings.singleOptions" <header android:fragment="net.DeltaWings.Android.Hangman.settings.singleOptions"
android:icon="?attr/drawable_person" android:icon="?attr/drawable_person"
android:title="@string/setting_single_title" android:title="@string/setting_single_title"
@ -14,5 +14,6 @@
android:icon="?attr/drawable_people" android:icon="?attr/drawable_people"
android:title="@string/setting_multi_title" android:title="@string/setting_multi_title"
android:summary="@string/setting_multi_desc" /> android:summary="@string/setting_multi_desc" />
-->
</preference-headers> </preference-headers>