五子棋-单机游戏-微信小游戏项目开发入门

article/2025/9/20 15:50:17

关于这个文章能看懂的条件,需要读者具备如下三个条件:

  1. 熟悉 HTML
  2. 熟悉 HTML 中的 Canvas
  3. JavaScript基础 以及ES5以上

这是一个五子棋游戏的实现方案,在微信小程序上运行,如有需要可参考此学习,实现逻辑不是很复杂,且代码数量不多,很适合新手入门学习哦。

首先,请打开电脑中的微信小程序开发工具,选择小游戏,然后新建,如下图,
若要做小程序的,请在文章底部查看
在这里插入图片描述

新建的小游戏项目大致如下,笔者这里是精简过的,会看到有个game.js文件,这个是小游戏执行的入口,将game.js文件打开,如果有代码内容,那就全部清空吧,下面开始从这个文件中写代码。
在这里插入图片描述

PS: 笔者猜到很多读者可能是新手,其心里可能会想:新建的小游戏项目是个打飞机的游戏例子,而项目文件太多了,对新手入门来说,会不会觉得眼花,那有很多不相关的文件就删除吧,只保留下图中的项目文件一样就可以了,精简后整个干净了

注意,游戏主要逻辑都写到./js/main.js 里的,这个先不看,后面用到时会使用这一行导入游戏逻辑

import Main from './js/main.js';

在写游戏逻辑准备前,需要先从wx接口API中拿到画布Canvas,如下

const canvas = wx.createCanvas();

接着,定义好一个用于渲染的配置

const render = {ctx: canvas.getContext('2d'),//2d context 绘制画布的是ctxwidth: canvas.width,//画布宽度height: canvas.height,//画布高度top: 80,//距离上边距
};

接着,定义游戏相关的配置

const config = {cols: 20, //自己设置,每一行铺满的棋子数
};

接着,定义个方法,用于监听游戏产生的事件

function listener(event) {switch (event) {case 'end': //游戏结束事件//...default:console.log('other event', event);}
}

接下来是用到游戏逻辑对象类 Main ,项目结构如下图,通过 import ./js/main.js 导入过来就可以用了,在开始写的地方有写了import …
在这里插入图片描述

然后,写初始化游戏实例game,将上面定义好的render, config, listener都以参数形式传进去,

var game = new Main(render, config, listener);

再定义一个方法,处理触摸事件

function touchHandler(event) {
//...
}
//处理触摸开始的方法添加到画布canvas中
canvas.addEventListener('touchstart', touchHandler);

以下是游戏的其它功能,如游戏截图的方法

function saveToImage() {
//...
}

最后,就是重点写游戏逻辑Main的实现了, 稍微复杂一些,打开笔者项目中的./js/main.js,会看到笔者写好的代码大致如下,

'use strict';//定义个性化颜色常量
const Colors = {BgColor: '#FFFFFF',//页面背景色BorderColor: '#000000',//网格线框色BgColor2: '#DDC58D',//棋盘背景色
}
//定义游戏的事件常量
const GameEvent = {onEnd: 'end'
}
//canvas font 字体的单位常量
const FontUnit = 'px sans-serif';
/**
* 五子棋游戏主要逻辑
*/
export default class Main {//构造方法,需要传入三个参数,上面有讲了constructor(render,config,listener){//初始化游戏布局const initLayout = () => {const { ctx, width, height, top } = this.render;const { cols } = this.config;ctx.fillStyle = Colors.BgColor;ctx.strokeStyle = Colors.BorderColor;ctx.fillRect(0,0,width,height);ctx.fillStyle = Colors.BgColor2;//游戏的棋子集合const grids = [];//...for(let i=0; i<cols; i++){for(let j=0; j<cols; j++){//...grids.push(g);}}//...开始游戏gameStart();};//画棋子,白棋或黑棋this.showFlag = (gs) => {//...if (isMyFlag) {ctx.fillStyle = '#ffffff';//白棋} else {ctx.fillStyle = '#000000';//黑棋}//...this.isMyFlag = !isMyFlag;};//扫描棋子数this.scan = (gs,offset) => {//...};//游戏结束处理this.gameEnd = () => {//...};//游戏开始,刷新的const gameStart = () => {//...ctx.fillStyle = '#000000';//字体色ctx.font = fontSize + 'px ' + FontUnit;//...};initLayout();//定时器,可当作是游戏的时钟this.timer = setInterval(() => {gameStart();//...}, 1100);}//处理触摸的方法touchStart(touch){//...this.showFlag(gs);let count = this.scan(gs, { a: 1, b: 0 });//...// 如果一方棋子排列达到5个(超出4个)就会判断胜利(游戏结束)if (count >= 4) this.gameEnd();}//销毁用,退出游戏并关闭定时器destory(){if (this.timer) {clearInterval(this.timer);}}}

就写到这了,大致实现步骤已说明了,具体实现方法建议自己构思来写,如需要看详细的代码请在评点击此处去下载,遇到有问题请留言,笔者会抽空查看并回复的,感谢耐心看完!

下面是笔者小游戏运行后的效果截图,五子棋随便下,等哪天遇到对手,来个五子棋PK~,
第一个是小游戏项目截图,第二个是小程序项目截图 项目源码下载

在这里插入图片描述
在这里插入图片描述

项目基础

在此项目基础修改的另一个项目是 围棋游戏,与上面运行效果一样,只是玩法不同,

还有一个项目是 井字棋游戏,相信在座的各位读者小时候都玩过,那么运行效果如下
在这里插入图片描述
项目源码有的,点此查看,在资源一栏下去找(手机上可能找不到资源一栏,请用电脑浏览器查看)


http://chatgpt.dhexx.cn/article/2Y4IrEgT.shtml

相关文章

C/C++:实现象棋游戏

大体思路 采用面相过程的设计方式实现&#xff0c;类似于我们平时做的课程设计&#xff0c;实现这样的小游戏无非就是多了图形处理库。这里使用的是acllib图形库。 设计这种小游戏&#xff0c;首先要从宏观上去认识&#xff1a;象棋&#xff0c;要有棋盘&#xff0c;要有棋子&a…

基于Android的五子棋游戏APP设计

目 录 第一章&#xff1a;绪论 1 1.1智能手机与Android系统的发展历程 1 1.1.1 智能手机 1 1.1.2 Android系统基本情况介绍 2 1.2课题现状及应用前景 3 1.2.1 五子棋简介 3 1.2.2 课题现状及应用前景 3 第二章&#xff1a;开发环境的搭建 5 2.1 系统开发环境 5 2.2 系统开发环境…

棋类游戏-五子棋小游戏

​ 活动地址&#xff1a;CSDN21天学习挑战赛 界面效果&#xff1a; 实现&#xff1a; 第一步&#xff1a;定义好设计该游戏要用到的组件以及相关数据&#xff1b; 第二步&#xff1a;组装组件&#xff0c;给组件设置相对应的功能&#xff1b; 第三步&#xff1a;调用init()方…

基于c语言的象棋游戏

一、主要目标&#xff1a; 1.1&#xff1a;鼠标控制。 1.2&#xff1a;各棋子按照象棋规则移动 1.3&#xff1a;判断双方胜负 注&#xff1a;本设计使用vs-2017运行。需要下载graphics.h库。 二、基本流程 2.1 棋牌展示 直接输出棋盘背景图片&#xff0c;包含方格线、“楚…

【Unity连载】斗兽棋—棋类游戏开发演示(1)

序言 “黄梅时节家家雨&#xff0c;青草池塘处处蛙。有约不来过夜半&#xff0c;闲敲棋子落灯花。” “象棋终日乐悠悠&#xff0c;苦被严亲一旦丢。兵卒坠河皆不救&#xff0c;将军溺水一齐休。马行千里随波去&#xff0c;象入三川逐浪游。炮响一声天地震&#xff0c;忽然惊…

简单的象棋开发

我们需要准备的知识是c语言基础和easyx图形: easyx官网&#xff1a; https://easyx.cn/ 首先头文件少不了: #include<stdio.h>(c语言的头文件) #include<graphics.h>&#xff08;easyx的&#xff09; #include<mmsystem.h>&#xff08;音乐播放的&#x…

Java游戏开发 —— 五子棋

引言&#xff1a; 五子棋的代码实现很简单&#xff0c;难的是计算机的AI算法&#xff0c;在网上找了很多资料&#xff0c;费了好半天劲才弄明白其实现的原理&#xff0c;真的挺开阔思路的&#xff0c;很有意思&#xff01; 思路&#xff1a; 1、创建主窗口&#xff0c;加载菜单…

编程小游戏之三子棋

三子棋是一个民间的益智小游戏&#xff0c;游戏分为双方对战&#xff0c;双方依次在9宫格棋盘上摆放棋子&#xff0c;率先将自己的三个棋子连成一条线的一方则视为胜利者。下面将说明如何利用C语言在我们的计算机上简单的实现三子棋。 1.逻辑框架设计 在vs上创建两个.c文件test…

【C语言】三子棋游戏的实现(玩家VS玩家 or 玩家VS电脑)

目 录 一、三子棋游戏介绍 二、游戏功能函数分析 1 菜单显示函数 2 菜单选择函数 3 选择确认函数 4 显示当前棋盘状态函数 5 棋盘初始化函数 6 玩家下棋函数 7 电脑下棋函数 8 棋局状态判断函数 三、游戏功能函数的整合 四、三子棋游戏的实现 五、游戏…

安卓做的棋类游戏

大方大斜 前言一、直接上图二、游戏主要代码1.界面绘制代码2.游戏触摸事件代码 最后 前言 安卓制作棋类游戏&#xff0c;小时候和发小在地上画棋盘&#xff0c;有树叶或者树枝做棋子。 一、直接上图 二、游戏主要代码 1.界面绘制代码 双人界面绘制&#xff0c;主要代码代码如…

基于java的五子棋游戏设计

技术&#xff1a;Java、JSP等摘要&#xff1a;随着互联网迅速的发展&#xff0c;网络游戏已经成为人们普遍生活中不可或缺的一部分&#xff0c;它不仅能使人娱乐&#xff0c;也能够开发人的智力&#xff0c;就像本文所主要讲的五子棋游戏一样能挖掘人们聪明的才干与脑袋的机灵程…

自己设计的棋类游戏

1、构思&#xff1a; 象棋、国际象棋、井字棋等 我一开始的设计是这个样的&#xff1a;一个5x5的棋盘&#xff08;之后变成7x7&#xff09;&#xff0c;所有棋子摆成一个井字 棋子有两种&#xff0c;一种兵一种王&#xff0c;中间用中立的棋子&#xff0c;就叫box来隔开他们 …

Java围棋游戏的设计与实现

技术&#xff1a;Java等 摘要&#xff1a; 围棋作为一个棋类竞技运动&#xff0c;在民间十分流行&#xff0c;为了熟悉五子棋规则及技巧&#xff0c;以及研究简单的人工智能&#xff0c;决定用Java开发五子棋游戏。主要完成了人机对战和玩家之间联网对战2个功能。网络连接部分为…

【国际象棋】棋盘游戏-微信小程序开发流程详解

与中国象棋类似的&#xff0c;还有国际象棋&#xff0c;知道有人爱玩&#xff0c;于是凭着好奇心&#xff0c;网上研究了一下&#xff0c;跟中国象棋有相似之处&#xff0c;玩法是有些许不一样&#xff0c;不知道象棋最早出于谁之手呢&#xff0c;抽空做一做&#xff0c;最终完…

利用C语言巧妙实现棋类游戏——三子棋

小游戏&#xff1a;三子棋用C语言实现 你是否学完了C语言的函数、数组、选择结构、循环结构苦于没有实战小项目巩固自己所学的知识呢&#xff0c;今天小程序猿就给大家带来了一个游戏的小游戏——三子棋&#xff0c;利用C语言实现的&#xff0c;希望对大家能有所帮助。 我们大家…

基于C#的五子棋游戏设计

目 录 一、 毕业设计内容 3 二、 毕业设计目的 3 三、 工具/准备工作 3 四、 设计步骤和方法 3 &#xff08;一&#xff09; 总体设计 3 1&#xff0e; 总体设计思路及设计图 3 2&#xff0e; 界面设计 4 3&#xff0e; 全局变量设计 4 &#xff08;二&#xff09; 详细设计 5 …

【Unity连载】斗兽棋-棋类游戏开发演示(2)

第四章 游戏操作与指令 如同养育一个婴儿&#xff0c;父母总会一步步引领孩子成长&#xff0c;从蹒跚学步到来去如风&#xff1b;我们对游戏功能的开发&#xff0c;也无疑应当从走出第一步棋开始。现在&#xff0c;我们已经构建出了棋盘、棋子等基本的游戏逻辑对象&#xff1b…

Java游戏开发——中国象棋联机版

游戏介绍&#xff1a; 中国象棋是起源于中国的一种棋戏&#xff0c;属于二人对抗性游戏的一种&#xff0c;在中国有着悠久的历史。由于规则简单&#xff0c;趣味性强&#xff0c;成为流行极为广泛的棋类游戏。 中国象棋使用方形格状棋盘及红黑二色圆形棋子进行对弈&#xff0c…

【论文】word中三线表的快速简单制作

【论文】word中三线表的快速简单制作 首先&#xff0c;打开word点击插入→表格&#xff0c;选择需要插入表格的行列数&#xff0c;行列数没有关系&#xff0c;因为你插入后可以随意添加行列。 则插入了一下表格&#xff1a; 把你所需要的数据放进去&#xff1a; 之后&#…

如何在word中制作线宽不同的三线表

在word中难免会插入特定的三线表&#xff0c;那就现场给给大家演示一遍 1、打开word&#xff0c;点击插入&#xff0c;点击表格&#xff0c;至于插入几行几列看自己的需求哈。 2、右键点击表格&#xff0c;然后点击表格属性 3、点击边框和底纹&#xff0c;对表格去除相关边线 …