mise a jours git ignore + ajour glissé deposer + patch card onboard
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
*.iml
|
||||
build.gradle
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea
|
||||
@@ -15,3 +16,4 @@
|
||||
.cxx
|
||||
/app/release/
|
||||
/app/release/app-release.apk
|
||||
gradle/wrapper/gradle-wrapper.properties
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.iutlaval.myapplication.Game.Decks.Deck;
|
||||
import com.iutlaval.myapplication.Game.Decks.DeckDemo;
|
||||
import com.iutlaval.myapplication.GameActivity;
|
||||
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.Renderer;
|
||||
@@ -137,8 +138,17 @@ public class GameLogicThread extends Thread{
|
||||
touch.onTouchEvent(event);
|
||||
if(currentlySelected !=null)
|
||||
{
|
||||
//jouer une carte
|
||||
int zone = playableZonesHandler.getHoveredZone(currentlySelected);
|
||||
if(zone != -1)
|
||||
{
|
||||
currentlySelected.setOnBoard(true);
|
||||
currentlySelected.setCoordinates((DrawableCard.getCardWith()+1)*zone,55F);
|
||||
currentlySelected.setDraggable(false);
|
||||
}else{
|
||||
currentlySelected.setCoordinates(currentlySelected.getX(),currentlySelected.getY() + SELECTING_OFFSET);
|
||||
}
|
||||
renderer.removeToDraw(currentlySelected.getName()+"BIG");
|
||||
currentlySelected.setCoordinates(currentlySelected.getX(),currentlySelected.getY() + SELECTING_OFFSET);
|
||||
currentlySelected=null;
|
||||
}
|
||||
playableZonesHandler.hidePlayableZones(renderer);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.iutlaval.myapplication.Game;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.util.Log;
|
||||
|
||||
import com.iutlaval.myapplication.Game.Cards.Card;
|
||||
import com.iutlaval.myapplication.InvalidDataException;
|
||||
@@ -14,8 +15,6 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PlayableZonesHandler {
|
||||
//90F au lieu de 100F car on n'a pas la pioche
|
||||
private static final float CARD_SPACING = 90F / Board.MAX_CARD_ON_BOARD;
|
||||
private List<Drawable> playableZones;
|
||||
private Board board;
|
||||
|
||||
@@ -51,6 +50,7 @@ public class PlayableZonesHandler {
|
||||
|
||||
}
|
||||
|
||||
|
||||
public void hidePlayableZones(Renderer renderer)
|
||||
{
|
||||
for(Drawable d : playableZones)
|
||||
@@ -59,4 +59,26 @@ public class PlayableZonesHandler {
|
||||
}
|
||||
playableZones.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* retourne le numero de la zone survolé par le drawable si la zone est vite
|
||||
* sinon retourne -1
|
||||
* @param card
|
||||
* @return
|
||||
*/
|
||||
public int getHoveredZone(Drawable card) {
|
||||
for(int i=0 ; i< board.MAX_CARD_ON_BOARD;i++)
|
||||
{
|
||||
int cardX =(DrawableCard.getCardWith()+1)*i+1;
|
||||
//es que on survole sur l'axe x
|
||||
if(cardX > card.getX() && card.getY() < 90F && card.getY() > 50F)
|
||||
{
|
||||
//on a trouvé l'emplacement de la carte
|
||||
if(board.getPlayerCardsOnBoard()[i] == null)return i;
|
||||
else break;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,10 @@
|
||||
package com.iutlaval.myapplication.Video.Drawables;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.BitmapFactory;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Paint;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.iutlaval.myapplication.ERROR_CODE;
|
||||
import com.iutlaval.myapplication.GameActivity;
|
||||
import com.iutlaval.myapplication.InvalidDataException;
|
||||
import com.iutlaval.myapplication.Video.Rectangle;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class Drawable {
|
||||
|
||||
|
||||
@@ -22,8 +22,7 @@ public class DrawableCard extends Drawable{
|
||||
//ces données ne sont pas dans les digrames car sa renderais la lecture impossible
|
||||
private static final int CARD_WITH = 14;
|
||||
private static final int CARD_HEIGHT = 40;
|
||||
private static final float HP_ATK_FONT_SIZE_OFFBOARD =60F;
|
||||
private static final float HP_ATK_FONT_SIZE_BOARD =70F;
|
||||
private static final float HP_ATK_FONT_SIZE =60F;
|
||||
private static final float DESCRIPTION_FONT_SIZE =26F;
|
||||
private static final float TITLE_FONT_SIZE =30F;
|
||||
private static int DESCRIPTION_TEXT_X_RES = 281;
|
||||
@@ -36,9 +35,12 @@ public class DrawableCard extends Drawable{
|
||||
//des floats sont utiliser car ils prenne moin de ram que des doubles et que l'on a pas besoin de la precision supplementaire
|
||||
//dimentions
|
||||
private static final float ONBOARD_RECTANGLE_ATK_HP_WIDTH = CARD_WITH * 0.5F;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_HP_HEIGHT = CARD_HEIGHT * 0.2F;
|
||||
private static final float ONBOARD_ATK_HP_WIDTH = 0.4F * CARD_WITH;
|
||||
private static final float ONBOARD_ATK_HP_HEIGHT = 0.125F * CARD_HEIGHT;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_HP_HEIGHT = CARD_HEIGHT * 0.175F;
|
||||
private static final float ONBOARD_FRAME_X_SIZE = CARD_WITH;
|
||||
private static final float ONBOARD_FRAME_Y_SIZE = CARD_HEIGHT*0.5F;
|
||||
private static final float ONBOARD_ATK_HP_WIDTH = 0.45F * CARD_WITH;
|
||||
private static final float ONBOARD_ATK_HP_HEIGHT = 0.170F * CARD_HEIGHT;
|
||||
|
||||
private static final float OFFBOARD_ATK_HP_WIDTH = 0.25F * CARD_WITH;
|
||||
private static final float OFFBOARD_ATK_HP_HEIGHT = 0.08F * CARD_HEIGHT;
|
||||
|
||||
@@ -54,16 +56,14 @@ public class DrawableCard extends Drawable{
|
||||
//variables de posisions
|
||||
private final float ONBOARD_PICTURE_X = 0.0714F * CARD_WITH;
|
||||
private final float ONBOARD_PICTURE_Y = 0.0625F * CARD_HEIGHT;
|
||||
private final float ONBOARD_ATK_X = 0.05F * CARD_WITH;
|
||||
private final float ONBOARD_ATK_HP_Y = 0.52F * CARD_HEIGHT;
|
||||
private final float ONBOARD_HP_X = 0.55F * CARD_WITH;
|
||||
private final float ONBOARD_TEXT_ATK_X = 0.05F * CARD_WITH;
|
||||
private final float ONBOARD_TEXT_ATK_HP_Y = 0.48F * CARD_HEIGHT;
|
||||
private final float ONBOARD_TEXT_HP_X = 0.55F * CARD_WITH;
|
||||
private final float ONBOARD_TITLE_X = 0.1F * CARD_WITH;
|
||||
private final float ONBOARD_TITLE_Y = 0.05F * CARD_HEIGHT;
|
||||
private final float ONBOARD_TITLE_Y = 0.00F * CARD_HEIGHT;
|
||||
|
||||
private static final float ONBOARD_FRAME_X_SIZE = CARD_WITH;
|
||||
private static final float ONBOARD_FRAME_Y_SIZE = CARD_HEIGHT*0.5F;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_HP_Y = CARD_HEIGHT * 0.385F;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_X = CARD_HEIGHT * 0F;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_HP_Y = CARD_HEIGHT*0.375F;
|
||||
private static final float ONBOARD_RECTANGLE_ATK_X = CARD_WITH * 0F;
|
||||
private static final float ONBOARD_RECTANGLE_HP_X = CARD_WITH * 0.5F;
|
||||
|
||||
private static final float OFFBOARD_PICTURE_X = 0.0787F * CARD_WITH;
|
||||
@@ -180,9 +180,9 @@ public class DrawableCard extends Drawable{
|
||||
Rectangle cardOnBoardFrame = new Rectangle(x,y,ONBOARD_FRAME_X_SIZE*ratio,ONBOARD_FRAME_Y_SIZE*ratio);
|
||||
cardOnBoardFrame.scaleRectangleToScreen();
|
||||
|
||||
Rectangle cardOnBoardAtk = new Rectangle(x + ONBOARD_RECTANGLE_ATK_X*ratio, ONBOARD_RECTANGLE_ATK_HP_Y*ratio,ONBOARD_RECTANGLE_ATK_HP_WIDTH*ratio,ONBOARD_RECTANGLE_ATK_HP_HEIGHT*ratio);
|
||||
Rectangle cardOnBoardAtk = new Rectangle(x + ONBOARD_RECTANGLE_ATK_X, ONBOARD_RECTANGLE_ATK_HP_Y*ratio,ONBOARD_RECTANGLE_ATK_HP_WIDTH*ratio,ONBOARD_RECTANGLE_ATK_HP_HEIGHT*ratio);
|
||||
cardOnBoardAtk.scaleRectangleToScreen();
|
||||
Rectangle cardOnBoardHp = new Rectangle(x + ONBOARD_RECTANGLE_HP_X*ratio, ONBOARD_RECTANGLE_ATK_HP_Y*ratio,ONBOARD_RECTANGLE_ATK_HP_WIDTH*ratio,ONBOARD_RECTANGLE_ATK_HP_HEIGHT*ratio);
|
||||
Rectangle cardOnBoardHp = new Rectangle(x + ONBOARD_RECTANGLE_HP_X, ONBOARD_RECTANGLE_ATK_HP_Y*ratio,ONBOARD_RECTANGLE_ATK_HP_WIDTH*ratio,ONBOARD_RECTANGLE_ATK_HP_HEIGHT*ratio);
|
||||
cardOnBoardHp.scaleRectangleToScreen();
|
||||
|
||||
//creation de la bitmap qui va être rendu
|
||||
@@ -228,14 +228,14 @@ public class DrawableCard extends Drawable{
|
||||
{
|
||||
if(onBoard) {
|
||||
if (atk != null)
|
||||
cardAtkDrawable = new DrawableText(atk+"", 0, 0, toString() + "atk", ONBOARD_ATK_HP_WIDTH*ratio, ONBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE_BOARD,TEXT_ATK_HP_X_RES,TEXT_ATK_HP_Y_RES);
|
||||
cardAtkDrawable = new DrawableText(atk+"", 0, 0, toString() + "atk", ONBOARD_ATK_HP_WIDTH*ratio, ONBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE,TEXT_ATK_HP_X_RES,TEXT_ATK_HP_Y_RES);
|
||||
if (hp != null)
|
||||
cardHpDrawable = new DrawableText(hp+"", 0, 0, toString() + "hp", ONBOARD_ATK_HP_WIDTH*ratio, ONBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE_BOARD,TEXT_ATK_HP_X_RES,TEXT_ATK_HP_Y_RES);
|
||||
cardHpDrawable = new DrawableText(hp+"", 0, 0, toString() + "hp", ONBOARD_ATK_HP_WIDTH*ratio, ONBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE,TEXT_ATK_HP_X_RES,TEXT_ATK_HP_Y_RES);
|
||||
}else{
|
||||
if (atk != null)
|
||||
cardAtkDrawable = new DrawableText(atk + "", 0, 0, toString() + "atk", OFFBOARD_ATK_HP_WIDTH*ratio, OFFBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE_OFFBOARD, TEXT_ATK_HP_X_RES, TEXT_ATK_HP_Y_RES);
|
||||
cardAtkDrawable = new DrawableText(atk + "", 0, 0, toString() + "atk", OFFBOARD_ATK_HP_WIDTH*ratio, OFFBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE, TEXT_ATK_HP_X_RES, TEXT_ATK_HP_Y_RES);
|
||||
if (hp != null)
|
||||
cardHpDrawable = new DrawableText(hp + "", 0, 0, toString() + "hp", OFFBOARD_ATK_HP_WIDTH*ratio, OFFBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE_OFFBOARD, TEXT_ATK_HP_X_RES, TEXT_ATK_HP_Y_RES);
|
||||
cardHpDrawable = new DrawableText(hp + "", 0, 0, toString() + "hp", OFFBOARD_ATK_HP_WIDTH*ratio, OFFBOARD_ATK_HP_HEIGHT*ratio, HP_ATK_FONT_SIZE, TEXT_ATK_HP_X_RES, TEXT_ATK_HP_Y_RES);
|
||||
}
|
||||
setCoordinates(getX(), getY());
|
||||
}
|
||||
@@ -300,8 +300,8 @@ public class DrawableCard extends Drawable{
|
||||
if (onBoard) {
|
||||
cardOnBoardDrawable.setCoordinates(x,y);
|
||||
pictureDrawable.setCoordinates(x + ONBOARD_PICTURE_X*ratio, y +ONBOARD_PICTURE_Y*ratio);
|
||||
cardAtkDrawable.setCoordinates(x+ONBOARD_ATK_X*ratio,y + ONBOARD_ATK_HP_Y*ratio);
|
||||
cardHpDrawable.setCoordinates(x+ONBOARD_HP_X*ratio,y + ONBOARD_ATK_HP_Y*ratio);
|
||||
cardAtkDrawable.setCoordinates(x+ ONBOARD_TEXT_ATK_X *ratio,y + ONBOARD_TEXT_ATK_HP_Y *ratio);
|
||||
cardHpDrawable.setCoordinates(x+ ONBOARD_TEXT_HP_X *ratio,y + ONBOARD_TEXT_ATK_HP_Y *ratio);
|
||||
cardTitle.setCoordinates(x+ONBOARD_TITLE_X*ratio,y - ONBOARD_TITLE_Y*ratio);
|
||||
}else{
|
||||
frameDrawable.setCoordinates(x,y);
|
||||
@@ -344,4 +344,8 @@ public class DrawableCard extends Drawable{
|
||||
public boolean isDraggable() {
|
||||
return draggable;
|
||||
}
|
||||
|
||||
public void setDraggable(Boolean draggable) {
|
||||
this.draggable = draggable;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,11 +20,9 @@ public class DrawableRectangle extends Drawable{
|
||||
super(rectangle.getPositionX(),rectangle.getPositionY(),name);
|
||||
if(rectangle.getHeight() <= 0 || rectangle.getWidth() <=0)throw new InvalidDataException(name,rectangle);
|
||||
|
||||
Log.e("rect1",rectangle.getWidth()+"");
|
||||
rectangle.scaleRectangleToScreen();
|
||||
Log.e("rect2",rectangle.getWidth()+"");
|
||||
Bitmap bitmap = Bitmap.createBitmap((int)rectangle.getWidth(),(int)rectangle.getHeight(), Bitmap.Config.ARGB_8888);
|
||||
rectangle.bitmapRectangleBuilder(bitmap,color);
|
||||
rectangle.bitmapRectangleBuilderNoCoordinates(bitmap,color);
|
||||
|
||||
setBitmap(bitmap);
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.iutlaval.myapplication.Video;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Paint;
|
||||
import android.util.Log;
|
||||
|
||||
import com.iutlaval.myapplication.GameActivity;
|
||||
|
||||
@@ -62,7 +61,6 @@ public class Rectangle {
|
||||
*/
|
||||
public void scaleRectangleToScreen()
|
||||
{
|
||||
Log.e("resize",""+getWidth()*GameActivity.screenWidth/100);
|
||||
set(getPositionX()* GameActivity.screenWidth/100,
|
||||
getPositionY()*GameActivity.screenHeight/100,
|
||||
getWidth()*GameActivity.screenWidth/100,
|
||||
@@ -75,17 +73,30 @@ public class Rectangle {
|
||||
* @param bitmap la bitmap sur la quelle dessiner
|
||||
* @param color la couleur du carre
|
||||
*/
|
||||
public void bitmapRectangleBuilder(Bitmap bitmap, int color)
|
||||
private void brushInit(int color)
|
||||
{
|
||||
RectangleCanevas c = new RectangleCanevas(bitmap);
|
||||
if(p==null)p = new Paint();
|
||||
|
||||
if(p==null){
|
||||
p = new Paint();
|
||||
p.setStyle(Paint.Style.FILL_AND_STROKE);
|
||||
}
|
||||
p.setColor(color);
|
||||
p.setStyle(Paint.Style.FILL_AND_STROKE);
|
||||
|
||||
c.drawRect(this,p);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public boolean isDrawable() {
|
||||
return getHeight() <= 0 || getWidth() <=0;}
|
||||
|
||||
public void bitmapRectangleBuilderNoCoordinates(Bitmap bitmap, int color) {
|
||||
brushInit(color);
|
||||
RectangleCanevas c = new RectangleCanevas(bitmap);
|
||||
c.drawRect(new Rectangle(0,0,width,height),p);
|
||||
}
|
||||
|
||||
public void bitmapRectangleBuilder(Bitmap bitmap,int color)
|
||||
{
|
||||
brushInit(color);
|
||||
RectangleCanevas c = new RectangleCanevas(bitmap);
|
||||
c.drawRect(this,p);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,10 +19,10 @@ public class RectangleCanevas extends Canvas {
|
||||
* @param paint le pinceau a utiliser
|
||||
*/
|
||||
public void drawRect(@NonNull Rectangle r, @NonNull Paint paint) {
|
||||
super.drawRect(0,
|
||||
0F,
|
||||
r.getWidth(),
|
||||
r.getHeight(),
|
||||
super.drawRect(r.getPositionX(),
|
||||
r.getPositionY(),
|
||||
r.getWidth()+r.getPositionX(),
|
||||
r.getHeight()+r.getPositionY(),
|
||||
paint);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user