diff --git a/Tetris/app/src/main/java/tetrisGame/activity/Game.kt b/Tetris/app/src/main/java/tetrisGame/activity/Game.kt index c202c2b..a36e80a 100644 --- a/Tetris/app/src/main/java/tetrisGame/activity/Game.kt +++ b/Tetris/app/src/main/java/tetrisGame/activity/Game.kt @@ -13,9 +13,14 @@ class Game : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + setContentView(R.layout.activity_game) val view = findViewById(R.id.tabGame) + + //Pour nettoyer la vue + view.invalidate() + } } \ No newline at end of file diff --git a/Tetris/app/src/main/java/tetrisGame/views/ViewsGame.kt b/Tetris/app/src/main/java/tetrisGame/views/ViewsGame.kt index 909355a..658989e 100644 --- a/Tetris/app/src/main/java/tetrisGame/views/ViewsGame.kt +++ b/Tetris/app/src/main/java/tetrisGame/views/ViewsGame.kt @@ -16,13 +16,59 @@ class ViewsGame(context:Context, attrs: AttributeSet?) : View(context, attrs) { override fun onDraw(canvas: Canvas) { super.onDraw(canvas) - val tailleGrille:Float = 10F + val tailleGrille:Float = 5F val tailleTableauHauteur:Float = measuredHeight.toFloat() val tailleTableauLargeur:Float = measuredWidth.toFloat() val nbCaseLargeur:Int = 7 val nbCaseHauteur:Int = 15 - // Tableau + // Pour remplir le tableau de zero ( a enlever) + var tableau = arrayOf>() + for (i in 0 until nbCaseHauteur) { + var array = arrayOf() + for (j in 0 until nbCaseLargeur) { + array += 0 + } + tableau += array + } + + // Test + // Droite + tableau[0][0] = 1 + tableau[1][0] = 1 + tableau[2][0] = 1 + tableau[3][0] = 1 + // Carré + tableau[0][2] = 4 + tableau[0][3] = 4 + tableau[1][2] = 4 + tableau[1][3] = 4 + // T + tableau[0][5] = 3 + tableau[1][5] = 3 + tableau[1][4] = 3 + tableau[1][6] = 3 + // L Gauche + tableau[2][2] = 5 + tableau[3][2] = 5 + tableau[2][3] = 5 + tableau[2][4] = 5 + // L Droite + tableau[4][4] = 6 + tableau[4][5] = 6 + tableau[4][6] = 6 + tableau[5][6] = 6 + // Escalier Droite + tableau[4][3] = 2 + tableau[4][2] = 2 + tableau[5][2] = 2 + tableau[5][1] = 2 + // Escalier Gauche + tableau[6][3] = 7 + tableau[6][4] = 7 + tableau[7][4] = 7 + tableau[7][5] = 7 + myPaint.color = Color.GRAY canvas.drawRect(0F,0F,tailleTableauLargeur,tailleTableauHauteur,myPaint) // Color @@ -35,26 +81,24 @@ class ViewsGame(context:Context, attrs: AttributeSet?) : View(context, attrs) { canvas.drawLine(tailleTableauLargeur,0F,tailleTableauLargeur,tailleTableauHauteur,myPaint) canvas.drawLine(0F,tailleTableauHauteur,tailleTableauLargeur,tailleTableauHauteur,myPaint) - /* - // tableau Case - myPaint.color = Color.GRAY - var tailleCase:Float = tailleTableauLargeur/nbCaseLargeur - //canvas.drawRect(tailleGrille+tailleCase,0F,tailleGrille,tailleTableauHauteur,myPaint); - for (i in 1..nbCaseLargeur){ - canvas.drawLine(tailleCase*i,0F,tailleCase*i,tailleTableauHauteur,myPaint) + for( ligne in 0 until nbCaseHauteur){ + for ( value in 0 until nbCaseLargeur){ + myPaint.color = Color.GRAY + when(tableau[ligne][value]){ + 1 -> myPaint.color = Color.CYAN + 2 -> myPaint.color = Color.RED + 3 -> myPaint.color = Color.GREEN + 4 -> myPaint.color = Color.BLUE + 5 -> myPaint.color = Color.WHITE + 6 -> myPaint.color = Color.YELLOW + 7 -> myPaint.color = Color.MAGENTA + } + canvas.drawRect((tailleTableauLargeur/nbCaseLargeur)*value+tailleGrille, + (tailleTableauHauteur/nbCaseHauteur)*ligne+tailleGrille, + (tailleTableauLargeur-((tailleTableauLargeur/nbCaseLargeur)*((nbCaseLargeur-value)-1)))-tailleGrille, + (tailleTableauHauteur-((tailleTableauHauteur/nbCaseHauteur)*((nbCaseHauteur-ligne)-1)))-tailleGrille, + myPaint) + } } - - tailleCase = tailleTableauHauteur/nbCaseHauteur - for (i in 1..nbCaseHauteur){ - canvas.drawLine(0F,tailleCase*i,tailleTableauLargeur,tailleCase*i,myPaint) - }*/ - - // Test piece - // Carré - myPaint.color = Color.YELLOW - canvas.drawRect(tailleGrille,tailleGrille,(tailleTableauLargeur/nbCaseLargeur)*2,(tailleTableauHauteur/nbCaseHauteur)*2,myPaint) - - myPaint.color = Color.BLUE - canvas.drawRect((tailleTableauLargeur/nbCaseLargeur)*2+tailleGrille,tailleGrille,(tailleTableauLargeur/nbCaseLargeur)*(nbCaseLargeur-4),(tailleTableauHauteur/nbCaseHauteur)*6,myPaint) } } \ No newline at end of file