寒轩庆少
寒轩庆少
迈欧
每一次旅行都是一次求知的过程,而好奇心和求知欲,会给予人动力和勇气,让人想要踏出舒适区,不断想要去探索新的东西,挑战自己,探索从前未知的领域,于我而言,也是让人生变得更有趣的方式
B站上看到的
腾讯翻译
厉害了
一玩一个不吱声
程处亮
家里跳绳,楼下没意见吧
一洗来
@challenger 我是办的湖北旅游惠民卡,这两项目在年卡上都有
6
我现在220不用审核了
emmm,这大热天.....
mark
特意去搜了下,太厉害了
车来了
@xbox1994 车站附近就有旅行社,我之前是在飞猪上订的跟团,美团,携程应该都有
HUAWEI FreeLace Pro 还不错
光谷之星免费三小时
蛙泳入门简单,在逐渐提高自己的水性之后可以
朝天吼交通便利,九畹溪建议报个团坐大巴去.更推荐九畹溪
朝天吼确实可以
九畹溪漂流还不错,就是自驾路不好走
死神狱颐鸣鸣篇不是出了吗,一户井上织姬,露琪亚阿散井
通过一下,大佬
下面是一个简单的用JavaScript实现扫雷的例子:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>扫雷</title>
<style>
.cell {
width: 20px;
height: 20px;
border: 1px solid #ccc;
display: inline-block;
}
.cell.clicked {
background-color: #ddd;
}
.cell.mine {
background-color: red;
}
</style>
</head>
<body>
<div id="board"></div>
<script>
var board = document.getElementById("board");
var rows = 10;
var cols = 10;
var mines = 10;
var cells = [];
var mineCells = [];
function createBoard() {
for (var i = 0; i < rows; i++) {
for (var j = 0; j < cols; j++) {
var cell = document.createElement("div");
cell.classList.add("cell");
cell.dataset.row = i;
cell.dataset.col = j;
cell.addEventListener("click", handleClick);
board.appendChild(cell);
cells.push(cell);
}
board.appendChild(document.createElement("br"));
}
}
function placeMines() {
for (var i = 0; i < mines; i++) {
var index = Math.floor(Math.random() * cells.length);
var cell = cells[index];
if (mineCells.indexOf(cell) === -1) {
cell.classList.add("mine");
mineCells.push(cell);
} else {
i--;
}
}
}
function handleClick(event) {
var cell = event.target;
if (cell.classList.contains("clicked")) {
return;
}
if (cell.classList.contains("mine")) {
cell.classList.add("clicked");
alert("你输了!");
resetGame();
return;
}
var row = parseInt(cell.dataset.row);
var col = parseInt(cell.dataset.col);
var adjacentMines = getAdjacentMines(row, col);
cell.classList.add("clicked");
if (adjacentMines) {
cell.innerHTML = adjacentMines;
} else {
var adjacents = getAdjacentCells(row, col);
adjacents.forEach(function (adjacent) {
handleClick({target: adjacent});
});
}
if (cells.filter(function (cell) {
return !cell.classList.contains("clicked");
}).length === mineCells.length) {
alert("你赢了!");
resetGame();
return;
}
}
function getAdjacentCells(row, col) {
var adjacents = [];
for (var i = row - 1; i <= row + 1; i++) {
if (i < 0 || i >= rows) {
continue;
}
for (var j = col - 1; j <= col + 1; j++) {
if (j < 0 || j >= cols) {
continue;
}
if (i === row && j === col) {
continue;
}
adjacents.push(cells[i * cols + j]);
}
}
return adjacents;
}
function getAdjacentMines(row, col) {
var adjacents = getAdjacentCells(row, col);
return adjacents.filter(function (adjacent) {
return adjacent.classList.contains("mine");
}).length;
}
function resetGame() {
board.innerHTML = "";
cells = [];
mineCells = [];
createBoard();
placeMines();
}
createBoard();
placeMines();
</script>
</body>
</html>
这是一个基于 DOM 的实现,没有使用 Canvas,每个扫雷单元都是一个 div
元素,点击单元格时可能会出现以下三种情况之一:
玩家赢得游戏的条件是所有没有被揭开的单元格都是雷,即游戏中雷的数量等于游戏面板上没有被揭开的单元格数。
另外,为了确保游戏的可玩性,我们在随机放置雷时,如果随机到了已经有雷的单元格,会忽略这个雷,重新随机放置。
囧
<a href="https://imgloc.com/i/CMPed"><img src="https://i.328888.xyz/2023/01/11/CMPed.png" alt="CMPed.png" border="0" /></a>
666
mark
mark,标记一下
过早客微信公众号:guozaoke • 过早客新浪微博:@过早客 • 广告投放合作微信:fullygroup50 鄂ICP备2021016276号-2 • 鄂公网安备42018502001446号