Unity3d制作一个简单粗暴的五子棋
最终效果
- 最终效果
- 项目源码
- 绘制棋盘
- 绘制构思
- 绘制代码
- 效果图
- 放置棋子
- 功能和效果
- 功能
- 效果
- 制作棋子
- 定义类和类型
- 棋子类型
- 棋盘格类
- 实现功能
- 初始棋盘格数据
- 创建棋子
- 实时同步棋子位置
- 放置棋子
- 结束判定
- 判定分析
- 结束判定实现
- 完善工程
- 新增UI
- 开始UI
- 结束UI
- 完善代码
- 点击函数
- 结束操作
- 总结
效果是这样的gif动图展示
先把源码贴这 https://download.csdn.net/download/qq_33789001/15743651
绘制棋盘 绘制构思先定一个白色背景,然后盘由黑色的线绘制,
15*15的棋盘 就需要15条横着的线,和15条竖着的线构成。 预制两条横竖的线,那么这两条线的两边分别画7条线。 一个7次的for循环就搞定了。
还有五个点,这个就预制好改一下位置就完成。
绘制代码using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class QiPanCreateor : MonoBehaviour
{
public GameObject LineMH,LineMV;
public GameObject Pnt1, Pnt2, Pnt3, Pnt4;
float width = 40;
void Start()
{
CreatorQiPan();
}
void CreatorQiPan() {
Pnt1.transform.localPosition = new Vector3(-width * 4, -width * 4, 0);
Pnt2.transform.localPosition = new Vector3(width * 4, -width * 4, 0);
Pnt3.transform.localPosition = new Vector3(-width * 4, width * 4, 0);
Pnt4.transform.localPosition = new Vector3(width * 4, width * 4, 0);
for (int i = 0; i = 0; i--)
{
if (QiPanArray[posx, posy].QiTp == QiPanArray[i, posy].QiTp)
{
if (++count >= 5)
return true;
}
else
break;
}
count = 1;
//右上方向检测
for (int i = posx + 1, j = posy + 1; i = 0 && j >= 0; i--,j--)
{
if (QiPanArray[posx, posy].QiTp == QiPanArray[i, j].QiTp)
{
if (++count >= 5)
return true;
}
else
break;
}
count = 1;
//右下方向检测
for (int i = posx + 1, j = posy - 1; i = 0; i++, j--)
{
if (QiPanArray[posx, posy].QiTp == QiPanArray[i, j].QiTp)
{
if (++count >= 5)
return true;
}
else
break;
}
//左上方向检测
for (int i = posx - 1, j = posy + 1; i >= 0 && j = 5)
return true;
}
else
break;
}
return false;
}
这里的两个参数即int posx,int posy,是最后落下棋子所在的格子的下标。
完善工程 新增UI这里新增的两个UI分别是开始UI和结束UI,都是自带的按钮组件和图片组件构成。
开始UI这里主要实现几个按钮的点击功能,已经场景的切换。
点击函数
自己看代码吧:
//开始游戏
public void Play()
{
StartPanel.SetActive(false);
BackBtn.SetActive(true);
isGaming = true;
}
//重新开始
public void RePlay()
{
StartPanel.SetActive(false);
OverPanel.SetActive(false);
BackBtn.SetActive(true);
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?