【问题标题】:Create a 2d Array for a maze game with Kotlin使用 Kotlin 为迷宫游戏创建 2d 数组
【发布时间】:2019-06-07 00:50:36
【问题描述】:

所以我有一个名为 Cell 的类,我想创建一个对象矩阵 Cell,但我卡住了,迷路了,这是我到目前为止得到的,但它不起作用

我如何以正确的方式做到这一点?谢谢

class GameView(context: Context?, attrs: AttributeSet?) : 
View(context, attrs) {

private val COLS:Int = 7
private val ROWS: Int = 10


fun createMaze(){

    //this gives me an error Type inference failed. Expected type 
    //mismatch: 
    //required:
    //Array<Array<Cell>>
    //found:
    //Array<IntArray>

    var cells: Array<Array<Cell>>  = Array(COLS, {IntArray(ROWS)})

    for(x in 0..COLS){
        for(y in 0..ROWS){
            cells[x][y] = Cell(x,y)
        }
    }

}

}

class Cell(var col:Int, var row: Int){
    var topWall = true
    var leftWall = true
    var bottomWall = true
    var rightWall = true

}

【问题讨论】:

    标签: android arrays class matrix kotlin


    【解决方案1】:

    您将单元格类型定义为Array&lt;Array&lt;Cell&gt;&gt;,但初始化为Array&lt;IntArry&gt;

    我认为只有一点点变化:

       class Cell(var col:Int=0, var row: Int=0){
            var topWall = true
            var leftWall = true
            var bottomWall = true
            var rightWall = true
    
        }
       var cells: Array<Array<Cell>>  = Array(COLS, {Array<Cell>(ROWS, {Cell()})})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 1970-01-01
      相关资源
      最近更新 更多