Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Kotlin和TornadoFX向棋盘添加棋子_Kotlin_Tornadofx - Fatal编程技术网

如何使用Kotlin和TornadoFX向棋盘添加棋子

如何使用Kotlin和TornadoFX向棋盘添加棋子,kotlin,tornadofx,Kotlin,Tornadofx,我目前正在尝试使用TornadoFX在Kotlin开发一款小型棋盘游戏,主要用于练习目的。但我目前正努力将这些片段添加到黑板上。我尝试过许多不同的方法,对我来说似乎是合乎逻辑的,但每次它都会给我一个错误信息或根本不起作用。因此,当我没有想法或可能的解决方案时,我现在在这里请求有关stackoverflow的帮助(有史以来第一次:-) 从控制器向跳棋板添加棋子的最佳方式或最惯用方式是什么?我还应该提到,我以前没有真正使用过JavaFX,所以我正在从头开始学习TornadoFX 以下是我的董事会的观

我目前正在尝试使用TornadoFX在Kotlin开发一款小型棋盘游戏,主要用于练习目的。但我目前正努力将这些片段添加到黑板上。我尝试过许多不同的方法,对我来说似乎是合乎逻辑的,但每次它都会给我一个错误信息或根本不起作用。因此,当我没有想法或可能的解决方案时,我现在在这里请求有关stackoverflow的帮助(有史以来第一次:-)

从控制器向跳棋板添加棋子的最佳方式或最惯用方式是什么?我还应该提到,我以前没有真正使用过JavaFX,所以我正在从头开始学习TornadoFX

以下是我的董事会的观点:

类BoardView:View(“BoardView”)
{
专用val numberOfCells=8
专用val cellSize=100.0
私有val控制器:BoardController by inject()
覆盖val root=窗格{
prefHeight=单元大小*单元数
prefWidth=单元格大小*单元格数
网格窗格{
for(y为0,直到numberOfCells)
{
划船{
for(0中的x,直到numberOfCells)
{
如果((x+y)%2==0)
{
添加(切分格(单元格大小,正数,x,y))
}
其他的
{
添加(ChessCell(单元格大小,假,x,y))
}
}
}
}
}
}
}
我的作品片段:

石头类(光:布尔,x:Double,y:Double):碎片()
{
专用val colorLight=c(“E4”)
专用val COLORDAK=c(“1B1B1B”)
覆盖val root=窗格{
圈{
填充=如果(灯光)
{
色光
}
其他的
{
色暗
}
半径=30.0
centerY=y
中心x=x
}
}
}
最后是我的控制器类:

class BoardController():Controller()
{
私有val板:注入的BoardView()
有趣的开始
{
//如何从这里放置一块石头?
}
}

非常感谢任何帮助经过一周的工作,我终于找到了解决办法。我会把它贴在这里,以防将来有人需要它

我在
BoardView
中添加了以下功能:

fun placeStone(灯光:布尔、xPos:Double、yPos:Double)
{
带(根)
{
此+=石头(灯光、XPO、YPO)
}
} 
我在我的
BoardController
中更改了我的函数
startGame()

fun startGame()
{
对于(0中的x到8)
{
对于(y在0到8之间)
{
如果((x+y)%2!=0)
{
if(y<3)
{
板。砂石(假,x,y)
}
如果(y>4),则为else
{
板.砂石(真、x、y)
}
}
}
}
}

欢迎!对不起,你问的不是我们的事。请查看并从中删除。“演示如何解决此编码问题?”与堆栈溢出无关。您必须诚实地尝试解决方案,然后询问有关实现的具体问题。堆栈溢出不是为了取代现有的教程或文档,也不是为您完成研究、设计或编码工作的一种方式。@Steve抱歉,但即使查看了链接,我仍然没有发现我的问题有任何错误。我也不想把我的研究外包出去。TornadoFX文档非常基础,不是很深入,我还没有在web上发现其他人有类似的问题。我不是在这里要求完美的工作代码,一点提示或提示,我应该看看TornadoFX的什么方法和/或概念,谁会很好。我不会在这里问我是否还有更多的想法或解决方案……人们在这里回答最基本的R问题。我不明白为什么这个Q有什么不同。我承认:这是深奥的。