使用芬兰湾的科特林怎么实现一个五子棋单机游戏

  介绍

使用芬兰湾的科特林怎么实现一个五子棋单机游戏?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

五子棋界面

package  wjc.kotlintest      import  android.content.Context   import  android.graphics.Canvas   import  android.graphics.Color   import  android.graphics.Paint   import  android.util.AttributeSet   import  android.view.View         class  MyCustomView : View  {      ,var 油漆:Paint =,油漆()   ,var  paintWhite: Paint =,油漆()   ,var  paintBlack: Paint =,油漆()   ,val  H: Int =, 12   ,val  V: Int =, 12   ,var  list =, arrayListOf()//白子和黑子   ,var  listW =, arrayListOf()//白子   ,var  listB =, arrayListOf()//黑子      ,var  wSuccess: Boolean =, false //白旗获胜标志   ,var  bSuccess: Boolean =, false //黑棋获胜标志      ,init  {   paintWhite.color 才能=Color.WHITE   paintWhite.style 才能=Paint.Style.FILL   paintBlack.color 才能=Color.BLACK   paintBlack.style 才能=Paint.Style.FILL   ,}      ,构造函数(上下文:上下文),:,这(上下文,null)   ,构造函数(上下文:上下文,attr:, AttributeSet ?),:,这(上下文,attr,, 0)   ,构造函数(上下文:上下文,attr:, AttributeSet ?,, defStyleAttr:, Int),:,超级(attr,上下文,还以为;defStyleAttr)      ,override  fun  onMeasure (widthMeasureSpec: Int, heightMeasureSpec:, Int), {   super.onMeasure才能(widthMeasureSpec, heightMeasureSpec)   val 才能widthMode: Int =, MeasureSpec.getMode (widthMeasureSpec)   val 才能widthSize: Int =, MeasureSpec.getSize (widthMeasureSpec)   val 才能heightMode: Int =, MeasureSpec.getMode (heightMeasureSpec)   val 才能heightSize: Int =, MeasureSpec.getSize (heightMeasureSpec)   if 才能;(widthMode ==, MeasureSpec.AT_MOST ,,, heightMode ==, MeasureSpec.AT_MOST), {   ,,setMeasuredDimension (760,, 760)   ,,},else  if  (widthMode ==, MeasureSpec.AT_MOST), {   ,,setMeasuredDimension (760, heightSize)   ,,},else  if  (heightMode ==, MeasureSpec.AT_MOST), {   ,,setMeasuredDimension (widthSize, 760)   ,,}   ,}      ,override  fun 画(帆布,帆布?),{   super.draw才能(帆布)   for 才能;(小姐:0 . . H)拷贝,{   ,,帆布! ! .drawLine (20 f, 20 f  +, 60, *,我,,740 f,, 20 f  +, 60, *,我,,油漆)   ,,}   for 才能;(j 拷贝0 . . V), {   ,,帆布! ! .drawLine (20 f  +, 60, *, j, 20 f, 20 f  +, 60, *, j, 740 f,,油漆)   ,,}   if 才能;(listW.size  !=, 0), {   ,,for  (item  listW拷贝),{   ,,,帆布! ! .drawCircle (item.point.x  *, 60, +, 20 f, item.point.y  *, 60, +, 20 f, 15 f, paintWhite)      ,,}   ,,}   if 才能;(listB.size  !=, 0), {   ,,for  (item  listB拷贝),{   ,,,帆布! ! .drawCircle (item.point.x  *, 60, +, 20 f, item.point.y  *, 60, +, 20 f, 15 f, paintBlack)   ,,}   ,,}   ,}      ,fun  addData(数据:数据),{   if 才能;(list.size ==, 0), {   ,,list.add(数据)   ,,listW.add(数据)   ,才能回来   ,,}   if 才能;(!选择(数据)),{   ,,list.add(数据)   ,,if  (listW.size ==, listB.size), {   ,,,//白旗是否获胜   ,,,wSuccess =, isSuccess(数据,listW)   ,,,//白旗走   ,,,listW.add(数据)   ,,},{else    ,,,//黑棋是否获胜   ,,,bSuccess =, isSuccess(数据,listB)   ,,,//黑棋走   ,,,listB.add(数据)   ,,}   ,,}   ,}      ,fun 选择(数据:数据):,Boolean  {   for 才能;(item 拷贝列表),{   ,,if  (data.equals(项目))   ,,,return 真实的   ,,}   return 才能;错误的   ,}      ,fun  isSuccess(数据:数据,进行:,List):, Boolean  {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用芬兰湾的科特林怎么实现一个五子棋单机游戏