ajout choix deck
This commit is contained in:
@@ -53,12 +53,6 @@ package Game <<Folder>> {
|
|||||||
- originalPositionX : float
|
- originalPositionX : float
|
||||||
- originalPositionY : float
|
- originalPositionY : float
|
||||||
}
|
}
|
||||||
package Players <<Folder>> {
|
|
||||||
class Player
|
|
||||||
class PlayerBot
|
|
||||||
class PlayerLocal
|
|
||||||
class PlayerAdversary
|
|
||||||
}
|
|
||||||
class GameActivity
|
class GameActivity
|
||||||
{
|
{
|
||||||
+ onCreate()
|
+ onCreate()
|
||||||
@@ -215,10 +209,6 @@ Renderer "1" *-- DrawingThread : -drawingThread
|
|||||||
Renderer "1" *-- GameLogicThread : -engine
|
Renderer "1" *-- GameLogicThread : -engine
|
||||||
Renderer "*" *-- Drawable : toDraw
|
Renderer "*" *-- Drawable : toDraw
|
||||||
|
|
||||||
Player <|-- PlayerBot
|
|
||||||
Player <|-- PlayerLocal
|
|
||||||
Player <|-- PlayerAdversary
|
|
||||||
|
|
||||||
DrawableCard o-- Drawable : frameDrawable
|
DrawableCard o-- Drawable : frameDrawable
|
||||||
DrawableCard *-- Drawable : OpacityRectangleDrawable
|
DrawableCard *-- Drawable : OpacityRectangleDrawable
|
||||||
DrawableCard *-- Drawable : PictureDrawable
|
DrawableCard *-- Drawable : PictureDrawable
|
||||||
@@ -257,9 +247,6 @@ GameLogicThread *-- Hand : fillHand
|
|||||||
GameLogicThread *-- PlayableZonesHandler : playableZonesHandler
|
GameLogicThread *-- PlayableZonesHandler : playableZonesHandler
|
||||||
GameLogicThread *-- GameActivity : gameActivity
|
GameLogicThread *-- GameActivity : gameActivity
|
||||||
|
|
||||||
Board *-- PlayerLocal : player
|
|
||||||
Board *-- Player : adversary
|
|
||||||
|
|
||||||
Deck <|-- DeckDemo
|
Deck <|-- DeckDemo
|
||||||
|
|
||||||
Renderer o-- GameLogicThread
|
Renderer o-- GameLogicThread
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
package com.iutlaval.myapplication;
|
||||||
|
|
||||||
|
import android.app.AlertDialog;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
|
public class DeckPickDialogue extends DialogFragment {
|
||||||
|
Context context;
|
||||||
|
public DeckPickDialogue(@NonNull Context context) {
|
||||||
|
this.context=context;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Dialog onCreateDialog(Bundle savedInstanceState) {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||||
|
builder.setTitle(R.string.pickdeck)
|
||||||
|
.setItems(R.array.decks, new DialogInterface.OnClickListener() {
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
// The 'which' argument contains the index position
|
||||||
|
// of the selected item
|
||||||
|
String[] mTestArray = getResources().getStringArray(R.array.decks);
|
||||||
|
|
||||||
|
Intent gameActivity = new Intent(context, GameActivity.class);
|
||||||
|
gameActivity.putExtra("DECK", mTestArray[which]);
|
||||||
|
gameActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
||||||
|
|
||||||
|
startActivity(gameActivity);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return builder.create();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,14 +1,20 @@
|
|||||||
package com.iutlaval.myapplication.Game;
|
package com.iutlaval.myapplication.Game;
|
||||||
|
|
||||||
|
import android.app.AlertDialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.MotionEvent;
|
import android.view.MotionEvent;
|
||||||
|
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
|
import com.iutlaval.myapplication.DeckPickDialogue;
|
||||||
import com.iutlaval.myapplication.Game.Cards.Card;
|
import com.iutlaval.myapplication.Game.Cards.Card;
|
||||||
import com.iutlaval.myapplication.Game.Cards.CardRegistery;
|
import com.iutlaval.myapplication.Game.Cards.CardRegistery;
|
||||||
import com.iutlaval.myapplication.GameActivity;
|
import com.iutlaval.myapplication.GameActivity;
|
||||||
|
import com.iutlaval.myapplication.MainActivity;
|
||||||
import com.iutlaval.myapplication.R;
|
import com.iutlaval.myapplication.R;
|
||||||
import com.iutlaval.myapplication.Video.Drawables.Drawable;
|
import com.iutlaval.myapplication.Video.Drawables.Drawable;
|
||||||
import com.iutlaval.myapplication.Video.Drawables.DrawableBitmap;
|
import com.iutlaval.myapplication.Video.Drawables.DrawableBitmap;
|
||||||
@@ -38,10 +44,12 @@ public class GameLogicThread extends Thread{
|
|||||||
private boolean isYourTurn;
|
private boolean isYourTurn;
|
||||||
private boolean cancelled;
|
private boolean cancelled;
|
||||||
private Socket client;
|
private Socket client;
|
||||||
|
private String deckName;
|
||||||
|
|
||||||
public GameLogicThread(GameActivity gameActivity, Renderer renderer)
|
public GameLogicThread(GameActivity gameActivity, String deckName, Renderer renderer)
|
||||||
{
|
{
|
||||||
new CardRegistery();
|
new CardRegistery();
|
||||||
|
this.deckName=deckName;
|
||||||
Log.e("RESOLUTION:",""+GameActivity.screenWidth+"x"+GameActivity.screenHeight);
|
Log.e("RESOLUTION:",""+GameActivity.screenWidth+"x"+GameActivity.screenHeight);
|
||||||
ready=false;
|
ready=false;
|
||||||
this.cont = gameActivity;
|
this.cont = gameActivity;
|
||||||
@@ -57,6 +65,8 @@ public class GameLogicThread extends Thread{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
//pickDeck();
|
||||||
|
|
||||||
//loading textures
|
//loading textures
|
||||||
Bitmap bitmapYourTurn = BitmapFactory.decodeResource(renderer.getResources(),R.drawable.t_pb_your_turn);
|
Bitmap bitmapYourTurn = BitmapFactory.decodeResource(renderer.getResources(),R.drawable.t_pb_your_turn);
|
||||||
Bitmap bitmap= BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_b_board_background);
|
Bitmap bitmap= BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_b_board_background);
|
||||||
@@ -71,7 +81,7 @@ public class GameLogicThread extends Thread{
|
|||||||
//TODO : choix du deck avant de se co au serv
|
//TODO : choix du deck avant de se co au serv
|
||||||
|
|
||||||
final String host = "4.tcp.ngrok.io";//192.168.43.251tcp://2.tcp.ngrok.io:
|
final String host = "4.tcp.ngrok.io";//192.168.43.251tcp://2.tcp.ngrok.io:
|
||||||
final int port = 17531;
|
final int port = 18240;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
client = new Socket(host, port);
|
client = new Socket(host, port);
|
||||||
@@ -94,8 +104,7 @@ public class GameLogicThread extends Thread{
|
|||||||
switch (serveurCmd)
|
switch (serveurCmd)
|
||||||
{
|
{
|
||||||
case COMMAND.GET_DECK:
|
case COMMAND.GET_DECK:
|
||||||
//TODO get deck from player
|
clientOut.writeObject(deckName);
|
||||||
clientOut.writeObject("deckDemo");
|
|
||||||
//TODO assing this deck
|
//TODO assing this deck
|
||||||
String deckstr = (String)clientIn.readObject();
|
String deckstr = (String)clientIn.readObject();
|
||||||
deck = new NetworkDeck(deckstr,gameActivity.getBaseContext());
|
deck = new NetworkDeck(deckstr,gameActivity.getBaseContext());
|
||||||
@@ -194,6 +203,10 @@ public class GameLogicThread extends Thread{
|
|||||||
return board;
|
return board;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* cette fonction a pour rôle de kill le thread
|
||||||
|
* vu que Thread.destroy() est déprecier c'est la seul methode possible;
|
||||||
|
*/
|
||||||
public void terminate() {
|
public void terminate() {
|
||||||
ready=false;
|
ready=false;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -33,7 +33,11 @@ public class GameActivity extends Activity {
|
|||||||
Display display = getWindowManager().getDefaultDisplay();
|
Display display = getWindowManager().getDefaultDisplay();
|
||||||
FpsTime.init(display);
|
FpsTime.init(display);
|
||||||
|
|
||||||
renderer = new Renderer(getBaseContext(),this);
|
String deck = getIntent().getStringExtra("DECK");
|
||||||
|
|
||||||
|
renderer = new Renderer(getBaseContext(),deck,this);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
setContentView(renderer);
|
setContentView(renderer);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,32 +1,44 @@
|
|||||||
package com.iutlaval.myapplication;
|
package com.iutlaval.myapplication;
|
||||||
|
|
||||||
import androidx.appcompat.app.AppCompatActivity;
|
import android.app.AlertDialog;
|
||||||
|
import android.app.Dialog;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.Toast;
|
|
||||||
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity {
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
|
private Context context;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
this.context=this;
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
|
|
||||||
final Button playButton = (Button) findViewById(R.id.playButton);
|
final Button playButton = (Button) findViewById(R.id.playButton);
|
||||||
playButton.setOnClickListener(new View.OnClickListener() {
|
playButton.setOnClickListener(new View.OnClickListener() {
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
//Toast.makeText(getApplicationContext(), "click sur button", Toast.LENGTH_LONG).show();
|
//Toast.makeText(getApplicationContext(), "click sur button", Toast.LENGTH_LONG).show();
|
||||||
Intent gameActivity = new Intent(MainActivity.this, GameActivity.class);
|
pickDeck();
|
||||||
gameActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
|
|
||||||
|
|
||||||
startActivity(gameActivity);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String pickDeck() {
|
||||||
|
DialogFragment d = new DeckPickDialogue(this);
|
||||||
|
d.show(getSupportFragmentManager(),"s");
|
||||||
|
|
||||||
|
|
||||||
|
return "demodeck";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,10 +30,12 @@ public class Renderer extends SurfaceView implements SurfaceHolder.Callback {
|
|||||||
private boolean needToUpdate;
|
private boolean needToUpdate;
|
||||||
|
|
||||||
private List<Drawable> toDraw;
|
private List<Drawable> toDraw;
|
||||||
|
private String deckName;
|
||||||
|
|
||||||
public Renderer(Context context, GameActivity gameActivity) {
|
public Renderer(Context context, String deck, GameActivity gameActivity) {
|
||||||
super(context);
|
super(context);
|
||||||
this.gameActivity=gameActivity;
|
this.gameActivity=gameActivity;
|
||||||
|
this.deckName=deck;
|
||||||
|
|
||||||
holder = getHolder();
|
holder = getHolder();
|
||||||
holder.addCallback(this);
|
holder.addCallback(this);
|
||||||
@@ -153,7 +155,7 @@ public class Renderer extends SurfaceView implements SurfaceHolder.Callback {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Log.i("RENDERER","STARTING ENGINE");
|
Log.i("RENDERER","STARTING ENGINE");
|
||||||
engine = new GameLogicThread(gameActivity,renderer);
|
engine = new GameLogicThread(gameActivity,deckName,renderer);
|
||||||
engine.start();
|
engine.start();
|
||||||
while (!engine.isReady());
|
while (!engine.isReady());
|
||||||
Log.i("RENDERER","ENGINE STARTED");
|
Log.i("RENDERER","ENGINE STARTED");
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<string-array name="decks">
|
||||||
|
<item>mythes et legendes grecs</item>
|
||||||
|
<item>renaissance</item>
|
||||||
|
<item>moyen-age francais</item>
|
||||||
|
</string-array>
|
||||||
|
</resources>
|
||||||
@@ -2,4 +2,5 @@
|
|||||||
<string name="app_name">MON JE</string>
|
<string name="app_name">MON JE</string>
|
||||||
<string name="title_item_list">Items</string>
|
<string name="title_item_list">Items</string>
|
||||||
<string name="title_item_detail">Item Detail</string>
|
<string name="title_item_detail">Item Detail</string>
|
||||||
|
<string name="pickdeck">Choisisez votre deck</string>
|
||||||
</resources>
|
</resources>
|
||||||
Reference in New Issue
Block a user