我是靠谱客的博主 魁梧外套,这篇文章主要介绍最强大脑-星际迷航-JQuery 版本,现在分享给大家,希望可以做个参考。

最强大脑上小四鄙视星际迷航的项目,认为就是放大版的找茬。个人感觉项目难度还是非常高的。闲来无事,用jquery写了一个类似的小游戏。

 

使用JQuery + Bootstrap 的框架来搭建html,结构如下:

game

    --css

    --js

    --fonts

    --game.html

 

新建一个文件夹game。

从 http://d.bootcss.com/bootstrap-3.3.5-dist.zip 下载bootstrap,解压后把所有的文件夹(css, fonts, js)都copy到game目录下,再从http://code.jquery.com/jquery-1.12.0.js 下载jquery,并copy到game/js目录中,在game/css目录中新建game.css文件,在game/js中新建game.js, 在game目录中新建game.html。

 

然后用编辑工具打开上面的三个文件,贴上内容:

 

 game.css

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
body { background-color: gray; } #screens { height: 200px; } #leftScreen { position: relative; height: 100%; background-color: black; border-right: 2px solid gray; padding: 0px; } #rightScreen { position: relative; height: 100%; background-color: black; border-left: 2px solid gray; padding: 0px; } #controllers { height: 40px; line-height: 40px; background-color: green; } #controllers button { height: 40px; } @keyframes circle-show { 0% { transform: scale(0); } 25% { transform: scale(0.25); } 50% { transform: scale(0.5); } 75% { transform: scale(0.75); } 100% { transform: scale(1); } } @-webkit-keyframes circle-show { 0% { -webkit-transform: scale(0); } 25% { -webkit-transform: scale(0.25); } 50% { -webkit-transform: scale(0.5); } 75% { -webkit-transform: scale(0.75); } 100% { -webkit-transform: scale(1); } } .circle { position: absolute; -webkit-animation: circle-show 3s; -moz-animation: circle-show 3s; animation: circle-show 3s; width: 6px; height: 6px; border-radius: 50%; background-color: white; } .circle-hidden { display:none; } .circle-find { background-color: red; }

 

game.js

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
var LEVEL = { 1 : { n : 10, t : 20 }, 2 : { n : 20, t : 30 }, 3 : { n : 50, t : 100 }, 4 : { n : 200, t : 500 }, 5 : { n : 500, t : 1000 }, 6 : { n : 1000, t : 2000 } }; var FIND = 5; var timer = false; var data = { status : -1, level : 0, time : -1, pass:false, find : FIND }; var HEIGHT = 0, WIDTH = 0; var resizeWin = function() { var windowHeight = $(window).height(); var screensHeight = windowHeight - 41; $("#screens").css('height', screensHeight); $("#screens").css('max-height', screensHeight); HEIGHT = $("#leftScreen").height(); WIDTH = $("#leftScreen").width(); }; var start = function() { clean(); data.status = 1; fillScreens(); data.time = LEVEL[data.level].t; startTime(); }; var next = function() { if (!data.status || data.status == -1) { alert("客官请点隔壁的开始游戏按钮!"); return; } if (data.status == -2) { alert("客官你当前关卡都伺候不好,还好意思找其他关卡!"); return; } if (data.status == 9) { alert("客官,你太猛啦,没有关卡啦!"); return; } if (data.pass) { data.status = 1; fillScreens(); if (LEVEL[data.level]){ data.time = LEVEL[data.level].t; } } else { alert("客官别着急啊,本轮的关卡你还没有伺候好呢!"); } }; var clean = function() { data = { status : -1, level : 0, time : -1, pass:false, find : FIND }; $("#leftScreen").empty(); $("#rightScreen").empty(); }; var fillScreens = function() { if (data.level >= 6) { alert('更多关卡敬请期待!'); data.level ++; data.status = 9; score(); return; } data.level++; $("#rightScreen .circle").unbind('click'); $("#level").text(data.level); $("#leftScreen").empty(); $("#rightScreen").empty(); var n = LEVEL[data.level].n; for (var i = 0; i < n; i++) { var circleLeft = createCircle(); var circleRight = createCircle(); var position = getPositions(); circleLeft.css(position[0]); circleLeft.addClass("c" + i); circleLeft.attr("index", i); circleRight.css(position[1]); circleRight.addClass("c" + i); circleRight.attr("index", i); $("#leftScreen").append(circleLeft); $("#rightScreen").append(circleRight); } var map = {}; for (var j = 0 ; j < 3; j++) { var rindex = -1; while(rindex == -1) { rindex = randomNumber(n); if (!map[rindex]){ map[rindex] = {find:false}; $("#leftScreen .c"+rindex).addClass('circle-hidden'); } else { rindex = -1; } } } data.points = map; $("#rightScreen .circle").bind('click', clickCircle); }; var clickCircle = function() { var index = $(this).attr('index'); var flag = false; for (var i in data.points){ if (index == i) { if (!data.points[i].find) { flag = true; data.points[i].find = true; $("#rightScreen .c"+ index).addClass('circle-find'); break; } } } if (!flag) { data.time = data.time - 5; data.time = data.time < 0 ? 0 : data.time; } else { checkAnswers(); } }; var createCircle = function() { return $("<div class='circle'></div>"); }; var getPositions = function() { var h = HEIGHT - 10 + 1, w = WIDTH - 10 + 1; var l = randomNumber(w); var t = randomNumber(h); return [ { left : l, top : t }, { left : WIDTH - 10 - l, top : t } ]; }; var randomNumber = function(i) { return Math.floor(Math.random() * i); }; var startTime = function() { if (!timer){ data.time = LEVEL[data.level].t; calTime(); timer = true; } }; var calTime = function() { if (data.status == 1) { if (data.time > 0) { $('#time').text(data.time); data.time--; } else { $('#time').text('0'); data.status = -2; score(); } } else if (data.status == 2){ } else { $('#time').text('0'); } setTimeout(calTime, 1000); }; var checkAnswers = function() { var total = 0, finds = 0; for (var i in data.points){ total ++; if (data.points[i].find) { finds++; } } if (total == finds) { data.status = 2; data.pass = true; alert("恭喜客官,闯关成功,下面的关卡更强大哦!手动点下一关把!"); } }; var score = function() { var t = data.level - 1; alert("恭喜客官, 你总共征服了【" + t + "】个关卡!"); }; var find = function() { if (data.find > 0) { var flag = false; for (var i in data.points){ if (!data.points[i].find) { data.points[i].find = true; $("#rightScreen .c"+ i).addClass('circle-find'); flag = true; break; } } if (flag) { data.find --; $("#find .badge").text(data.find); checkAnswers(); } else { alert("当前关卡已经没有可以提示的了,全找出来啦"); } } else { alert("没有机会了!"); } }; $(document).ready(function() { resizeWin(); $("#start").click(start); $("#next").click(next); $("#find").click(find); $("#find .badge").text(FIND); }); $(window).resize(function() { resizeWin(); });

 game.html:

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>星际迷航</title> <link href="css/bootstrap.css" rel="stylesheet"> <link href="css/game.css" rel="stylesheet"> <script src="js/jquery-1.12.0.js"></script> <script src="js/bootstrap.js"></script> <script src="js/game.js"></script> </head> <body> <div class="container-fluid"> <div id = "controllers" class="row"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <button id="start" class="btn btn-primary"><span class="glyphicon glyphicon-play"></span> 开始游戏</button> <button id="next" class="btn btn-primary"><span class="glyphicon glyphicon-forward"></span> 下一关</button> <button class="btn btn-primary"><span class="glyphicon glyphicon-tag"></span> 第 <span class="badge" id="level">0</span> 关</button> <button class="btn btn-primary"><span class="glyphicon glyphicon-time"></span> 剩余 <span class="badge" id="time" >0</span> 秒</button> <button id="find" class="btn btn-warning"><span class="glyphicon glyphicon-search"></span> 提示<span class="badge">0</span></button> </div> </div> <div id="screens" class="row"> <div id ="leftScreen" class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> </div> <div id ="rightScreen" class="col-xs-6 col-sm-6 col-md-6 col-lg-6"> </div> </div> </div> </body> </html>

 

这样本地的就搭建好了,双击game.html,就可以打开游戏画面:

 

 

点击开始游戏,屏幕中会出现小白点,左边和右边是按中间的白线对称的,每一关左边的都比右边的少3个点,点击右边屏幕里面白点来找出多余的三个点,点错了会扣5秒钟。全部找齐后可以点击下一关。

 

 

最后

以上就是魁梧外套最近收集整理的关于最强大脑-星际迷航-JQuery 版本的全部内容,更多相关最强大脑-星际迷航-JQuery内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(54)

评论列表共有 0 条评论

立即
投稿
返回
顶部