Android如何自定义View实现五子棋小游戏
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下Android如何自定义View实现五子棋小游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如
千家信息网最后更新 2026年11月02日Android如何自定义View实现五子棋小游戏
小编给大家分享一下Android如何自定义View实现五子棋小游戏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
具体内容如下
代码:
package com.example.fiveson;import java.util.LinkedList;import java.util.List;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.view.MotionEvent;import android.view.View;public class FiveSon extends View { public FiveSon(Context context) { super(context); // TODO Auto-generated constructor stub init(context, null); } public FiveSon(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub init(context, attrs); } public FiveSon(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); // TODO Auto-generated constructor stub init(context, attrs); } private Paint paint = new Paint(); private Paint circlePaint = new Paint(); // 旗子: 信息 代表 第几行 第几列? private List chesses = new LinkedList(); private void init(Context context, AttributeSet attrs) { chesses.add(new int[]{3,5}); chesses.add(new int[]{3,6}); } int spacing = 100; @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); int width = getWidth(); int height = getHeight(); //1 绘制 X 坐标 int num = width / spacing; paint.setColor(Color.BLACK); for(int i=0;i<=num;i++) { canvas.drawLine(spacing*i, 0, spacing*i, height, paint); } num = height/spacing; for(int i=0;i<=num;i++) { canvas.drawLine(0,spacing*i, width,spacing*i, paint); } //2 绘制Y 坐标 //3 绘制 旗子 if(!chesses.isEmpty()) { int count = chesses.size(); for(int i=0;i=(spacing/2)) { colcc++; } if(rowcc>=(spacing/2)) { rowcc++; }// 推断什么时候add int len = chesses.size(); if(len>0) { boolean has = false; for(int i = len-1;i>=0;i--) { int[] chs = chesses.get(i); if(rowNum == chs[0] && colNum == chs[1]) { has = true; break; } } if(!has) { chesses.add(new int[]{rowNum,colNum}); invalidate(); } }else { chesses.add(new int[]{rowNum,colNum}); invalidate(); } isComsumed = true; }else { isComsumed = super.onTouchEvent(event); } return super.onTouchEvent(event); }} 以上是"Android如何自定义View实现五子棋小游戏"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
内容
篇文章
五子棋
小游戏
五子
坐标
旗子
不怎么
代码
代表
信息
大部分
时候
更多
知识
行业
资讯
资讯频道
频道
参考
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
小米移动互联网科技园
互联网科技财经
互联网科技垄断
碳银互联网科技有限公司
广西互联网科技公司
伴你行互联网科技有限公司
互联网系的金融科技公司
互联网公司科技股
辽宁互联网新科技
翼展科技 首家互联网医院
元气玛特互联网科技公司是外包吗
广州富喜互联网络科技
宇信科技在杭州互联网排第几
半导体是互联网高科技吗
昆明中奇联合互联网科技
求路客互联网科技电话
广西泛欧互联网科技有限公司
平安好医生打造互联网科技医疗
互联网科技企业文化
互联网络科技有限公司
奔汉互联网科技
成都狮子座互联网科技
湖南诚度互联网科技有限公司
华夏恒生互联网科技013171
烟台灵鸽互联网科技有限公司
广州千川互联网科技有限公司
上海创道互联网络科技有限公司
扫呗互联网科技有限公司
深圳互联网科技园地址