diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f90daff..16ae7ec 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,13 +9,18 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> - + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/iutlaval/myapplication/Game/Cards/Card.java b/app/src/main/java/com/iutlaval/myapplication/Game/Cards/Card.java index 991f0e7..21133df 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/Cards/Card.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/Cards/Card.java @@ -3,12 +3,11 @@ package com.iutlaval.myapplication.Game.Cards; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; -import android.graphics.Color; import com.iutlaval.myapplication.Game.Board; import com.iutlaval.myapplication.Game.Player.Player; import com.iutlaval.myapplication.R; -import com.iutlaval.myapplication.Video.DrawableCard; +import com.iutlaval.myapplication.Video.Drawables.DrawableCard; public abstract class Card { private static Bitmap frameBitmap = null; 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 6ceaa88..bb543bd 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java +++ b/app/src/main/java/com/iutlaval/myapplication/Game/GameLogicThread.java @@ -1,17 +1,13 @@ package com.iutlaval.myapplication.Game; import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.graphics.Color; import com.iutlaval.myapplication.Game.Cards.Card; import com.iutlaval.myapplication.Game.Cards.DemoCard; import com.iutlaval.myapplication.InvalidDataException; -import com.iutlaval.myapplication.R; -import com.iutlaval.myapplication.Video.Drawable; -import com.iutlaval.myapplication.Video.DrawableCard; -import com.iutlaval.myapplication.Video.FpsTime; +import com.iutlaval.myapplication.Video.Drawables.Drawable; +import com.iutlaval.myapplication.Video.Drawables.DrawableCard; import com.iutlaval.myapplication.Video.Rectangle; import com.iutlaval.myapplication.Video.Renderer; diff --git a/app/src/main/java/com/iutlaval/myapplication/MainActivity.java b/app/src/main/java/com/iutlaval/myapplication/MainActivity.java new file mode 100644 index 0000000..596fbe9 --- /dev/null +++ b/app/src/main/java/com/iutlaval/myapplication/MainActivity.java @@ -0,0 +1,31 @@ +package com.iutlaval.myapplication; + +import androidx.appcompat.app.AppCompatActivity; + +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + final Button playButton = (Button) findViewById(R.id.playButton); + playButton.setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + Toast.makeText(getApplicationContext(), "click sur button", Toast.LENGTH_LONG).show(); + Intent gameActivity = new Intent(MainActivity.this, GameActivity.class); + + startActivity(gameActivity); + } + }); + } + + +} + diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Drawable.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/Drawable.java similarity index 96% rename from app/src/main/java/com/iutlaval/myapplication/Video/Drawable.java rename to app/src/main/java/com/iutlaval/myapplication/Video/Drawables/Drawable.java index 6008bd3..79a47cd 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Drawable.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/Drawable.java @@ -1,10 +1,9 @@ -package com.iutlaval.myapplication.Video; +package com.iutlaval.myapplication.Video.Drawables; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; -import android.graphics.Rect; import android.util.Log; import androidx.annotation.NonNull; @@ -12,6 +11,8 @@ 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 com.iutlaval.myapplication.Video.Renderer; import java.util.ArrayList; import java.util.List; @@ -21,7 +22,7 @@ public class Drawable { private float x,y; private String name; private Bitmap bitmap; - private static Paint p; + protected static Paint p; /** * cree un drawable a partir de coordonnĂ© est d'un nom @@ -198,7 +199,7 @@ public class Drawable { /** * cette fonction permet d'initialiser le pinceau */ - private void checkPaint() { + protected void checkPaint() { if(p==null) p = new Paint(); } @@ -214,7 +215,7 @@ public class Drawable { * @param text texte a afficher * @return liste de lignes de texte */ - private List cutText(int charPerLines,String text) + protected List cutText(int charPerLines,String text) { List output = new ArrayList<>(); //TODO cut text in lines diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/DrawableCard.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java similarity index 98% rename from app/src/main/java/com/iutlaval/myapplication/Video/DrawableCard.java rename to app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java index feafcb3..8421f33 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/DrawableCard.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCard.java @@ -1,4 +1,4 @@ -package com.iutlaval.myapplication.Video; +package com.iutlaval.myapplication.Video.Drawables; import android.content.Context; import android.graphics.Bitmap; @@ -11,6 +11,7 @@ import android.util.Log; import com.iutlaval.myapplication.ERROR_CODE; import com.iutlaval.myapplication.Game.Cards.Card; import com.iutlaval.myapplication.InvalidDataException; +import com.iutlaval.myapplication.Video.Rectangle; public class DrawableCard extends Drawable{ diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCardDescription.java b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCardDescription.java new file mode 100644 index 0000000..42fabcb --- /dev/null +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Drawables/DrawableCardDescription.java @@ -0,0 +1,50 @@ +package com.iutlaval.myapplication.Video.Drawables; + +import android.graphics.Bitmap; +import android.graphics.Canvas; +import android.graphics.Color; + +import androidx.annotation.MainThread; + +import com.iutlaval.myapplication.GameActivity; + +import java.util.List; + +public class DrawableCardDescription extends Drawable { + private static int TEXT_X_RES = 281; + private static int TEXT_Y_RES = 195; + + private Bitmap bitmap; + + public DrawableCardDescription(String text, float x_pos, float y_pos, String name, float x_size, float y_size, float textSize) { + super(x_pos,y_pos,name); + int x_scaled_size = (int)x_size* GameActivity.screenWidth/100; + int y_scaled_size = (int)y_size* GameActivity.screenHeight/100; + + checkPaint(); + super.p.setColor(Color.BLACK); + + + + List linesOfText = cutText(20,text); + p.setTextSize(textSize); + + //+10 permet d'e prendre en compte les p,q,j qui dessende plus bas que les autres + Bitmap bitmap = Bitmap.createBitmap(TEXT_X_RES, TEXT_Y_RES, Bitmap.Config.ARGB_8888); + Canvas c = new Canvas(bitmap); + + int index = 1; + for(String line : linesOfText) + { + c.drawText(line ,0,index*y_scaled_size/linesOfText.size(),p); + index++; + } + + this.bitmap = Bitmap.createScaledBitmap(bitmap,x_scaled_size,y_scaled_size, GameActivity.bilinearFiltering); + } + + @Override + public Bitmap getBitmap() { + return bitmap; + } +} diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java b/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java index fc67be0..a6db021 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Rectangle.java @@ -59,7 +59,7 @@ public class Rectangle { * /!\ ne pas le lancer plus d'une fois sinon les mesures devienderons n'importequoi /!\ * /!\ toutes les dimention du rectangle doivent ĂȘtre comprise entre 0 et 100 sinon elle sortiron de l'ecran/!\ */ - protected void scaleRectangleToScreen() + public void scaleRectangleToScreen() { set(getPositionX()* GameActivity.screenWidth/100, getPositionY()*GameActivity.screenHeight/100, diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/RectangleCanevas.java b/app/src/main/java/com/iutlaval/myapplication/Video/RectangleCanevas.java index 81f5c04..f3c1a7d 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/RectangleCanevas.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/RectangleCanevas.java @@ -20,4 +20,6 @@ public class RectangleCanevas extends Canvas { r.getPositionY()+r.getHeight(), paint); } + + } diff --git a/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java b/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java index 8209eca..a0ce375 100644 --- a/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java +++ b/app/src/main/java/com/iutlaval/myapplication/Video/Renderer.java @@ -11,6 +11,7 @@ import android.view.SurfaceView; import androidx.annotation.NonNull; import com.iutlaval.myapplication.Game.GameLogicThread; +import com.iutlaval.myapplication.Video.Drawables.Drawable; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/res/drawable/batiut.jpg b/app/src/main/res/drawable/batiut.jpg new file mode 100644 index 0000000..d4baa49 Binary files /dev/null and b/app/src/main/res/drawable/batiut.jpg differ diff --git a/app/src/main/res/drawable/elfe_fournisseur.jpg b/app/src/main/res/drawable/elfe_fournisseur.jpg new file mode 100644 index 0000000..b2d2674 Binary files /dev/null and b/app/src/main/res/drawable/elfe_fournisseur.jpg differ diff --git a/app/src/main/res/font/alfa_slab_one.xml b/app/src/main/res/font/alfa_slab_one.xml new file mode 100644 index 0000000..52b8208 --- /dev/null +++ b/app/src/main/res/font/alfa_slab_one.xml @@ -0,0 +1,7 @@ + + + diff --git a/app/src/main/res/layout-land/activity_main.xml b/app/src/main/res/layout-land/activity_main.xml new file mode 100644 index 0000000..b59d2ef --- /dev/null +++ b/app/src/main/res/layout-land/activity_main.xml @@ -0,0 +1,64 @@ + + + + + + + +