风君子博客

  • 首页
  • 业界
  • 前端
  • 运维
  • 建站
  • 软件
  • 生活
  • 后端
  • 创投
  • 运营
  • 程序人生
    • 影视
    • 游戏
    • 句子
    • bootstrap4教程
    • 资源
    • 日期计算器
  • 其他
    • 说说
    • 关于本站
  1. 首页
  2. 前端
  3. 正文

js实现简单五子棋游戏源码

2018年11月9日 4998点热度 0人点赞 0条评论

实现代码1:

<!-- //html和css -->
<!DOCTYPE html>
<html lang="en">
	<!-- Head -->
	<head>
		<meta charset="UTF-8">
		<title>五子棋</title>
		<!-- css -->
		<style type="text/css">
			#container {
				width: 531px;
				height: 645px;
				margin: 0 auto;
				border: 1px solid blue;
				background: url(qipan.jpg) no-repeat;
				padding-top: 0px;
				padding-left: 5px;
			}

			td {
				width: 40px;
				height: 33px;
			}

			table {
				border-collapse: collapse;
				width: 525px;
				height: 465px;
			}
		</style>
		<!-- css ends -->
		<!-- script -->
		<script src="wuzi.js"></script>
		<!-- script ends -->
	</head>
	<!-- Head Ends -->
	<!-- Body -->
	<body>
		<!-- Container -->
		<div id="container">
			<!-- table model -->
			<table>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
				<tr>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
					<td>&nbsp;</td>
				</tr>
			</table>
			<!-- 控件模块 -->
			<br>
			<div>
				<p>&nbsp;当前棋手:
					<img id="qizi" src="">
					<input type="button" value="黑棋先行" onclick="status1()">
					<input type="button" value="白棋先行" onclick="status2()">
					<input type="button" value="再来一局" onclick="window.location.href=window.location">
					<input type="button" value="退出游戏" onclick="closeFunction()">
				</p>
			</div>
		</div>
		<!-- Container Ends -->
	</body>
	<!-- Body Ends -->
</html>

<script type="text/javascript">
	//js部分代码
	/*状态事件*/

	function status1() {
		document.getElementById('qizi').src = "black.png";
	}

	function status2() {
		document.getElementById('qizi').src = "white.png";
	}

	/* 控件事件 */
	function closeFunction() {
		if (confirm("是否退出游戏?")) {
			window.close();
		} else {
			history.back();
		}
	}

	/* 判断输赢 */
	var cnt = (function() {
		var curr = 'black';
		return function() {
			var tmp = curr;
			if (curr == 'black') {
				curr = 'white';
			} else {
				curr = 'black';
			}
			return tmp;
		}
	})();

	var tds = document.getElementsByTagName('td');
	var iswin = false; // 有没有分出胜负

	// 负责下棋,即改变单元格的背景
	var xia = function() {
		// 判断是否已分出胜负
		var color = cnt();
		if (iswin) {
			alert('游戏结束!');
			return;
		}
		if (this.style.background.indexOf('.png') >= 0) {
			alert('不能重复放置棋子!');
			return;
		}
		this.style.background = 'url(' + color + '.png)';
		judge.call(this, color); // 下完棋后判断胜负
	}

	// 判断胜负的函数
	var judge = function(color) {
		// 找当前这颗棋的坐标
		// td在tr中索引,即是横坐标
		// tr是table的索引,即是纵坐标
		var curr = {
			x: this.cellIndex,
			y: this.parentElement.rowIndex,
			color: color
		};
		var line = ['', '', '', '']; //分别放置横,竖,左右下斜上棋
		// 循环225单元格
		for (var i = 0, tmp = {}; i < 225; i++) {
			// 取当前循环到的这颗棋的坐标
			tmp = {
				x: tds[i].cellIndex,
				y: tds[i].parentElement.rowIndex,
				color: '0'
			};

			// 取当前循环到的这颗棋的颜色,分别b,w 0(空)来表示
			if (tds[i].style.background.indexOf('black') >= 0) {
				tmp.color = 'b';
			} else if (tds[i].style.background.indexOf('white') >= 0) {
				tmp.color = 'w';
			}

			if (curr.y == tmp.y) {
				// 在一个横线上
				line[0] += tmp.color;
			}
			if (curr.x == tmp.x) {
				// 在一个竖线上
				line[1] += tmp.color;
			}
			if ((curr.x + curr.y) == (tmp.x + tmp.y)) {
				//在左斜线上
				line[2] += tmp.color;
			}
			if ((curr.x - tmp.x) == (curr.y - tmp.y)) {
				//在右斜线上
				line[3] += tmp.color;
			}
		}
		// 判断4条线上,有没有连续的4个w,或4个b
		color = color == 'black' ? 'bbbbb' : 'wwwww'; //赢家的颜色

		for (var i = 0; i < 4; i++) {
			if (line[i].indexOf(color) >= 0) {
				alert(color + '胜了!(b表示黑方胜,w表示白方胜)');
				iswin = true; // 标志已经分出胜负
				break;
			}
		}
	}
	window.onload = function() {
		document.getElementsByTagName('table')[0].onclick = function(ev) {
			// 1. 下棋
			// 2. 判断胜负
			xia.call(ev.srcElement);
		};
	}
</script>

 

效果演示如下图:
js实现简单五子棋游戏源码-风君子博客

实现代码2:

<!DOCTYPE html>
<html>
	<head lang="en">
		<meta charset="UTF-8">
		<title></title>
		<style>
			* {
padding: 0;
margin: 0;
}
canvas {
margin: 10px;
border: 2px solid #000;
}
#box {
display: inline-block;
position: absolute;
margin-top: 200px;
margin-left: 100px;
}
span {
font: 24px "微软雅黑";
display: inline-block;
height: 50px;
}
input {
margin-top: 30px;
display: block;
width: 100px;
height: 50px;
font: 16px "微软雅黑";
color: #fff;
background-color: #0099cc;
}
</style>
	</head>
	<body>
		<canvas width="640" height="640" id="cas">
			您的浏览器不支持canvas,请升级到最新的浏览器
		</canvas>
		<div id="box">
			<span id="txt"></span>
			<input type="button" id="btn" value="重新开始" />
		</div>

		<script>
			var flag = true; //true代表白棋下的棋子,false代表黑棋下的棋子
			var isWin = false; //判断是否结束,true结束,false没有结束
			var step = 40; //设置每个格子的宽高都是40

			var txt = document.getElementById("txt");
			var btn = document.getElementById("btn");
			var cas = document.getElementById("cas"); // 获取画布对象
			var ctx = cas.getContext("2d"); //画布上下文

			// 创建图片对象
			var img_b = new Image();
			img_b.src = "imgs/b.png"; //设置黑棋图片路径
			var img_w = new Image();
			img_w.src = "imgs/w.png"; //设置白棋图片路径

			// 用二维数组来保存棋盘,0代表没有走过,1为白棋走过,2为黑棋走过
			var arr = new Array(15); //声明一个一维数组
			for (var i = 0; i < 15; i++) {
				arr[i] = new Array(15); //每个值再声明一个一维数组,这样就组成了一个二维数组
				for (var j = 0; j < 15; j++) {
					arr[i][j] = 0;
				}
			}

			//绘制棋盘
			function drawLine() {
				for (var i = 0; i < cas.width / step; i++) {
					// 画竖线
					ctx.moveTo((i + 1) * step, 0);
					ctx.lineTo((i + 1) * step, cas.height);
					// 画横线
					ctx.moveTo(0, (i + 1) * step);
					ctx.lineTo(cas.width, (i + 1) * step);
					ctx.stroke();
				}
			}
			//获取鼠标点击的位置
			cas.onclick = function(e) {
				// 先判断游戏是否结束
				if (isWin) {
					alert("游戏已经结束,请刷新重新开始!");
					return 0;
				}
				//判断棋子显示的地方,四条边上不显示棋子,
				//鼠标点击的位置减去边框距离页面的上和左的距离(10),减去一个格子宽高的一半(20)
				var x = (e.clientX - 10 - 20) / 40;
				var y = (e.clientY - 10 - 20) / 40;

				//进行取整来确定棋子最终显示的区域
				x = parseInt(x);
				y = parseInt(y);
				//如果超出棋盘或者在棋盘边界直接返回,边界上不能画棋子
				if (x < 0 || x >= 15 || y < 0 || y >= 15) {
					return;
				}
				//进行判断该位置是否已经显示过棋子
				if (arr[x][y] != 0) {
					alert("你不能在这个位置下棋");
					return;
				}
				// 判断是显示黑子还是白子
				if (flag) { //白子
					flag = false; //将标志置为false,表示下次为黑子
					drawChess(1, x, y); //调用函数来画棋子

				} else { //黑子
					flag = true; //将标志置为true,表示下次为白子
					drawChess(2, x, y); //调用函数来画棋子

				}
			}
			//画棋子
			function drawChess(num, x, y) {
				//根据x和y确定图片显示位置,让图片显示在十字线中间,因为一个格子为40,图片大小为30,所以40-30/2等于25,所以需要加上25
				var x0 = x * step + 25;
				var y0 = y * step + 25;
				if (num == 1) {
					//绘制白棋
					ctx.drawImage(img_w, x0, y0);
					arr[x][y] = 1; //白子
				} else if (num == 2) {
					// 绘制黑棋
					ctx.drawImage(img_b, x0, y0);
					arr[x][y] = 2; //黑子
				}
				//调用函数判断输赢
				judge(num, x, y);
			}
			//判断输赢
			function judge(num, x, y) {
				var n1 = 0, //左右方向
					n2 = 0, //上下方向
					n3 = 0, //左上到右下方向
					n4 = 0; // 右上到左下方向
				//***************左右方向*************
				//先从点击的位置向左寻找,相同颜色的棋子n1自加,直到不是相同颜色的棋子,则跳出循环
				for (var i = x; i >= 0; i--) {
					if (arr[i][y] != num) {
						break;
					}
					n1++;
				}
				//然后从点击的位置向右下一个位置寻找,相同颜色的棋子n1自加,直到不是相同颜色的棋子,则跳出循环
				for (var i = x + 1; i < 15; i++) {
					if (arr[i][y] != num) {
						break;
					}
					n1++;
				}
				//****************上下方向************
				for (var i = y; i >= 0; i--) {
					if (arr[x][i] != num) {
						break;
					}
					n2++;
				}
				for (var i = y + 1; i < 15; i++) {
					if (arr[x][i] != num) {
						break;
					}
					n2++;
				}
				//****************左上到右下斜方向***********
				for (var i = x, j = y; i >= 0, j >= 0; i--, j--) {
					if (i < 0 || j < 0 || arr[i][j] != num) {
						break;
					}
					n3++;
				}
				for (var i = x + 1, j = y + 1; i < 15, j < 15; i++, j++) {
					if (i >= 15 || j >= 15 || arr[i][j] != num) {
						break;
					}
					n3++;
				}
				//****************右上到左下斜方向*************
				for (var i = x, j = y; i >= 0, j < 15; i--, j++) {
					if (i < 0 || j >= 15 || arr[i][j] != num) {
						break;
					}
					n4++;
				}
				for (var i = x + 1, j = y - 1; i < 15, j >= 0; i++, j--) {
					if (i >= 15 || j < 0 || arr[i][j] != num) {
						break;
					}
					n4++;
				}
				//用一个定时器来延时,否则会先弹出对话框,然后才显示棋子
				var str;
				if (n1 >= 5 || n2 >= 5 || n3 >= 5 || n4 >= 5) {
					if (num == 1) { //白棋
						str = "白棋赢了,游戏结束!"
					} else if (num == 2) { //黑棋
						str = "黑棋赢了,游戏结束!"
					}
					txt.innerHTML = str;
					isWin = true;
				}
			}
			//重新开始
			btn.onclick = function() {
				flag = true;
				isWin = false;

				for (var i = 0; i < 15; i++) {
					for (var j = 0; j < 15; j++) {
						arr[i][j] = 0;
					}
				}
				ctx.clearRect(0, 0, 640, 640);
				txt.innerHTML = "";
				drawLine();
			}
			drawLine();
		</script>
	</body>
</html>

 

效果演示如下图:
js实现简单五子棋游戏源码-风君子博客

参考资料:
https://www.cnblogs.com/xbyl/p/5733830.html
https://www.jb51.net/article/128503.htm

标签: js 五子棋
最后更新:2019年6月7日

风君子

独自遨游何稽首 揭天掀地慰生平

点赞
< 上一篇
下一篇 >

猜你喜欢

  • 华为 HarmonyOS 开源鸿蒙方舟编译器前端工具“方舟 JS 运行时”正式开源

  • 禁止鼠标右键代码 禁止按键F5和禁止鼠标右键菜单 js代码

  • JS基础测试: typeof delete window.name 的返回结果是什么?​

  • JS实现汇率换算

  • 【FCC】番茄时钟pomodoro clock网页版

  • 【FCC】Pairwise js算法

  • 【FCC】Map the Debris

  • 【FCC】Make a Person

  • 【FCC】Friendly Date Ranges

  • 【FCC】No repeats please

  • 【FCC】Inventory Update

  • 【FCC】Exact Change 收银程序

文章评论

取消回复

风君子

独自遨游何稽首 揭天掀地慰生平

最新 热点 随机
最新 热点 随机
如何赋能中国企业减碳可持续发展转型? IBM有这些新解法 百度CTO王海峰披露飞桨最新数据:已凝聚477万深度学习开发者 Infor首席技术官兼产品总裁:今年在中国市场专注服务制造、物流等行业 笔记本电脑配置怎么看 开发者选项怎么设置最流畅 蔚来在新加坡交易所主板上市,正式开始挂牌交易 专访万家乐刘兵:未来产品将在科技美学进一步突破 快手启动“616实在购物节”,提供20亿用户权益补贴 京东宣布5月23日晚8点开启618:持续至6月20日 为物品急送探索全新解决方案 顺丰同城无人机急送服务在深圳试点运营
抖音IP属地准确吗联想拯救者 Y9000X 2022 配置公布:最高 i7-12700H + RTX 3070微软 Win11 极简任务栏上手:优化平板体验,但也缺了点小功能中国电信李正茂:充分发挥云网融合优势,让数字经济造福每个人OPPO A53 5G 现已开启 ColorOS 12 安卓 12 升级公测招募e地跑:全国线路覆盖率达92.5%,将升级智能扫码加油功能完成加油监控米哈游《原神》全球用户支出将突破 27 亿美元:打破最高季度纪录,中美日韩德支出最多索尼 QD-OLED 画谛系列电视 A95K 国行即将发布格力电器 2021 年营收 1878.69 亿元同比增长 11.69%施耐德电气顾俊:5G赋能,制造业智能化转型“加速”
暂停婚姻登记业务的地方,什么时候恢复? 京东方公开 “盲人阅读器”专利:盲人也能 “看”图片 AI“创作物”获得著作权保护仍有路要走 股价的影响因素 Mac怎么查看已连接的Wifi密码?Mac查看Wifi密码的方法 微信:iOS用户也可以修改微信号了 一年可修改一次 国五符号怎么表示 Steam个人资料链接在哪里?查看Steam个人资料 中国移动成立芯片公司,进军物联网芯片制造业 Meta市值跌破6000亿美元,或滑出反垄断范围?
标签聚合
银行卡 腾讯 快科技 芯片 贷款 小米 支付宝 华为 微软 马斯克 谷歌 利率 特斯拉 科技 美国 IT资讯 银行 手机 业界 借款人 iphone 额度 汽车 京东 苹果 股票 利息 信用卡 秘籍 三星
Tags
酒 胡萝卜 食物 私房菜 有什么好处 水果 能吃 鸡蛋 身体 会胖吗 副作用 吃什么 相克 好处 饮食 作用 土豆食谱 方法 牛肉 豆腐 糖 热量 茄子 好吃 营养 皮肤过敏 区别 菜谱 牛肉食谱 功效 怎么做 营养价值 豆腐食谱 维生素 土豆 热菜 食用方法 常吃 健康 排骨 汤类 高血压 牛奶 糖尿病人 做法 吃法 下饭菜 海鲜 一起吃 排骨食谱
最近评论
九九 发布于 2 周前(05月06日) 也可能是 IP2LOCATION 数据
风君子 发布于 5 个月前(12月20日) 直播这么赚钱的吗?
wanif 发布于 5 个月前(12月18日) 采用你提供的pe制作u盘后无法识别mac硬盘,如何解决?
robotunl 发布于 5 个月前(12月18日) 可以用了,感谢
robotunl 发布于 5 个月前(12月17日) DISM++链接下不了了啊,能再发一个么。 还有怎么制作和博主一样的PE u盘。
tiantian 发布于 10 个月前(08月08日) 谢谢分享!
欣姐 发布于 1 年前(02月06日) 很有道理啊
我在東莞上班睡覺工資一千五六 发布于 1 年前(12月16日) 东莞台商都开始搬迁河源,梅州包括赣州一些地方要么就是内地城市,因为电子厂需要大量人力所以基本上都是中...
我在東莞上班睡覺工資一千五六 发布于 1 年前(12月16日) 这个怎么有意思了,是不是太真实了 :smile: :smile:
东莞石碣维信五金制品有限公司睡觉一千五六 发布于 1 年前(12月15日) 台商大陆模式搞习惯了去了印度未必成功 :idea:

COPYRIGHT © 2021 风君子博客. ALL RIGHTS RESERVED.

豫ICP备14018241号