Skip to content

Commit 6f25e48

Browse files
committed
贪吃蛇小游戏
优化:加字体图标、加使用说明
1 parent 0bc04e3 commit 6f25e48

File tree

9 files changed

+107
-20
lines changed

9 files changed

+107
-20
lines changed

gluttonousSnake/css/style.css

Lines changed: 73 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @Author: @Guojufeng
33
* @Date: 2019-12-13 13:16:06
44
* @Last Modified by: @Guojufeng
5-
* @Last Modified time: 2019-06-08 17:53:01
5+
* @Last Modified time: 2019-06-08 18:52:27
66
*/
77
html,
88
body,
@@ -17,6 +17,7 @@ body,
1717
font-family: sans-serif;
1818
overflow: hidden;
1919
}
20+
2021
.main{
2122
position: fixed;
2223
top: 0;
@@ -33,6 +34,14 @@ body {
3334
-khtml-user-select: none;
3435
user-select: none;
3536
}
37+
ul{
38+
text-align: left;
39+
padding: 0;
40+
}
41+
li{
42+
list-style: none;
43+
margin-bottom: 10px;
44+
}
3645
p{
3746
margin: 0;
3847
}
@@ -105,7 +114,18 @@ p{
105114
animation: none;
106115
}
107116

117+
/* 求help */
118+
.help{
119+
position: absolute;
120+
top: 10px;
121+
right: 10px;
122+
width: 30px;
123+
height: 30px;
124+
border-radius: 50%;
125+
line-height: 30px;
126+
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAOVBMVEUAAABgr/9grv9gr/9gr/9gr/9gr/9gr/9gr/9gr/9gr/9grv9gr/9gr/9gr/9gr/9gr/9grv9gr/9r2+i8AAAAEnRSTlMAQMDwYIAw4KAgELBwkFDPr9C+NyZKAAAGRUlEQVR42u2d6bKcIBCFZRfBjfd/2FQqqaQIcUZOtw5O8f2/3jn0KosMnU6n0+l0Op1Op/OdWPEHOzwREc0mVfoHJTcTxfAQhJEuvcRJ07oaMa/pJOvcqphJbypVoTY9Da2htwSxLUND+FklGDX7oQ0WmYjIFsyiXWLA6aGKRmV8XMovGY+XItbEzPqJ0uK3dAHb7RksqveuIo0xUfwmGlP2LiUqDndiX3uVCmaxB3+5mKBe+9eNbXJ8KSLat+MQX4q5yyheHnuTsaeNao79TN7Sgi3qyBZjpVOI8fBRN6QvczSKGqpER9Y1w7VMB0l39LCjjgeJ+FL38isgA5SyXqjEKkAGLEVdloeFSiXSsgyRvFGJTiVKsz1dpRLg6ZiOmdGPpxlUQtfhmE1vHaKEriOwp5UpXK5EoB0RvYuzrEZXuFvh7sWfu7wC3ApkkoWSie3Za1EDhwsZL6vxG6CDVcl2Ub+rh4uJl/TCC6CDPdkLjkDHdeBo/oCXiA5+75LcATIONzHy1l8L66ArYa3wa8oIAwrdqVdGT3XTcCOTY3Mur4jWZfVr5blKehxuJjIVeEEPEKuNmeVozAKVtMBTFldagPiYh6s0HgkTerxrUoDoNZWsGg8TvBrnozEPNRzOUKvK/m/OvQIyCN7sCJeOcaLKuRTZJA59wjSn14wTPJ6OahBJmB8uWS1c4DXRIBafp6BO61qaSZbcGag6SiVo97iQOjaP66Ar8aiTl388AjnmHWoCTeIJ6dtDdiwBy7QnFDRVGARfX1QH8gxmEoXnXl8zcjlB2999V0gFHktcC9p1BnQiT5mpqJNY3ErwdXuCapBIOcH/a7Edna3SYJrQkE+G9yEwoiZRWHUPmSWxCNFn0oGHwj1g+i2UssZTNWGGXlYV9FcOep/cD/3YYZ2TQ8Z2hrL9yTAWgG+hv2mF+t6zUSyhuLVIksDqqDr5+3QWJFjcAiESkD7CnS5SEsukoj79RGRaUp8u0wqbrDP1/YAF3sXGipqAvSiG6kyn6rf4OF1jcaAhP522CeshXiy2znXBRrY61s0Awi/E1EZ7xHp/cGjB6ZBYq9wO/Kyls8Oegg8YHY/OidSmLYkNGFYQZnDKUFamOTnw44BeCyqkYNLC5zWgBvjjQvIpvP3CtG2vFbLiy6umzpQC+EfwdgYPCxF1QgSzX0nKhhDRjJBiRc4/UoiQ5Y7CpwmZxDK7/ywsPErI8fmjODxJiElHhOFJQmI6Yp+eJMRjK2/8QuJVBlF2IAq5t0WRR37lqaNyYiBuEBIm+rt+A0LKA9J4G4+/WNGFSM/wsB141eUVIgXLwyQw+cAoRI2ADGDygX86SGYqlomtJhniBB2/N4ATdLp6IqwdIdVTprkvtiMki936ZYV2hLj0lx1Y6GlFiM8cBVh6a0WIzkIXWAxtRciYxTqwPN2KEAfU6Z0tSCLgpIwbBma2SuKBSSzgNwGbanCTREbPEtB2CcFSjw1j8lXgxjPyvFbe9dI9a0S3AjZA5iMLvDnz48AjG/Jk93Hy7bvwQt/Hv2zp8fMKihDu/Ix4PZhbMkluEEM7doFjZylnSzQIPqqSySTTmB0Qo58YlmxHk8ABkUwGEdTDYhgG8G3gsBhwfA8fDscyyafpByoRLN2qAjEI/Ygr//JXQMaTfuiY3yKFQcjHwMVnYoSjf92Bg/nsWYsj5YiUsX2kjuzkKCtPTUViZac6ePjk50TovVb469sP/cBLZtNsSRvz0M+/LNpRyqAf+xEkZuLXKJHFLquHMqmUWpsdes7H9K7BpG/xrpC+JOKn/WuUqPQPsr3rjhr7TO7V2JS+JOR1Ktie6V46FbhWLzkDPrf+SKNc+wF8sQHfqAOxV15JcDrwnnJJxD21dtovubYDX9fHlQT+i1SA9qfBq2228kHDTYjjy4YEcI0iIoT7EF6Jm+356S5HOulz/YVcW3wrxusxU/G5F1C7v7nV9PCzuF6YrRCBHN+99dK62Rgj/t5aN0tJ/uwhPz6kCwifaN7EnqjQz2T0qza/8/LTL7qO9ieLfGxssF7Z7MzHN7ZlZhkTggot3NacM+mgKlWM7an4e1t+OskDbs034U0i20PzIv6qiSZIVSiQwejHaMjw4g8PnSzudDqdTqfT6XQ6nXf8ANIP9Gk3OGrWAAAAAElFTkSuQmCC') no-repeat center center/100% 100%;
108127

128+
}
109129
/* count-down */
110130
.count-down {
111131
display: none;
@@ -176,30 +196,33 @@ p{
176196

177197
.pause-btn {
178198
position: absolute;
179-
top: 14px;
180-
left: 40px;
181-
width: 0;
182-
height: 0;
199+
top: 10px;
200+
left: 10px;
201+
width: 30px;
202+
height: 30px;
183203
text-indent: -999px;
184-
185-
border-style: solid;
204+
border-radius: 50%;
205+
background: url('../img/bofang.png') no-repeat center center/100% 100%;
206+
/* border-style: solid; */
186207
cursor: pointer;
187208
}
188209

189210
.pause-btn.off {
190-
border-width: 15px;
211+
/* border-width: 15px;
191212
border-top-color: transparent;
192213
border-right-color: transparent;
193-
border-bottom-color: transparent;
214+
border-bottom-color: transparent; */
215+
194216
}
195217

196218
.pause-btn.on {
197-
border-left-width: 9px;
198-
border-right-width: 9px;
199-
height: 28px;
200-
border-top: 0;
201-
border-bottom: 0;
202-
width: 10px;
219+
/* border-left-width: 9px;
220+
border-right-width: 9px; */
221+
/* height: 28px; */
222+
/* border-top: 0;
223+
border-bottom: 0; */
224+
/* width: 10px; */
225+
background-image: url('../img/zanting.png');
203226
}
204227

205228
.pause-btn:hover,
@@ -515,6 +538,20 @@ p{
515538
font-size: 14px;
516539
color: #666;
517540
}
541+
.max-count{
542+
position: relative;
543+
}
544+
545+
.max-count::before{
546+
content: "";
547+
display: inline-block;
548+
vertical-align: -4px;
549+
margin-right: 4px;
550+
width: 20px;
551+
height: 20px;
552+
background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAMAAACahl6sAAAAPFBMVEUAAAD/RAD/RAD/QAD/QwD/RAD/RQD/QgD/QwD/QwD/RQD/QwD/QAD/RAD/QwD/QwD/RAD/QwD/QwD/RAA9K95PAAAAE3RSTlMAgMAQ8EAwYOCgP1Agz9CQcLCfDM+NwQAABcVJREFUeNrtndty4yAMQMXFxo6xsa3//9fdnW6HUpqAEpQoHc5DHzqtySlC5iK70Ol0Op1Op9PpdH49o1JqgYxFteUCvBiN/5hGSBgmbI0egRFj8QObNLMgA5bT5MBPplSPgxXY8Bj5Mk525GEBLnaMhPhtjTwo4EJhRPOLHPDJm4vEJlhFsoh7f5H/Wev9Rf7fR36ByMed/TeItJtr6ReJvGMTXURaE11EQBP+knI+V2S9pPg7l7QrZjxXJGdVIxTJ167yRP4yDZTe0IhSRSireWdRsgiigyoConARDHUe8kXwhCIO30GkHF2jfQ8RLCUvjW8issJNFnwXkUJwTe8jMt0cIfiNTX9leq6ITRrfKBuRIbVYZM1+l3QAz7WRNcubxs+1sZUMAonrkaRPPFxjSEJQokjyCYc6EZkrxKlKxGFEU1vxu1Ij8TRy91QRjRFV1SMrTcScca1AWfMc5n6RvS60DEXErLSTvzinWw1JJBsj5fuhoojMaVIss8UsTxFxRZHc1471Ioa6fFsw4utFRnszZiJHYlI/EheMzNTktFeLmDWZeFSvqlZTFqHn5Tz51Fwp98C9fP4cTSSJfPPAm2ll/m4iSOSgnPl6TDnkiJyY4mkLm1OKSPSoyylm+24iQyRgymYqC4AiQYKIo5cO5RtCrvx5HbXwItBEXGEzqHInxRVFfE16v2Y+FkUccXuu+Ht5K3moWFNZwRYvVBIZCx4Ek7Ek4i2xkSVGe0Ekj/WdXpgVWyuN6XH6+EEHlSw2VkfeEsk9ZiAwZybF5ORmrXcD1Zj90Icrzkt9wYNs4l+zZjdrwYNsspoXiOQeG5DZMpPni+QeBsiY3OTpIgfBg2ByPFvkxJTJwF2YCVPsE0RYarNHK+l8JPEgm5BFYkGdhwyvlHJkkejBYaJLBSD5LqI5PiJ9uUtkgIdY7hAZfl7yx1zq7hBx8CCOLGLsz2uTs2aGrAoe7U101S+cqUd5/qoIHlR2osiR3HtMHB8RTRSZoQkzTUSnySZcAC7BIkGEySOa0HskQhHJPRhNNCkUI/QxoqEhGy1rFSBlrc1AQ8xWLwLLAw9PqYJHexNNqF0jxLxi8oiYiRC5M9EjovkfRhwtYQjONI+Izj2YTeyd03EFJZHcg9cEbjNY/AFbmsNODSe8lenIlwZVwAxloEB6t2GD9ufyIQ3G4Mudnm7UsjERH0A1S9j+p9GwkPsc+NB3zYDG8a4l+wR8BO52eB96i+zpaG9Pmqj5GFuu2solfIxY3qe0Q1ozw8jB29KU7LtzsrPG1pIei3PiWd8uMbMPkcjGmLeMLUxK2WJrhqYormuXy4c8R4fwR1YeWzNbh0zAjUu7hKtDFLAzMe05BWS+G+YRwBLKY7aw58YQzicJrDWFl5xdcnJcdIZnYGz7o4uhUHjJg2q+92QsrUN4Nh1X8/AF16yA5zks2NbkKBw68HE0fcnaSSwA4hvveJrHPLhSL/34fTXNPBQ8lbmRiVl5a1zoBz92gDsY10IlEz/e4uMx4SzyDxB6lYr2xF49WlQ4cNR2WFKn7JZwbM2Ke+Q9MoMmnMpxEzBHD5UagjyuFDlMzpS6UqMsj2s1UPZcbmTc09LfPsOPw5+xxz5ChnefFjLyVfaYws9YfarLXwDGv19V0Pb6jy7wcozGh9k8SCDgg8wGZDBMWEZ0WOXLeDpBSnckbz4gsw0gjXvia3p50v0RNxE1dpDKQAgwLbM3YiFNVbfYeQTxjGEqWUhKuDfxbp6uzsHeoC8SzLArnWTasA8ypiIPFsnIu2N0kTemi0iji0iji0iji0iji0iji0iji0iji0iji0iji0iji0iji0ijizyfi7pFUoqqbrAYeCmLxUZYBURE1Tx85YSXMeB9iCsQOrApE7wKfBABtbLxsahHEZGgf43Ihk2x8CocIr7FP5YvorEhm4GXYQI2Qxt4JaPSTQjCp5SdTqfT6XQ6nU6nPX8Amb9dzXabEQUAAAAASUVORK5CYII=') no-repeat center center / 100% 100%;
553+
}
554+
518555

519556
.reload {
520557
width: 100%;
@@ -546,9 +583,26 @@ p{
546583

547584
}
548585
}
586+
/* 说明信息 */
587+
.info{
588+
z-index: 3;
589+
}
590+
.info-box{
591+
padding: 20px;
592+
}
593+
.info-box li{
594+
padding-left: 20px;
595+
position: relative;
596+
counter-increment: myNum;
597+
}
598+
.info-box li::before{
599+
content: counter(myNum) '.';
600+
margin-right: 8px;
549601

602+
}
550603
/* footer */
551604
footer {
605+
font-size: 10px;
552606
position: absolute;
553607
bottom: 0;
554608
left: 0;
@@ -569,6 +623,10 @@ footer {
569623
font-size: 14px;
570624
transform: translate(-50%, -50%) translateZ(0);
571625
}
626+
.info-box{
627+
padding: 20px;
628+
width: 220px;
629+
}
572630
.game-over{
573631
margin: 5px 0 0;
574632
}

gluttonousSnake/img/bangzhu.png

1.72 KB
Loading

gluttonousSnake/img/bg.png

100644100755
-22.4 KB
Loading

gluttonousSnake/img/bofang.png

2.7 KB
Loading

gluttonousSnake/img/cup.png

1.6 KB
Loading

gluttonousSnake/img/weibiaoti.png

1.79 KB
Loading

gluttonousSnake/img/zanting.png

2.12 KB
Loading

gluttonousSnake/index.html

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
77
<meta http-equiv="X-UA-Compatible" content="ie=edge">
88
<meta name="author" content="xing.org1^">
9-
<title>xing.org1^牌贪吃蛇小游戏</title>
9+
<title>小石头的贪吃蛇</title>
1010
<link rel="stylesheet" href="./css/style.css">
1111
</head>
1212

@@ -16,6 +16,7 @@
1616
<div class="header">
1717
<div class="pause-btn off" id="pause">开始</div>
1818
<!-- <div class="pause-btn on active">暂停</div> -->
19+
<div class="help" id="help"></div>
1920
<h2 class="score">
2021
分数:
2122
<span class="playing-score" id="score">0</span>
@@ -73,6 +74,18 @@ <h2 class="game-over">
7374
<p class="max-count" id="maxCountParent">历史最高<span id="maxCount">45</span></p>
7475
</div>
7576
</div>
77+
<!-- 游戏说明 -->
78+
<div class="layer info hide" id="helpLayer">
79+
<div class="info-box end-layer">
80+
<ul>
81+
<li>点击“开始游戏”,倒计时结束后操纵蛇头,使蛇头和食物发生碰撞,就算吃到食物,计1分;</li>
82+
<li>分数越高,蛇的运动速度越快;</li>
83+
<li>可点击右下角的方向键操控蛇头移动方向;</li>
84+
<li>电脑端可用上下左右键控制蛇头的移动方向;</li>
85+
<li>手机端可用手势滑动控制蛇头的移动方向;</li>
86+
</ul>
87+
</div>
88+
</div>
7689
<!-- footer -->
7790
<footer>
7891
copyright @xing.org1^ guojufeng <br/>20181213-20181215-20190201-20190608

gluttonousSnake/js/main.js

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,26 @@
22
* @Author: @Guojufeng
33
* @Date: 2018-12-13 14:55:22
44
* @Last Modified by: @Guojufeng
5-
* @Last Modified time: 2019-06-08 17:46:33
5+
* @Last Modified time: 2019-06-08 18:47:29
66
* +移动端
77
*/
88

99
(function () {
1010
var debug = false,
1111
isPhone = xingorg1Utils.isPhone();
12-
startX = 0,
12+
startX = 0,
1313
startY = 0,
1414
pauseDom = document.getElementById('pause'), //暂停|开始按钮
1515
foodDom = document.getElementById('food'), // 食物
1616
foodBodyDom = document.getElementById('foodBody'), //为了给食物改颜色获取的。
1717
snakeDom = document.getElementById('snake'), //蛇
1818
dirDom = document.getElementById('direction'), //方向手柄
1919
dirDomSpans = dirDom.getElementsByTagName('span'),
20+
helpBtn = document.getElementById('help'),//查看游戏说明
21+
helpLayer= document.getElementById('helpLayer'),
22+
showHelp = false;
2023
layerDom = document.getElementById('layer'); //计分板
2124

22-
2325
function SnakeGame() {
2426
var contDom = document.getElementById('cont');
2527
this.canOw = contDom.clientWidth; // 视口宽度
@@ -469,11 +471,25 @@
469471
console.log('支持localStorage,并且第一次打开游戏没有最高分记录')
470472
xingorg1Utils.wls.setItem('maxCount','0');
471473
}
472-
473474
/* // 第二种写法 - if的这两种写法,第二种没有加大括号的,if条件不成立时,setItem的函数调用也执行了啊。自己给自己留的坑
474475
if(window.localStorage && ls.getItem('maxCount') === null)
475476
ls.setItem('maxCount','0'); */
476477

478+
/* 添加help */
479+
helpBtn.onclick = function(){
480+
if(showHelp){
481+
helpLayer.className = 'layer hide'
482+
showHelp = false;
483+
}else{
484+
helpLayer.className = 'layer'
485+
showHelp = true;
486+
}
487+
}
488+
helpLayer.onclick = function(){
489+
helpLayer.className = 'layer hide'
490+
showHelp = false;
491+
}
492+
477493
}
478494

479495

0 commit comments

Comments
 (0)