From 6c0f084d48d526fdda0a4815f7f8ddfac8ec72f6 Mon Sep 17 00:00:00 2001 From: marc barbier Date: Mon, 4 Jan 2021 15:22:33 +0100 Subject: [PATCH] ajout victoire + defaite --- .../myapplication/Game/GameLogicThread.java | 36 ++++++++---------- .../iutlaval/myapplication/PopupRunable.java | 23 +++++++++++ app/src/main/res/drawable/t_pb_defeat.png | Bin 0 -> 14604 bytes app/src/main/res/drawable/t_pb_victory.png | Bin 0 -> 18218 bytes 4 files changed, 39 insertions(+), 20 deletions(-) create mode 100644 app/src/main/java/com/iutlaval/myapplication/PopupRunable.java create mode 100644 app/src/main/res/drawable/t_pb_defeat.png create mode 100644 app/src/main/res/drawable/t_pb_victory.png diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java index 7f3c9a7..c5acf81 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java @@ -11,8 +11,8 @@ import android.widget.Toast; import com.iutlaval.myapplication.Game.Cards.Card; import com.iutlaval.myapplication.Game.Cards.CardRegistery; import com.iutlaval.myapplication.GameActivity; +import com.iutlaval.myapplication.PopupRunable; import com.iutlaval.myapplication.R; -import com.iutlaval.myapplication.Video.Drawables.Drawable; import com.iutlaval.myapplication.Video.Drawables.DrawableBitmap; import com.iutlaval.myapplication.Video.Drawables.DrawableCard; import com.iutlaval.myapplication.Video.Drawables.DrawableSelfRemoving; @@ -91,16 +91,18 @@ public class GameLogicThread extends Thread{ Bitmap bitmapEnemyTurn = BitmapFactory.decodeResource(renderer.getResources(),R.drawable.t_pb_enemy_turn); Bitmap bitmapBattlePhase = BitmapFactory.decodeResource(renderer.getResources(),R.drawable.t_pb_battlephase); Bitmap bitmapButtonEnd = BitmapFactory.decodeResource(renderer.getResources(),R.drawable.t_btn_boutonfintour); - Bitmap bitmap= BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_b_board_background); + Bitmap bitmapBackground = BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_b_board_background); + Bitmap bitmapVictory = BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_pb_victory); + Bitmap bitmapDefeat = BitmapFactory.decodeResource(cont.getResources(), R.drawable.t_pb_defeat); //adding the background - renderer.addToDraw(new DrawableBitmap(bitmap, 0,0, "background", 100, 100 )); + renderer.addToDraw(new DrawableBitmap(bitmapBackground, 0,0, "background", 100, 100 )); //drawHandPreview(); //Rectangle pos = new Rectangle(0F,0F,100F,100F); ready=true; final String host = "4.tcp.ngrok.io";//192.168.43.251tcp://2.tcp.ngrok.io: - final int port = 16784; + final int port = 16146; try { Socket client = new Socket(host, port); @@ -181,7 +183,7 @@ public class GameLogicThread extends Thread{ case Command.YOURTURN: isYourMainPhase =true; isYourBattlePhase=false; - renderer.addToDraw(new DrawableSelfRemoving(new DrawableBitmap(bitmapYourTurn,0,0,"yourTurn",100F,50F),1)); + renderer.addToDrawWithoutUpdate(new DrawableSelfRemoving(new DrawableBitmap(bitmapYourTurn,0,0,"yourTurn",100F,50F),1)); renderer.addToDraw(new DrawableBitmap(bitmapButtonEnd, BUTTON_X_POS, BUTTON_Y_POS, BUTTONTURN_DRAWABLE_NAME, BUTTON_X_SIZE, BUTTON_Y_SIZE)); break; @@ -194,36 +196,30 @@ public class GameLogicThread extends Thread{ case Command.ENEMYTURN: isYourMainPhase =false; - //on update pas vu que l'instruction suivante va le faire - renderer.removeToDrawWithoutUpdate(BUTTONTURN_DRAWABLE_NAME); + renderer.removeToDraw(BUTTONTURN_DRAWABLE_NAME); + renderer.removeToDraw("battlePhase"); renderer.addToDraw(new DrawableSelfRemoving(new DrawableBitmap(bitmapEnemyTurn,0,0,"enemyTurn",100F,50F),1)); break; case Command.POPUP: String recivedMessage = coms.recieve(); - Toast popupToast = new Toast(gameActivity); - popupToast.setText(recivedMessage); - popupToast.setDuration(Toast.LENGTH_LONG); - popupToast.show(); + gameActivity.runOnUiThread(new PopupRunable(recivedMessage,gameActivity)); Log.e("popup",recivedMessage); break; case Command.WIN: //on termine la parite - cancelled = true; - Toast winToast = new Toast(gameActivity); - winToast.setText("bravo ! vous avez gagné"); - winToast.setDuration(Toast.LENGTH_LONG); - winToast.show(); + gameActivity.runOnUiThread(new PopupRunable("bravo ! vous avez gagné",gameActivity)); + renderer.addToDraw(new DrawableBitmap(bitmapVictory,0,0,"victory",100F,50F)); renderer.updateFrame(); + cancelled = true; break; case Command.LOSE: //on termine la partie + gameActivity.runOnUiThread(new PopupRunable("vous avez perdu!",gameActivity)); + renderer.addToDraw(new DrawableBitmap(bitmapDefeat,0,0,"defeat",100F,50F)); + renderer.updateFrame(); cancelled=true; - Toast loseToast = new Toast(gameActivity); - loseToast.setText("vous avez perdu!"); - loseToast.setDuration(Toast.LENGTH_LONG); - loseToast.show(); break; case Command.PING: coms.send(Command.PONG); diff --git a/app/src/main/java/com/iutlaval/myapplication/PopupRunable.java b/app/src/main/java/com/iutlaval/myapplication/PopupRunable.java new file mode 100644 index 0000000..1ad9189 --- /dev/null +++ b/app/src/main/java/com/iutlaval/myapplication/PopupRunable.java @@ -0,0 +1,23 @@ +package com.iutlaval.myapplication; + +import android.content.Context; +import android.widget.Toast; + +public class PopupRunable implements Runnable{ + String recivedMessage; + Context context; + + public PopupRunable(String recivedMessage, Context context) + { + this.recivedMessage=recivedMessage; + this.context=context; + } + + @Override + public void run() { + Toast popupToast = new Toast(context); + popupToast.setText(recivedMessage); + popupToast.setDuration(Toast.LENGTH_LONG); + popupToast.show(); + } +} diff --git a/app/src/main/res/drawable/t_pb_defeat.png b/app/src/main/res/drawable/t_pb_defeat.png new file mode 100644 index 0000000000000000000000000000000000000000..889b2de55298059528eeedc2459fedf5d6e1b7f5 GIT binary patch literal 14604 zcmeIZ<98Znh?Dm5fs#M1689^eyXUS9*awSt|}XYo~iCzd6-JKl;A#KH*|A|(H_AbR&%pl zSLhO2QpyoikrD_%;v2Fh)3hy4Y=XzT@$v+zDRha*P$TFuf^q3EX6qrr5q+FVYuYj0GPVeEta=DkFq3&jaY(G)ChOvK$vMxyeu3?0F{hDzn&1Ru zP_^=Se1T`8_uOi&bR74jKG^)T!4`qAfN6&5KWmRq^|l-e0e@K>N}4|wpqM_Syt=9f zV*@sAw|9ZnBi?@xkfy(iWy1C)LA5`HK|KVD>_ z#YXj>Jlx%n);}*SC$69~1D#rJZQpyp^8#fgBOwa%_1~4>RhIPafpw77as~lmAp38C zdXxybeLJCDq~ye)4?rQ1zh9|5x^(xks4@kPg8KjL|9k{6Dc2!H2W=Sl7|>H-f?(nk1tBUE zB$MB3eh86E^J}0*O2dMoN|Fmgxa*4sh=N6eEcZl4Bx9XL53_l7xu=0+uN+C|Vw2KP zfPf_=l5c@O+JEX}-gzayEw4eMk|xK$TYu>YLj->4Km=OACU}k%j_?J*kTOFslMb{g z_-~%LPmee?MbSW*I_Lc|xU{xMPX<*Y$I~N$1A#*&p5=T=L?`ydZ~XnX^iBsd-hdj< zn``yzm&n^9=m?3$cHVKfRo_**ILu2m4ipP`Td8f_rTb&`{PYCCDJGyUAfRZH2|<$c zyA(`*;b;R$R~#56qZGk1ODiU$$e^nxtzl4nfYpGk0!Gs|uQoxmr+pU~&{Y#*6~44aKT1hKrU~@Pl@`AV_m!3xvL^@Q+bysGA^a z*47wY3?_BekSWY4T-#cKwz?4Rv`5C|8-CACBsaDrI?6%|!4QCkJ&gHA9qlYaFiE7G z=URk##DAV}_G5<)ws*aEje&7QLjPe6KT3VV+|Y&0O;c3@BlRmn@|xAY2bW#=8ctpbtk>dK=%i`!Ds4+>u)Iinjz{ zH`NC}om@^`zOM%`6|yEG@vRLi4u$av}$VN}UKloPwweU@dZYZ5n8E@V=+vp_zx zMtOr`69D#yt^BCq7KL_DQ^t&m*9O?*{+5TF4E*Oz5_Q{Cq`k7FHu(jGX7Y4g*BMeu z36aZh?&$STR~^93juB9J;@u#x2h=b`+=cMp3&zZNUJ!R~y~K2hD~W$!Jw%D~E?k|^x@)Dd9|uLcF>!lNlG;h+#P&&aiLxk@+vM<9w$?Np@f z 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 z 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