HTML+CSS+JS实现【别踩鸡块】,含(源码+思路)

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


写在前面:

你是否想要掌握人工智能的最新技术和应用?你是否想要成为未来社会的创新者和领导者?你是否想要和全球的优秀导师和同学一起学习和交流?如果你的答案是肯定的,那么欢迎来到床长人工智能教程网站,这里是你实现梦想的起点!


个人名片:

🐼作者简介:一名大一在校生
🐻‍❄️个人主页:小新爱学习.
🐼个人WeChat:hmmwx53
🕊️系列专栏:零基础学java ----- 重识c语言 ---- 计算机网络
🐓每日一句:那些看似不起波澜的日复一日,一定会在某一天让你看见坚持的意义

前言:🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊🎊

最近有许多小伙伴问小新有没有好用的刷题网站,想提升一下自我能力
经过小新缜密的思考与亲身体验,推荐超实用的🎉点击直接访问牛客网🎉
里面用丰富的大厂面试真题、各类算法由易到难层层递进、专项题库应有尽有,还不快来体验体验🎏🎏🎏


文章目录

    • 写在前面:
  • 别踩鸡块🐓
    • 内容介绍🐓
      • 1.简介:🐓
      • 2、知识点🐓
      • 3、项目框架🐓
      • 4、项目原理🐓
      • 5、实现步骤+思路🐓
    • 源码:🐓
      • index.js🐓
      • index.css🐓
      • index.html🐤
      • 数据库🐓
      • 部署到服务器🐓
      • 评论区收录(来自不知名网友):🐓
    • 游戏演示🐓
      • 别踩鸡块网页版🐓
    • 别踩鸡块
    • github源码+作者加更多小游戏🐓


别踩鸡块🐓

内容介绍🐓

1.简介:🐓

别踩白块这个游戏相信很多人在网页手机都玩过吧,那时候的我们没有它没有什么特别之处,大多数只是能证明自己单身20年的手速,但今天的它更新换名又换面,是我们一个个ikun(这个粉字怎么有点黑)的共同努力,是对鸡哥(啊不对,是对蔡徐坤努力成果的纪念之作)——别踩鸡块

2、知识点🐓

  • HTML/CSS
  • JavaScript
  • PHP
  • MySOL
  • 元素节点增删
  • 属性节点操作
  • 采用json建立数据交互

3、项目框架🐓

 puzzle|index.html|css/index.css|js/index.js

4、项目原理🐓

在开始码文之前,让我们先来分析下整个游戏的流程:首先白块和鸡哥以一定的速度下移,点击鸡哥,鸡哥变为母鸡🐤即为img的交互,并鸡叫一声,如果不小心点到白块也有专属bgm嘿嘿嘿,然后游戏结束,如果时间到则游戏结束,跳出分数框并弹出相应“嘲讽语句”。游戏分为三种模式
注意:
而以开发者来说,应将每一个“鸡哥”和白块抽象成一个个的数据结构,鸡哥的消失和出现其实就是数据结构的创造和销毁,如不销毁,积累的数量多的话会极大的占用内存空间

5、实现步骤+思路🐓

页面布局 可以用 div+css 布局来实现别踩鸡块的静态效果展示,直接上 HTML 代码,我来简要说下 HTML 思路,将主界面分解成一个 4x4
的大矩形格子,每一个方块代表其中一个小的矩形格,其中每一行的四个白块中有一个鸡块,每一行中鸡块位于哪一列是随机生成的,但是我们这里现在是静态页面就自己确定了,然后通过
css 控制样式。

添加样式 下面源码是 css 代码,这里有一个要注意的地方,我将 div#con 块级元素向上提了 100 px,这样在游戏的开始就出现了最底一行的空白,隐藏最上面那行,为什么要这样呢,继续往下看就知道了。设置黑白块的样式,为 js
部分动态插入鸡块白块做准备。

让鸡块动起来 在可以通过 js 来创造和销毁 div 后,我们就要让鸡块动起来,这个时候我们就用到了之前 css 提到的设定 < div id=“con”> 隐藏了一行的 < div id=“row”>,我们通过 js 的 DOM 操作使其向下方移动,并设置定时器每
30 毫秒移动一次,这样就实现了鸡块的平滑移动,在鸡块移动的同时,我们要判断鸡块是否已经触底,触底则游戏失败,停止调用
move(),触底后调用函数 fail() 游戏失败,具体方法如下:

点击黑块事件 让鸡块动起来之后呢,我们就来考虑怎么判断用户有没有点击到鸡块呢,同时用户若点击到鸡块,我们要让所在那一行消失,并在内存中删除已消失的行数

其实程序写到这里,几个核心的功能点都已经实现了,是不是感觉很简单呢。剩下来的就是将这些方法组合起来,组成完整的逻辑关系,添加有一个记分器记录用户分数的功能,同时设置加速方法,使鸡块的移动越来越快等等。

源码:🐓

index.js🐓

const MODE_NORMAL = 1, MODE_ENDLESS = 2, MODE_PRACTICE = 3;(function(w) {const DEFAULT_I18N_RESOURCE = 'en';function getJsonI18N() {let res;let lang = navigator.language.substring(0, 2);function ajax(name, error) {$.ajax({url: `./static/i18n/${name}.json`,dataType: 'json',method: 'GET',async: false,success: data => res = data,error: error});}ajax(lang, () => {ajax(DEFAULT_I18N_RESOURCE, () => {});})return res;}const I18N = getJsonI18N()$('[data-i18n]').each(function() {const content = I18N[this.dataset.i18n];$(this).text(content);});$('[data-placeholder-i18n]').each(function() {$(this).attr('placeholder', I18N[this.dataset.placeholderI18n]);});$('html').attr('lang', I18N['lang']);let isDesktop = !navigator['userAgent'].match(/(ipad|iphone|ipod|android|windows phone)/i);let fontunit = isDesktop ? 20 : ((window.innerWidth > window.innerHeight ? window.innerHeight : window.innerWidth) / 320) * 10;document.write('<style type="text/css">' +'html,body {font-size:' + (fontunit < 30 ? fontunit : '30') + 'px;}' +(isDesktop ? '#welcome,#GameTimeLayer,#GameLayerBG,#GameScoreLayer.SHADE{position: absolute;}' :'#welcome,#GameTimeLayer,#GameLayerBG,#GameScoreLayer.SHADE{position:fixed;}@media screen and (orientation:landscape) {#landscape {display: box; display: -webkit-box; display: -moz-box; display: -ms-flexbox;}}') +'</style>');let map = {'d': 1, 'f': 2, 'j': 3, 'k': 4};if (isDesktop) {document.write('<div id="gameBody">');document.onkeydown = function (e) {let key = e.key.toLowerCase();if (Object.keys(map).indexOf(key) !== -1) {click(map[key])}}}function gameInit() {createjs.Sound.registerSound({src: "./static/music/err.mp3",id: "err"});createjs.Sound.registerSound({src: "./static/music/end.mp3",id: "end"});createjs.Sound.registerSound({src: "./static/music/tap.mp3",id: "tap"});gameRestart();}function gameRestart() {_gameBBList = [];_gameBBListIndex = 0;_gameScore = 0;_gameOver = false;_gameStart = false;_gameTimeNum = _gameSettingNum;_gameStartTime = 0;countBlockSize();refreshGameLayer(GameLayer[0]);refreshGameLayer(GameLayer[1], 1);updatePanel();}function gameStart() {_date1 = new Date();_gameStartDatetime = _date1.getTime();_gameStart = true;_gameTime = setInterval(timer, 1000);}function getCPS() {let cps = _gameScore / ((new Date().getTime() - _gameStartDatetime) / 1000);if (isNaN(cps) || cps === Infinity || _gameStartTime < 2) {cps = 0;}return cps;}function timer() {_gameTimeNum--;_gameStartTime++;if (mode === MODE_NORMAL && _gameTimeNum <= 0) {GameTimeLayer.innerHTML = I18N['time-up'] + '!';gameOver();GameLayerBG.className += ' flash';if (soundMode === 'on') {createjs.Sound.play("end");}}updatePanel();}function updatePanel() {if (mode === MODE_NORMAL) {if (!_gameOver) {GameTimeLayer.innerHTML = createTimeText(_gameTimeNum);}} else if (mode === MODE_ENDLESS) {let cps = getCPS();let text = (cps === 0 ? I18N['calculating'] : cps.toFixed(2));GameTimeLayer.innerHTML = `CPS:${text}`;} else {GameTimeLayer.innerHTML = `SCORE:${_gameScore}`;}}//使重试按钮获得焦点function foucusOnReplay(){$('#replay').focus()}function gameOver() {_gameOver = true;clearInterval(_gameTime);let cps = getCPS();updatePanel();setTimeout(function () {GameLayerBG.className = '';showGameScoreLayer(cps);foucusOnReplay();}, 1500);}function encrypt(text) {let encrypt = new JSEncrypt();function createGameLayer() {let html = '<div id="GameLayerBG">';for (let i = 1; i <= 2; i++) {let id = 'GameLayer' + i;html += '<div id="' + id + '" class="GameLayer">';for (let j = 0; j < 10; j++) {for (let k = 0; k < 4; k++) {html += '<div id="' + id + '-' + (k + j * 4) + '" num="' + (k + j * 4) + '" class="block' + (k ? ' bl' : '') +'"></div>';}}html += '</div>';}html += '</div>';html += '<div id="GameTimeLayer" class="text-center"></div>';return html;}function closeWelcomeLayer() {welcomeLayerClosed = true;$('#welcome').css('display', 'none');updatePanel();}function showWelcomeLayer() {welcomeLayerClosed = false;$('#mode').text(modeToString(mode));$('#welcome').css('display', 'block');}function getBestScore(score) {// 练习模式不会进入算分界面let cookieName = (mode === MODE_NORMAL ? 'bast-score' : 'endless-best-score');let best = cookie(cookieName) ? Math.max(parseFloat(cookie(cookieName)), score) : score;cookie(cookieName, best.toFixed(2), 100);return best;}function scoreToString(score) {return mode === MODE_ENDLESS ? score.toFixed(2) : score.toString();}function legalDeviationTime() {return deviationTime < (_gameSettingNum + 3) * 1000;}function showGameScoreLayer(cps) {let l = $('#GameScoreLayer');let c = $(`#${_gameBBList[_gameBBListIndex - 1].id}`).attr('class').match(_ttreg)[1];let score = (mode === MODE_ENDLESS ? cps : _gameScore);let best = getBestScore(score);l.attr('class', l.attr('class').replace(/bgc\d/, 'bgc' + c));$('#GameScoreLayer-text').html(shareText(cps));let normalCond = legalDeviationTime() || mode !== MODE_NORMAL;l.css('color', normalCond ? '': 'red');$('#cps').text(cps.toFixed(2));$('#score').text(scoreToString(score));$('#GameScoreLayer-score').css('display', mode === MODE_ENDLESS ? 'none' : '');$('#best').text(scoreToString(best));l.css('display', 'block');}function hideGameScoreLayer() {$('#GameScoreLayer').css('display', 'none');}w.replayBtn = function() {gameRestart();hideGameScoreLayer();}w.backBtn = function() {gameRestart();hideGameScoreLayer();showWelcomeLayer();}function shareText(cps) {if (mode === MODE_NORMAL) {let date2 = new Date();deviationTime = (date2.getTime() - _date1.getTime())if (!legalDeviationTime()) {return I18N['time-over'] + ((deviationTime / 1000) - _gameSettingNum).toFixed(2) + 's';}SubmitResults();}if (cps <= 5) return I18N['text-level-1'];if (cps <= 8) return I18N['text-level-2'];if (cps <= 10)  return I18N['text-level-3'];if (cps <= 15) return I18N['text-level-4'];return I18N['text-level-5'];}function toStr(obj) {if (typeof obj === 'object') {return JSON.stringify(obj);} else {return obj;}}

index.css🐓

body {font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;margin: 0;padding: 0;
}.loading {background-image: url("data:image/gif;base64,R0lGODlhJQAlAJECAL3L2AYrTv///wAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFCgACACwAAAAAJQAlAAACi5SPqcvtDyGYIFpF690i8xUw3qJBwUlSadmcLqYmGQu6KDIeM13beGzYWWy3DlB4IYaMk+Dso2RWkFCfLPcRvFbZxFLUDTt21BW56TyjRep1e20+i+eYMR145W2eefj+6VFmgTQi+ECVY8iGxcg35phGo/iDFwlTyXWphwlm1imGRdcnuqhHeop6UAAAIfkEBQoAAgAsEAACAAQACwAAAgWMj6nLXAAh+QQFCgACACwVAAUACgALAAACFZQvgRi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwXABEADAADAAACBYyPqcsFACH5BAUKAAIALBUAFQAKAAsAAAITlGKZwWoMHYxqtmplxlNT7ixGAQAh+QQFCgACACwQABgABAALAAACBYyPqctcACH5BAUKAAIALAUAFQAKAAsAAAIVlC+BGL3Z3IlxUmUuhtR2LzHhsiEFACH5BAUKAAIALAEAEQAMAAMAAAIFjI+pywUAIfkEBQoAAgAsBQAFAAoACwAAAhOUYJnAagwdjGq2amXGU1PuLEYBACH5BAUKAAIALBAAAgAEAAsAAAIFhI+py1wAIfkEBQoAAgAsFQAFAAoACwAAAhWUL4AIvdnciXFSZS6G1HYvMeGyIQUAIfkEBQoAAgAsFwARAAwAAwAAAgWEj6nLBQAh+QQFCgACACwVABUACgALAAACE5RgmcBqDB2MarZqZcZTU+4sRgEAIfkEBQoAAgAsEAAYAAQACwAAAgWEj6nLXAAh+QQFCgACACwFABUACgALAAACFZQvgAi92dyJcVJlLobUdi8x4bIhBQAh+QQFCgACACwBABEADAADAAACBYSPqcsFADs=");background-repeat: no-repeat;background-position: center center;background-size: auto 60%;
}.start_btn{display:inline-block;margin:0 auto;width:8em;height:1.7em;line-height:1.7em;font-size:2.2em;color:#fff;
}.SHADE {top: 0;left: 0;width: 100%;bottom: 0;z-index: 11;
}.BOX-V {box-orient: vertical;-webkit-box-orient: vertical;-moz-box-orient: vertical;-ms-flex-direction: column;
}.BOX-D {box-align: end;box-pack: center;-webkit-box-align: end;-webkit-box-pack: center;-ms-flex-align: end;-ms-flex-pack: center;
}.BOX-M {box-align: center;box-pack: center;-webkit-box-align: center;-webkit-box-pack: center;-ms-flex-align: center;-ms-flex-pack: center;
}.BOX-S {display: block;box-flex: 1;-webkit-box-flex: 1;-moz-box-flex: 1;-ms-flex: 1;
}.BOX,
.BOX-V,
.BOX-D,
.BOX-M,
.FOOTER {display: box;display: -webkit-box;display: -moz-box;display: -ms-flexbox;
}.BBOX,
.BOX,
.APP-STAGE,
.INSET-STAGE,
.STAGE,
.PAGE-STAGE,
.PAGE,
.PAGE-BOX,
.INSET-PAGE,
.FOOTER {box-sizing: border-box;-webkit-box-sizing: border-box;-moz-box-sizing: border-box;
}#welcome {background-color: rgba(0, 0, 0, .8);text-align: center;font-weight: bold;overflow: hidden;
}.welcome-bg {position: absolute;top: 0;left: 0;right: 0;bottom: 0;background-size: 100% 100%;opacity: .4;overflow: hidden;
}#GameTimeLayer {top: 1em;left: 0;width: 100%;text-align: center;color: rgb(233, 138, 131);font-size: 4em;text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;overflow: hidden;
}#GameLayerBG {top: 0;left: 0;right: 0;bottom: 0;overflow: hidden;background: #fff;
}.GameLayer {position: absolute;bottom: 0;left: 0;
}.block {position: absolute;border-top: 1px solid #b8dfe6;background-repeat: no-repeat;background-position: center;
}.t1,
.t2,
.t3,
.t4,
.t5 {background-size: auto 100%;background-image: url(./image/ClickBefore.png);
}.tt1,
.tt2,
.tt3,
.tt4,
.tt5 {background-size: auto 86%;background-image: url(./image/ClickAfter.png);
}.bl {border-left: 1px solid #b8dfe6;
}@-ms-keyframes flash {0% {opacity: 1;}50% {opacity: 0;}100% {opacity: 1;}
}@-webkit-keyframes flash {0% {opacity: 1;}50% {opacity: 0;}100% {opacity: 1;}
}.flash {-webkit-animation: flash .2s 3;animation: flash .2s 3;
}.bad {background-color: rgb(211, 91, 91);-webkit-animation: flash .2s 3;animation: flash .2s 3;
}* {-webkit-tap-highlight-color: rgba(0, 0, 0, 0);-ms-tap-highlight-color: rgba(0, 0, 0, 0);-ms-user-select: none;
}#GameScoreLayer {padding-top: 2em;font-size: 2em;font-weight: bold;color: #251c1c;text-align: center;overflow: hidden;
}.share-icon {width: 1.7em;background-repeat: no-repeat;background-size: auto 100%;
}#GameScoreLayer-btn .btn,
#GameScoreLayer-share .btn {text-align: center;font-size: 1.1em;color: rgba(0, 0, 0, 0.3);height: 2em;line-height: 2em;
}.btn:active {opacity: 0.2;
}#landscape {display: none;
}#gameBody {position: relative;width: 640px;margin: 0 auto;
}#share-wx {background: rgba(0, 0, 0, 0.8);position: absolute;top: 0;left: 0;width: 100%;z-index: 10000;display: none;
}#btn_group {width: 37.5%;max-width: 200px;
}@media (max-width: 450px) {#btn_group {max-width: 110px !important;}
}@media (max-width: 600px) {#btn_group {max-width: 125px;}
}@media (max-width: 800px) {#btn_group {max-width: 150px;}
}#setting {width: 50%;
}@media (max-width: 1200px) {#setting {width: 80%;}
}#GameScoreLayer .col-3, #GameScoreLayer .col-2 {max-width: 144px;
}.dropdown-item {cursor: pointer;
}

index.html🐤

<!DOCTYPE html>
<html lang="zh"><head><title data-i18n="eat-kano"></title><meta itemprop="name" content="吃掉小鹿乃" /><meta itemprop="description" content="新概念音游" /><meta charset="utf-8" /><meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0, width=device-width,target-densitydpi=device-dpi" /><link href="./static/index.css" rel="stylesheet" type="text/css"><script src="https://pv.sohu.com/cityjson?ie=utf-8"></script><script src="https://code.createjs.com/1.0.0/createjs.min.js"></script><script src="https://passport.cnblogs.com/scripts/jsencrypt.min.js"></script><link href="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/css/bootstrap.min.css" rel="stylesheet"><script src="https://cdn.staticfile.org/twitter-bootstrap/5.1.1/js/bootstrap.bundle.min.js"></script><script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></script><?phpsession_start();$str = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890'), 0, 8);$_SESSION['t'] = $str;echo "<script>var tj='" . $str . "'</script>";?>
</head><body onLoad="init()" oncontextmenu=self.event.returnValue=false><div id="GameScoreLayer" class="BBOX SHADE bgc1" style="display:none;"><div style="padding:5%;margin-top: 200px;background-color: rgba(125, 181, 216, 0.3);"><div id="GameScoreLayer-text"></div><div id="GameScoreLayer-CPS" class="mb-2 d-flex flex-row justify-content-center text-start"><div class="col-3">CPS</div><div class="col-2" id="cps"></div></div><div id="GameScoreLayer-score" class="mb-2 d-flex flex-row justify-content-center text-start"><div class="col-3" data-i18n="score"></div><div class="col-2" id="score"></div></div><div id="GameScoreLayer-bast" class="mb-2 d-flex flex-row justify-content-center text-start"><div class="col-3" data-i18n="best"></div><div class="col-2" id="best"></div></div><button type="button" class="btn btn-secondary btn-lg" id="replay" onclick="replayBtn()" data-i18n="again">AGAIN-I18N</button><button type="button" class="btn btn-secondary btn-lg" onclick="window.location.reload()" data-i18n="home">HOME-I18N</button><button type="button" class="btn btn-secondary btn-lg" onclick="goRank()" data-i18n="rank">RANK-I18N</button><button type="button" class="btn btn-secondary btn-lg" onclick="window.location.href='https://github.com/arcxingye/EatKano'" data-i18n="repo">REPO-I18N</button></div></div></div><div id="welcome" class="SHADE BOX-M"><div class="welcome-bg FILL"></div><div class="FILL BOX-M" style="position:absolute;top:0;left:0;right:0;bottom:0;z-index:5;"><div class="container"><div class="container mb-5"><div style="font-size:2.6em; color:#FEF002;" data-i18n="game-title">GAME-TITLE-I18N</div><br /><div id="desc" style="display: block;font-size:2.2em; color:#fff; line-height:1.5em;"><span data-i18n="game-intro1">GAME-INTRO1-I18N</span><br /><span data-i18n="game-intro2">GAME-INTRO2-I18N</span><br /></div></div><div id="btn_group" class="container text-nowrap"><div class="d-flex justify-content-center flex-column flex-fill"><a class="btn btn-primary btn-lg mb-3" onclick="readyBtn()" data-i18n="start">START-I18N</a><div class="dropdown mb-3"><a class="w-100 btn btn-secondary btn-lg" href="javascript: void(0);" role="button" id="mode" data-bs-toggle="dropdown" aria-expanded="false" data-i18n="normal">NORMAL-I18N</a><ul class="dropdown-menu" aria-labelledby="mode"><li><a class="dropdown-item" onclick="changeMode(MODE_NORMAL)" data-i18n="normal">NORMAL-I18N</a></li><li><a class="dropdown-item" onclick="changeMode(MODE_ENDLESS)" data-i18n="endless">ENDLESS-I18N</a></li><li><a class="dropdown-item" onclick="changeMode(MODE_PRACTICE)" data-i18n="practice">PRACTICE-I18N</a></li></ul></div><a class="btn btn-secondary btn-lg" onclick="show_setting()" data-i18n="settings">SETTINGS-I18N</a></div></div><div id="setting" class="container" style="display: none;"><div class="container mb-3 btn-group"><a data-i18n="img-before" type="button" class="btn text-nowrap btn-secondary me-1" onclick="getClickBeforeImage()" style="left: 0">IMG-BEFORE-I18N</a><input type="file" id="click-before-image" accept="image/*" class="d-none" onchange="saveClickBeforeImage()"><a data-i18n="img-after" type="button" class="btn text-nowrap btn-secondary me-1" onclick="getClickAfterImage()" style="right: 0">IMG-AFTER-I18N</a><input type="file" id="click-after-image" accept="image/*" style="display: none;" onchange="saveClickAfterImage()"><a id="sound" type="button" class="btn text-nowrap btn-secondary" onclick="changeSoundMode()"></a></div><div class="input-group mb-3"><div class="input-group-prepend col-2"><span class="input-group-text" data-i18n="title">TITLE-I18N</span></div><input data-placeholder-i18n="eat-kano" type="text" id="title" class="form-control" placeholder="EAT-KANO-I18N"></div><div class="input-group mb-3"><div class="input-group-prepend col-2"><span data-i18n="key" class="input-group-text">KEY-I18N</span></div><input data-placeholder-i18n="default-dfjk" type="text" id="keyboard" class="form-control" maxlength=4 placeholder="DFJK-I18N"></div><div class="input-group mb-3"><div class="input-group-prepend col-2"><span data-i18n="time" class="input-group-text">TIME-I18N</span></div><input data-placeholder-i18n="default-20s" type="text" id="gameTime" class="form-control" maxlength=4 placeholder="default-20s"></div><div class="input-group mb-3"><div class="input-group-prepend col-2"><span class="input-group-text" data-i18n="name">NAME-I18N</span></div><input data-placeholder-i18n="record-rank" type="text" id="username" class="form-control" maxlength=8 placeholder="RECORD-RANK-I18N"></div><div class="input-group mb-3"><div class="input-group-prepend col-2"><span class="input-group-text" data-i18n="comment">COMMENT-I18N</span></div><input data-placeholder-i18n="no-ad-bad-lang" type="text" id="message" class="form-control" maxlength=50 placeholder="NO-AD-BAD-LANG-I18N"></div><button type="button" class="btn btn-secondary btn-lg" onclick="show_btn();save_cookie();" data-i18n="ok">OK-I18N</button></div></div></div></div><script src="./static/index.js"></script>
</body></html>

数据库🐓

DROP TABLE IF EXISTS `kano_rank`;
CREATE TABLE `kano_rank` (`id` int(11) NOT NULL AUTO_INCREMENT,`score` int(11) NOT NULL,`name` varchar(255) NOT NULL,`time` datetime NOT NULL,`system` varchar(255) NOT NULL,`area` varchar(255) NOT NULL,`message` varchar(255) NOT NULL,`attempts` int(11) NOT NULL,PRIMARY KEY (`id`),UNIQUE (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

部署到服务器🐓

按照这些步骤来在你的服务器上配置排行榜的数据库

创建数据库并且执行提供的脚本(这里用kano作为数据库名)

CREATE DATABASE kano DEFAULT CHARSET=utf8;
USE kano;
SOURCE kano.sql;

更改有数据库信息的conn.php为你的数据库配置

<?php
// 把这里改为你的配置
$link = new mysqli('localhost','NAME','PASSWORD','kano');
mysqli_set_charset($link, 'utf8');
if ($link->connect_error) {die("Failed to connect: " . $conn->connect_error);
}
$ranking = "kano_rank";

评论区收录(来自不知名网友):🐓

作者真的用心了,1.2m大小, 承载了每个ikun的热爱与理想,我希望这款软件火下去等鸡哥老了,颜值不在了,真爱粉都会去关注别的小鲜肉,只有我们小黑子见到鸡哥还会肃然起敬,还是那句话,巅峰产生虚伪的拥护,黄昏见证虔诚的信徒这里是引用

其实我之前是拒绝喷蔡徐坤的,后来我试着喷了一下,哇,赞率真的很高,还掉助攻,还送VIP,忙的时候还可以离线喷,现在每天带着全网友一起喷,哇,好热血,嗯,蛮好玩的,懒得找理由了,开团?

其实我真的不太理解,为什么那么多人会黑坤坤,一个梗玩了几年还在玩,或许真的是现在物质生活变好了,导致大家没了感恩之心,你们可以想想,以前我们经常被台湾省的老乡嘲笑,说我们吃不起茶叶蛋,那段黑暗的日子是怎么过来的大家都忘了吗?只有我还记得,是坤坤每天坚持下蛋,下新鲜的鸡蛋,才让我们度过了那段艰难的缺蛋时期,俗话说喝水不忘挖井人,我们现在能实现吃蛋自由,坤坤功不可没

卤出鸡脚了吧!树枝66,小黑子 苏珊,食不食油饼?耗丸吗?再黑紫砂吧!4年前的梗你们还在玩,4年前的剩饭你们怎么不吃?臻果粉!我看你们都馍蒸了!蒸梅油酥汁!你们犯法了知道吗?你们再这样我就煲胫了!香精煎鱼是吗?香翅捞饭是吗?真没有荚饺,荔枝?你要我怎么荔枝!?蒸乌鱼…葡心腩蒸虾头
也许坤坤老了之后,现在那些珍爱粉走在路上都不会搭理坤坤,但是我们在路上见到他依然会叫他一声鸡哥 巅峰产生虚伪的矗拥,黄昏见证虔诚的信徒,我们才是真正的ikun

在这里插入图片描述

你们慢慢玩梗,坤慢慢拿奖,等你们玩够了,再后头看看坤的奖项,越红才越会被黑,虽然说他的表情包我觉得也很好笑,但我不会拿他的表情包去黑他我爱的男孩子左脸有痣右脸有疤左脸是浴火重生右脸却是满目星辰,184的身高撑起了ikun的整个青春!待我脱下校服之日,便是金海猖狂之时我的眼睛很小,只容得下蔡徐坤,我的心很小,只容得下蔡徐坤,蔡徐坤值得如果你不喜欢,就不要伤害。他非常的宠粉,前几天我过生日的时候,坤坤还下了颗蛋给我。你黑蔡徐坤,我们只解释不回黑,不是因为我们不敢,而是他告诉我们,无论这个世界怎么样,我们都要漂亮,你不要以为我们好说话,爱坤不惹事,但也不怕事蔡虚坤发烧1000度坚持上台,双腿粉碎性骨折仍练习踢踏舞,每日练习365个小时,大小便失禁仍不去医院,累得高位截瘫还练舞,喉咙肿大30多倍坚持练发音,有全国300亿粉丝却不骄傲,每个2月29、30日慈善义演,将获得的20万亿美元捐给瑞士上不起学的孩子,为了慈善事业每天献血两吨,爱蔡徐坤不仅仅是爱在短视频发他视频,还要爱他爱在心动的那首歌,爱在为之动容的颜值,爱在每一个爱的瞬间,真爱粉永远都在不要黑坤坤了,也不要去理会小黑,坤坤真的很好的

游戏演示🐓

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

别踩鸡块网页版🐓

别踩鸡块

github源码+作者加更多小游戏🐓

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

·


在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1550044.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

mysql删除数据不释放物理空间

记录mysql踩过的坑。。。 delete 命令删除数据不会释放服务器物理空间 删除之后需要执行这个命令才会释放物理空间 “optimize table 表名” &#xff08;注&#xff1a;执行这个命令的时候你的机器需要有足够的物理空间&#xff0c;不然的话会出现这种问题&#xff1a; &…

C语言中动态分配空间的数组,可以使用sizeof求其字节数吗?

C语言中&#xff0c;动态分配的数组&#xff0c;应该注意其使用&#xff01; 和一般数组名还是有很大区别的&#xff0c;如下&#xff1a; #include<stdio.h> #include<stdlib.h>int main(){int a[12];int* b(int* )malloc(sizeof(int)*12);printf("a%d\n&qu…

多传感器数据标定融合完整教程:时间同步+空间同步(Camera+Lidar+IMU+Radar)

多传感器融合是一项结合多传感器数据的综合性前沿内容&#xff0c;主要包括Camera、激光雷达、IMU、毫米波雷达等传感器的融合&#xff0c;在自动驾驶、移动机器人的感知和定位领域中占有非常重要的地位&#xff1b; 随着AI技术的大规模落地&#xff0c;图森、百度、滴滴、Waym…

Jenkin踩过的坑

windows安装目录踩过的坑(2.253版本之后) 以前的版本&#xff0c;安装成windwos服务的话&#xff0c;所有的文件都会在安装目录下 &#xff0c;最近下了个2.253版本在电脑上进行安装的时候&#xff0c;发现安装后&#xff0c;在安装目录下只有少量的几个文件和一个war包&#x…

问道管理:多少钱可以申购新股?

随着中国股市的不断发展&#xff0c;越来越多的人开端进入投资领域。而申购新股是投资中的一种常见方法。那么&#xff0c;多少钱能够申购新股呢&#xff1f;这个问题并不简略&#xff0c;需求从多个视点来剖析。 首先&#xff0c;需求了解什么是申购新股。申购新股&#xff0c…

期权是什么?期权的优缺点是什么?

期权是一种合约&#xff0c;有看涨期权和看跌期权两种类型&#xff0c;也就是做多和做空两个方向&#xff0c;走势标的物对应大盘指数&#xff0c;这也是期权与其他金融工具的主要区别之一&#xff0c;可以用于套利&#xff0c;对冲股票和激进下跌的风险&#xff0c;下文介绍期…

Maya-Mel-1:入门数据类型

简介&#xff1a; maya中其实所有的内容都是用mayamel写的&#xff0c;平时用的时候记录的历史&#xff0c;也都是mel语言 mel语言是区分大小写的 脚本编辑器 这两个框内都可以右键鼠标&#xff0c;比如编辑框&#xff0c;“选项卡”就相当于一个源文件 这里是打开文件、保…

Maya2024下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了

软件下载 软件&#xff1a;Maya版本&#xff1a;2024语言&#xff1a;简体中文大小&#xff1a;3.26G安装环境&#xff1a;Win11/Win10/Win8硬件要求&#xff1a;CPU2.5GHz 内存8G(或更高&#xff09;下载通道①百度网盘丨64位下载链接&#xff1a;https://pan.baidu.com/s/1y…

【Houdini MAYA】从MAYA到Houdini入门学习笔记(四)

使用Houdini做物体的巨量破碎 目录 一、Houdini实现物体的巨量破碎1.创建物体2.分散(scatter)模型3.体积化(isooffset)模型4.破碎&#xff08;Voronoi Fracture&#xff09;模型5.爆开模型(Exploded View) 二、修改scatter的数值为10w会怎样&#xff1f;三、导出模型1.导出为ob…

新手学习MAYA,需要知道的10个技巧!

Autodesk Maya&#xff0c;也称为“Maya”或“Maya 3D”&#xff0c;是一种计算机图形程序&#xff0c;用于电影、电视、游戏和视觉效果 (VFX) 中的各种 3D 动画。它旨在在 Windows、Mac OS 和 Linux 操作系统上运行&#xff0c;并于 1990 年代后期首次发布。一般来说&#xff…

记一次Maya入门之材质和模型的导出

目录 关于3D资源导出 HyperShader打开方式和材质导出方法 HyperShader新增的材质如何替换原模型的材质 Maya可以扩展编程吗? 参考资料&#xff1a; Unity3D使用的第三方工具 Maya官方文档&#xff0c;FBX插件 Maya所有工具包20个 Maya神器级Mel脚本组&#xff08;mal…

MAYA 2022基础入门学习教程

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;48.0 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小解压后:3.41 GB |时长:4.5小时 包含第一部分和第二部分课程 课程获取&#xff1a;MAYA 2022基础入门学…

Maya2022基础入门学习教程

Maya2022基础入门学习教程 Maya 2022 Essential Training Maya2022基础入门学习教程 Maya 2022 Essential Training MP4 |视频:h264&#xff0c;1280x720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 技能水平:初级|流派:电子学习|语言:英语中文字幕&#xff08;机译&…

Maya入门课程

拥有经验丰富的21年专业教师的完整Maya课程 在Autodesk Maya中学习您想要的所有3D运动:建模、纹理、照明、固定、运动、Eleme 你会学到: 最终&#xff0c;您将可以轻松地使用Autodesk Maya进行演示、表面处理、修复、增强、流动、光照和渲染 用关键帧激活三维对象 为高质量回…

MAYA简单操作讲解1--入门干货

新建一个物体&#xff0c;默认建在世界中心。 通过鼠标滚轮滑动来控制显示窗口远近。 常用快捷键&#xff1a;W&#xff1a;平移&#xff0c;移动 E&#xff1a;旋转 R&#xff1a;缩放 shift鼠标右键&#xff1a;选择操作 空格鼠标右键&#xff1a;选择视图模式 鼠标右键…

程序员35岁的破局之道

微信公众号访问地址&#xff1a;程序员35岁的破局之道 近期热推文章&#xff1a; 1、springBoot对接kafka,批量、并发、异步获取消息,并动态、批量插入库表; 2、SpringBoot用线程池ThreadPoolTaskExecutor异步处理百万级数据; 3、基于Redis的Geo实现附近商铺搜索(含源码) 4、基…

minAreaRect 函数新版与旧版对比

minAreaRect 函数 cv2.minAreaRect (InputArray_points) 入参 points 是点的集合&#xff0c;如轮廓 返回值 RotatedRect,带角度的旋转矩形框,其值形如(center(x,y), (width, height), angle of rotation ) center(x,y), (width, height)分别是旋转矩形框中心的坐标和矩…

【Unity3D赛车游戏】【二】如何制作一个真实模拟的汽车

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

opencv进阶18-基于opencv 决策树导论

1. 什么是决策树&#xff1f; 决策树是最早的机器学习算法之一&#xff0c;起源于对人类某些决策过程 的模仿&#xff0c;属于监督学习算法。 决策树的优点是易于理解&#xff0c;有些决策树既可以做分类&#xff0c;也可以做回归。在排名前十的数据挖掘算法中有两种是决策树[1…

linux优化ssd磁盘,Ubuntu下针对ssd硬盘优化

本人的Ubuntu 12.10是安装在三星64g的ssd上&#xff0c;所以有必要对此进行优化&#xff0c;发挥ssd的最佳性能&#xff0c;至于ssd的4k对齐&#xff0c;在ubuntu 11.10以上的版本不用担心&#xff0c;因为在格式化时就已经对齐了&#xff0c;建议手动分区&#xff0c;首先分一…