如何使用android自定义View实现五子棋
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章将为大家详细讲解有关如何使用android自定义View实现五子棋,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下代码:*protected vo
千家信息网最后更新 2025年01月20日如何使用android自定义View实现五子棋
这篇文章将为大家详细讲解有关如何使用android自定义View实现五子棋,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体内容如下
代码:
*protected void onDraw(Canvas canvas) { super.onDraw(canvas); RectF rectF; for(int i= pandingx ; i < pandingx*7 ; i+=size){ for(int z= pandingy ; z < pandingy*30 ; z+=size){ rectF = new RectF(i , z , i+size , z +size); canvas.drawRoundRect(rectF , 1 ,1 ,paint); } } for(int i = 0 ; i这里首先画出了一个棋盘,下的棋子就放在了一个ArrayList中,里面放的是一个个的map,分别放了x,y坐标还有他的属性(黑棋还是白棋),还有就是边界的处理问题,很简单我就不多说啦,毕竟是下棋的这个控件一定要是可以点的,不能只能看看那么简单。
public boolean onTouchEvent(MotionEvent event) { int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN://按下 x = pandingx+size; y = pandingy+size; xx = event.getX(); yy = event.getY(); invalidate(); break; case MotionEvent.ACTION_MOVE://移动 if(abs(event.getRawX()-xx)>=30){ if(event.getRawX()>xx&&JudgeRight() == true){ x += size; xx = event.getRawX(); yy = event.getRawY(); }else if(JudgeLeft() == true){ x -= size; xx = event.getRawX(); yy = event.getRawY(); } invalidate(); } if(abs(event.getRawY()-yy)>=30){ if(event.getRawY()>yy&&JudgeButtom() == true){ y += size; xx = event.getRawX(); yy = event.getRawY(); }else if(JudgeTop() == true){ y -= size; xx = event.getRawX(); yy = event.getRawY(); } invalidate(); } break; case MotionEvent.ACTION_UP://松开 int i; for( i = 0 ; i < list.size() ; i++){ if(x == (int)list.get(i).get("x")&&y == (int )list.get(i).get("y")){ toast.repice(); break; } } if(i == list.size()) { Map map = new HashMap(); map.put("x", x); map.put("y", y); map.put("flag", flag); list.add(map); flag = (flag + 1) % 2; if(deal.setPiont((x-pandingx)/size , (y-pandingy)/size , flag+1)!=0){ if(deal.setPiont((x-pandingx)/size , (y-pandingy)/size , flag+1) ==1){ toast.winblack(); } if(deal.setPiont((x-pandingx)/size , (y-pandingy)/size , flag+1) == 2){ toast.winwhite(); } list.clear(); init(); } x = -100; y = -100; invalidate(); } break; } return true;}大概就是介个样子的,实现了手指落下,滑动,还有抬起动作的监听,看上去有点乱,但是大概就是这么个意思,里面的deal类是我把已经下的棋子放到了一个二维数组中在里面单独处理,来判断他们到底有没有五子连珠,好啦大概就只有这些了!
关于"如何使用android自定义View实现五子棋"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
五子
就是
篇文章
五子棋
内容
更多
棋子
处理
不错
实用
代码
动作
只有
坐标
属性
意思
手指
控件
数组
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
商务企业内部网络安全
淘宝订单数据库设计
新承网络技术有限公司
证书怎么入国家人才数据库
网络安全从本质上讲是保证
sql数据库测试版激活
南通精益管理软件开发
网络安全活动周2020
温州综合服务管理软件开发
网络安全相关培训职业前景好
北京联速网络技术有限公司
vs2010数据库编程
青浦区参考网络技术创新服务
服务器分身
广东通信软件开发源头好货
惠州市益佳网络技术有限公司
绝地求生未来之翼炸服务器
服务器端构建vue代码
set服务器上文件怎么下载
银行卡数据库下载
烟台从聚网络技术
昶禾互联网科技
hp服务器温度
广东通信软件开发源头好货
苹果12链接服务器不成功
周村企业管理erp软件开发
在哪里可以学软件开发
网络安全怎样写的
网络安全法 图片
网络技术教案大全