pass turn
This commit is contained in:
@@ -20,8 +20,6 @@ import com.iutlaval.myapplication.exception.UnrecognizedCard;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InterruptedIOException;
|
import java.io.InterruptedIOException;
|
||||||
import java.io.ObjectInputStream;
|
|
||||||
import java.io.ObjectOutputStream;
|
|
||||||
import java.io.OptionalDataException;
|
import java.io.OptionalDataException;
|
||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
@@ -53,11 +51,13 @@ public class GameLogicThread extends Thread{
|
|||||||
|
|
||||||
|
|
||||||
//ces variable permette la comunication avec le thread android du tactile et le reseau en passant par ce thread
|
//ces variable permette la comunication avec le thread android du tactile et le reseau en passant par ce thread
|
||||||
boolean requestDone=true;
|
private boolean requestPlaceCardDone =true;
|
||||||
DrawableCard requestCard=null;
|
private DrawableCard requestPlaceCardCard =null;
|
||||||
int requestZone=-1;
|
private int requestPlaceCardZone =-1;
|
||||||
boolean requestResult;
|
private boolean requestPlaceCardResult;
|
||||||
|
|
||||||
|
//si mise a true alors le thread va envoyer un message au serveur lui disant de passer a la phase suivante
|
||||||
|
private boolean requestEnd = false;
|
||||||
|
|
||||||
public GameLogicThread(GameActivity gameActivity, String deckName, Renderer renderer)
|
public GameLogicThread(GameActivity gameActivity, String deckName, Renderer renderer)
|
||||||
{
|
{
|
||||||
@@ -108,16 +108,27 @@ public class GameLogicThread extends Thread{
|
|||||||
//si quelquechose se passe alors c'est le server qu'il l'a dit
|
//si quelquechose se passe alors c'est le server qu'il l'a dit
|
||||||
while(ready && !cancelled)
|
while(ready && !cancelled)
|
||||||
{
|
{
|
||||||
if(!requestDone && requestZone != -1 && requestCard != null)
|
if(!requestPlaceCardDone && requestPlaceCardZone != -1 && requestPlaceCardCard != null)
|
||||||
{
|
{
|
||||||
try {//on allonge le delais car sinon on skip l'autorisation serveur
|
try {//on allonge le delais car sinon on skip l'autorisation serveur
|
||||||
coms.setUnlimitedTimeOut();
|
coms.setUnlimitedTimeOut();
|
||||||
} catch (SocketException e) {}
|
} catch (SocketException e) {}
|
||||||
requestResult = onCardPlayed(requestCard,requestZone);
|
requestPlaceCardResult = onCardPlayed(requestPlaceCardCard, requestPlaceCardZone);
|
||||||
requestZone=-1;
|
requestPlaceCardZone =-1;
|
||||||
requestCard=null;
|
requestPlaceCardCard =null;
|
||||||
Log.e("request","done");
|
Log.e("request","done");
|
||||||
requestDone=true;
|
requestPlaceCardDone =true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(requestEnd)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
Log.e("TURN","PASSED");
|
||||||
|
coms.send(Command.PASS_TURN);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
requestEnd=false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -155,6 +166,8 @@ public class GameLogicThread extends Thread{
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case Command.ENEMYTURN:
|
case Command.ENEMYTURN:
|
||||||
|
isYourTurn=false;
|
||||||
|
|
||||||
//on update pas vu que l'instruction suivante va le faire
|
//on update pas vu que l'instruction suivante va le faire
|
||||||
renderer.removeToDrawWithoutUpdate(BUTTONTURN_DRAWABLE_NAME);
|
renderer.removeToDrawWithoutUpdate(BUTTONTURN_DRAWABLE_NAME);
|
||||||
renderer.addToDraw(new DrawableSelfRemoving(new DrawableBitmap(bitmapEnemyTurn,0,0,"enemyTurn",100F,50F),1));
|
renderer.addToDraw(new DrawableSelfRemoving(new DrawableBitmap(bitmapEnemyTurn,0,0,"enemyTurn",100F,50F),1));
|
||||||
@@ -296,21 +309,21 @@ public class GameLogicThread extends Thread{
|
|||||||
protected synchronized boolean setOnCardPlayedRequest(DrawableCard card,int zone)
|
protected synchronized boolean setOnCardPlayedRequest(DrawableCard card,int zone)
|
||||||
{
|
{
|
||||||
//on ne peut pas avoir 2 requette simultané
|
//on ne peut pas avoir 2 requette simultané
|
||||||
if(!requestDone)return false;
|
if(!requestPlaceCardDone)return false;
|
||||||
|
|
||||||
this.requestCard=card;
|
this.requestPlaceCardCard =card;
|
||||||
this.requestZone=zone;
|
this.requestPlaceCardZone =zone;
|
||||||
requestDone=false;
|
requestPlaceCardDone =false;
|
||||||
|
|
||||||
//on attends la fin de la requette
|
//on attends la fin de la requette
|
||||||
while(!requestDone) {
|
while(!requestPlaceCardDone) {
|
||||||
try {
|
try {
|
||||||
Thread.sleep(100);
|
Thread.sleep(100);
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return requestResult;
|
return requestPlaceCardResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -367,15 +380,10 @@ public class GameLogicThread extends Thread{
|
|||||||
interrupt();
|
interrupt();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onEndTurnButtonPushed() {
|
public void requestEndTurn() {
|
||||||
if(isYourTurn)
|
if(isYourTurn)
|
||||||
{
|
{
|
||||||
try {
|
requestEnd=true;
|
||||||
Log.e("TURN","PASSED");
|
|
||||||
coms.send(Command.PASS_TURN);
|
|
||||||
} catch (IOException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}else{
|
}else{
|
||||||
Toast t = new Toast(gameActivity);
|
Toast t = new Toast(gameActivity);
|
||||||
t.setText("IT'S NOT YOUR TURN BE PATIENT");
|
t.setText("IT'S NOT YOUR TURN BE PATIENT");
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ public class TouchHandler {
|
|||||||
unScalled_Y > GameLogicThread.BUTTON_Y_POS && unScalled_Y < GameLogicThread.BUTTON_Y_POS + GameLogicThread.BUTTON_Y_SIZE)
|
unScalled_Y > GameLogicThread.BUTTON_Y_POS && unScalled_Y < GameLogicThread.BUTTON_Y_POS + GameLogicThread.BUTTON_Y_SIZE)
|
||||||
{
|
{
|
||||||
Log.e("push","detected");
|
Log.e("push","detected");
|
||||||
gameLogic.onEndTurnButtonPushed();
|
gameLogic.requestEndTurn();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,15 @@ package com.iutlaval.myapplication;
|
|||||||
|
|
||||||
//N'oubliez pas de déclarer le bon package dans lequel se trouve le fichier !
|
//N'oubliez pas de déclarer le bon package dans lequel se trouve le fichier !
|
||||||
|
|
||||||
|
import android.app.ActionBar;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.content.pm.ActivityInfo;
|
import android.content.pm.ActivityInfo;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.Display;
|
import android.view.Display;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.WindowManager;
|
||||||
|
|
||||||
import com.iutlaval.myapplication.Game.GameLogicThread;
|
import com.iutlaval.myapplication.Game.GameLogicThread;
|
||||||
import com.iutlaval.myapplication.Video.FpsTime;
|
import com.iutlaval.myapplication.Video.FpsTime;
|
||||||
@@ -26,8 +30,19 @@ public class GameActivity extends Activity {
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
|
if (Build.VERSION.SDK_INT < 16) {
|
||||||
|
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
|
||||||
|
WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
}else{
|
||||||
|
View decorView = getWindow().getDecorView();
|
||||||
|
// Hide the status bar.
|
||||||
|
decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
|
||||||
Display display = getWindowManager().getDefaultDisplay();
|
Display display = getWindowManager().getDefaultDisplay();
|
||||||
|
//permet d'attendre la duré de une image affiché a l'écran
|
||||||
FpsTime.init(display);
|
FpsTime.init(display);
|
||||||
|
|
||||||
String deck = getIntent().getStringExtra("DECK");
|
String deck = getIntent().getStringExtra("DECK");
|
||||||
|
|||||||
Reference in New Issue
Block a user