如何使用android自定义View实现五子棋
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章将为大家详细讲解有关如何使用android自定义View实现五子棋,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下代码:*protected vo
千家信息网最后更新 2025年02月22日如何使用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安全错误
数据库的锁怎样保障安全
服务器连接错误请求不可用
关系数据库设计技术
本地安全账户数据库
我的世界斗罗服务器最强斗罗是谁
f2812的软件开发环境
网络技术应用教材内容
网络安全信息报送机制
pi数据库巡检
重庆工控软件开发多少钱
中考热点专题网络安全
惠普dl380服务器改装
网络安全天津博览会
邮件服务器 imail
网络安全edr是什么意思
软件开发毕业答辩ppt范文
开展网络安全应急演练 强化
深圳ibm服务器维修
虚拟专用网络技术应用
网络安全公司财务制度
汕头条码防呆软件开发
服务器怎么备份
上财网络技术中心待遇
邯郸企业软件开发哪家正规
易乐游服务器设置
db5 数据库
网络安全专家组
数据库设置主键自增长
小白数据库小米10s
谷歌服务器怎么连接视频
久黎网络技术有限公司