1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>A Little Game!</title>
5 <meta charset="utf-8" />
6 <style>
7 html,body{
8 height:100%;
9 width: 100%;
10 margin: 0;
11 padding: 0;
12 }
13
14 body{
15 background-color: black;
16 }
17 #playground{
18 background-color: white;
19 position: absolute;
20 width: 800px;
21 height: 400px;
22 left: 50%;
23 top: 50%;
24 margin-left: -400px;
25 margin-top: -200px;
26 }
27 </style>
28 </head>
29 <body>
30 <div id="playground"></div>
31 <script type="text/javascript" src="js/lufylegend-1.10.1.js.js"></script>
32 <script>
33 var playerData = {
34 win : 0,
35 lose : 0,
36 dogfall : 0,
37 jiandan : 0,
38 shitou : 0,
39 bu : 0
40 };
41
42 var computerData = {
43 win : 0,
44 lose : 0,
45 dogfall : 0,
46 jiandan : 0,
47 shitou : 0,
48 bu : 0
49 };
50
51 var playground;
52 var backlayer;
53 var graphic;
54 var loadManager ;
55 var loadingProgress;
56 var bitmapData;
57 var title;
58
59 var clicklayer;
60 var jiandanBtn;
61 var shitouBtn;
62 var buBtn;
63
64 var playerBitmap;
65 var computerBitmap;
66
67 var playStatus;
68 var computerStatus;
69 var winText1;
70 var loseText1;
71 var dogFallText1;
72 var jiandanText1;
73 var shitouText1;
74 var buText1;
75 var winText2;
76 var loseText2;
77 var dogFallText2;
78 var jiandanText2;
79 var shitouText2;
80 var buText2;
81
82 var imgList = Array();
83 var imgData = [
84 { name : "title",path : "./images/title.png"},
85 { name : "bu",path : "./images/bu.png"},
86 { name : "jiandao",path : "./images/jiandao.png"},
87 { name : "shitou",path : "./images/shitou.png"}
88 ];
89
90 playground = document.getElementById("playground");
91
92 init(50,"playground",800,400,main);
93
94 function main()
95 {
96 backlayer = new LSprite();
97 addChild(backlayer);
98
99 loadingProgress = new LoadingSample3();
100 backlayer.addChild(loadingProgress);
101
102 LLoadManage.load(imgData,function(p){
103 loadingProgress.setProgress(p);
104 },gameInit);
105 }
106
107 function gameInit(result)
108 {
109 backlayer.removeChild(loadingProgress);
110 loadingProgress = null;
111
112 // 存储图片的数据
113 imgList.push(new LBitmapData(result["title"]));
114 imgList.push(new LBitmapData(result["jiandao"]));
115 imgList.push(new LBitmapData(result["shitou"]));
116 imgList.push(new LBitmapData(result["bu"]));
117
118 // 标题
119 title = new LBitmap(imgList[0]);
120 title.x = playground.clientWidth/2 - title.getWidth()/2;
121 backlayer.addChild(title);
122
123 // 三八线
124 backlayer.graphics.drawLine(1,"#06061F",[playground.clientWidth/2,title.getHeight(),playground.clientWidth/2,playground.clientHeight-title.getHeight()]);
125
126 // 显示玩家的名称
127 var computerText = new LTextField();
128 computerText.text = "电脑";
129 computerText.color = "#250012";
130 computerText.size = 17;
131 computerText.font = "Calibri Light";
132 computerText.x = playground.clientWidth/4 - computerText.getWidth()/2;
133 computerText.y = playground.clientHeight-title.getHeight();
134 backlayer.addChild(computerText);
135
136 var playerText = new LTextField();
137 playerText.text = "玩家";
138 playerText.color = "#250012";
139 playerText.size = 17;
140 playerText.font = "Calibri Light";
141 playerText.x = (playground.clientWidth/4)*3 - playerText.getWidth()/2;
142 playerText.y = playground.clientHeight - title.getHeight();
143 backlayer.addChild(playerText);
144
145 // 放置剪刀、石头、布的图片
146 var jiandaoUp = new LBitmap(imgList[1]);
147 jiandaoUp.scaleX = 0.5;
148 jiandaoUp.scaleY = 0.5;
149 var jiandaoOver = new LBitmap(imgList[1]);
150 jiandaoOver.scaleX = 0.5;
151 jiandaoOver.scaleY = 0.5;
152 jiandanBtn = new LButton(jiandaoUp,jiandaoOver);
153 jiandanBtn.name = "jiandao";
154 jiandanBtn.x = 0;
155 jiandanBtn.y = 0;
156
157 var shitouUp = new LBitmap(imgList[2]);
158 shitouUp.scaleX = 0.5;
159 shitouUp.scaleY = 0.5;
160 var shitouOver = new LBitmap(imgList[2]);
161 shitouOver.scaleX = 0.5;
162 shitouOver.scaleY = 0.5;
163 shitouBtn = new LButton(shitouUp,shitouOver);
164 shitouBtn.name = "shitou";
165 shitouBtn.x = jiandanBtn.getWidth() + 10;
166 shitouBtn.y = 0;
167
168 var buUp= new LBitmap(imgList[3]);
169 buUp.scaleX = 0.5;
170 buUp.scaleY = 0.5;
171 var buOver = new LBitmap(imgList[3]);
172 buOver.scaleX = 0.5;
173 buOver.scaleY = 0.5;
174 buBtn = new LButton(buUp,buOver);
175 buBtn.name = "bu";
176 buBtn.x = shitouBtn.getWidth() + jiandanBtn.getWidth() + 20;
177 buBtn.y = 0;
178
179 clicklayer = new LSprite();
180 clicklayer.width = jiandaoUp.getWidth() * 3 + 30;
181 clicklayer.height = title.getHeight();
182 clicklayer.x = playground.clientWidth/2 - clicklayer.width/2;
183 clicklayer.y = playground.clientHeight - title.getHeight();
184
185 clicklayer.addChild(jiandanBtn);
186 clicklayer.addChild(shitouBtn);
187 clicklayer.addChild(buBtn);
188 backlayer.addChild(clicklayer);
189
190 // 显示统计数据
191 computerStatus = new LSprite();
192 computerStatus.graphics.drawRect(1,'#250012',[0,title.getHeight()+10,150,200],true,"#ffffff");
193 backlayer.addChild(computerStatus);
194
195 playStatus = new LSprite();
196 playStatus.graphics.drawRect(1,"250012",[playground.clientWidth-150,title.getHeight()+10,150,200],true,"#ffffff");
197 backlayer.addChild(playStatus);
198
199 initTextStatus();
200
201 // 监听事件
202 jiandanBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
203 shitouBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
204 buBtn.addEventListener(LMouseEvent.MOUSE_UP,onBtnClick);
205 }
206
207 function onBtnClick(e,btn)
208 {
209 var player,computer;
210
211 switch(btn.name)
212 {
213 case "jiandao":
214 player = 1;
215 playerData.jiandan += 1;
216 break;
217 case "shitou":
218 player = 2;
219 playerData.shitou += 1;
220 break;
221 case "bu":
222 player = 3;
223 playerData.bu += 1;
224 break;
225 }
226 // 电脑随机出拳
227 computer = Math.ceil(Math.random()*3);
228 switch(computer)
229 {
230 case 1:
231 computerData.jiandan += 1;
232 break;
233 case 2:
234 computerData.shitou += 1;
235 break;
236 case 3:
237 computerData.bu += 1;
238 break;
239 }
240
241 // 显示出拳结果
242 computerBitmap = new LBitmap(imgList[computer]);
243 computerBitmap.x = playground.clientWidth/2 - computerBitmap.getWidth() - 10;
244 computerBitmap.y = playground.clientHeight/2 - computerBitmap.getHeight()/2;
245 backlayer.addChild(computerBitmap);
246
247 playerBitmap = new LBitmap(imgList[player]);
248 playerBitmap.x = playground.clientWidth/2 + 10;
249 playerBitmap.y = playground.clientHeight/2 - playerBitmap.getHeight()/2;
250 backlayer.addChild(playerBitmap);
251
252 // 平局
253 if(player == computer)
254 {
255 playerData.dogfall += 1;
256 computerData.dogfall += 1;
257 }
258 else if(player-1 == computer || player+2 == computer) // 胜场
259 {
260 playerData.win += 1;
261 computerData.lose += 1;
262 }
263 else
264 {
265 playerData.lose += 1;
266 computerData.win += 1;
267 }
268
269 winText2.text = "Win : " + playerData.win;
270 loseText2.text = "Lose : " + playerData.lose;
271 dogFallText2.text = "DogFall : " + playerData.dogfall;
272 jiandanText2.text = "JianDao : " + playerData.jiandan;
273 shitouText2.text = "ShiTou : " + playerData.shitou;
274 buText2.text = "Bu : " + playerData.bu;
275
276 winText1.text = "Win : " + computerData.win;
277 loseText1.text = "Lose : " + computerData.lose;
278 dogFallText1.text = "DogFall : " + computerData.dogfall;
279 jiandanText1.text = "JianDao : " + computerData.jiandan;
280 shitouText1.text = "ShiTou : " + computerData.shitou;
281 buText1.text = "Bu : " + computerData.bu;
282 }
283
284 function initTextStatus()
285 {
286 winText1 = new LTextField();
287 winText1.x = 10;
288 winText1.y = title.getHeight() + 15;
289 winText1.text = "Win : " + computerData.win;
290 computerStatus.addChild(winText1);
291
292 loseText1 = new LTextField();
293 loseText1.x = 10;
294 loseText1.y = title.getHeight() + 35;
295 loseText1.text = "Lose : " + computerData.lose;
296 computerStatus.addChild(loseText1);
297
298 dogFallText1 = new LTextField();
299 dogFallText1.x = 10;
300 dogFallText1.y = title.getHeight() + 55;
301 dogFallText1.text = "DogFall : " + computerData.dogfall;
302 computerStatus.addChild(dogFallText1);
303
304 jiandanText1 = new LTextField();
305 jiandanText1.x = 10;
306 jiandanText1.y = title.getHeight() + 75;
307 jiandanText1.text = "JianDao : " + computerData.jiandan;
308 computerStatus.addChild(jiandanText1);
309
310 shitouText1 = new LTextField();
311 shitouText1.x = 10;
312 shitouText1.y = title.getHeight() + 95;
313 shitouText1.text = "ShiTou : " + computerData.shitou;
314 computerStatus.addChild(shitouText1);
315
316 buText1 = new LTextField();
317 buText1.x = 10;
318 buText1.y = title.getHeight() + 115;
319 buText1.text = "Bu : " + computerData.bu;
320 computerStatus.addChild(buText1);
321
322 winText2 = new LTextField();
323 winText2.x = playground.clientWidth - 140;
324 winText2.y = title.getHeight() + 15;
325 winText2.text = "Win : " + playerData.win;
326 playStatus.addChild(winText2);
327
328 loseText2 = new LTextField();
329 loseText2.x = playground.clientWidth - 140;
330 loseText2.y = title.getHeight() + 35;
331 loseText2.text = "Lose : " + playerData.lose;
332 playStatus.addChild(loseText2);
333
334 dogFallText2 = new LTextField();
335 dogFallText2.x = playground.clientWidth - 140;
336 dogFallText2.y = title.getHeight() + 55;
337 dogFallText2.text = "DogFall : " + playerData.dogfall;
338 playStatus.addChild(dogFallText2);
339
340 jiandanText2 = new LTextField();
341 jiandanText2.x = playground.clientWidth - 140;
342 jiandanText2.y = title.getHeight() + 75;
343 jiandanText2.text = "JianDao : " + playerData.jiandan;
344 playStatus.addChild(jiandanText2);
345
346 shitouText2 = new LTextField();
347 shitouText2.x = playground.clientWidth - 140;
348 shitouText2.y = title.getHeight() + 95;
349 shitouText2.text = "ShiTou : " + playerData.shitou;
350 playStatus.addChild(shitouText2);
351
352 buText2 = new LTextField();
353 buText2.x = playground.clientWidth - 140;
354 buText2.y = title.getHeight() + 115;
355 buText2.text = "Bu : " + playerData.bu;
356 playStatus.addChild(buText2);
357 }
358 </script>
359 </body>
360 </html>