view avec tout les piece et le tableau a 2 dimensiosn

pull/6/head
Jolys Enzo 2 years ago
parent 967606061e
commit 335b017435

@ -13,9 +13,14 @@ class Game : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_game)
val view = findViewById<ViewsGame>(R.id.tabGame)
//Pour nettoyer la vue
view.invalidate()
}
}

@ -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<Array<Int>>()
for (i in 0 until nbCaseHauteur) {
var array = arrayOf<Int>()
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)
}
}
Loading…
Cancel
Save