HTML5(石头剪刀布游戏开发)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>HTML5-lufyLegend测试</title>
<script type="text/javascript" src="js/lufylegend-1.5.1.min.js"></script>
<script type="text/javascript" src="js/Box2dWeb-2.1.a.3.min.js"></script>
<script type="text/javascript" src="js/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(function(){
var backLayer = "";
var resultLayer = "";
var clickLayer = "";
var loadingLayer = "";
var enmeyBitmap = "";
var selfBitmap = "";
var imageList = {};
var showList = []; var selfTextAll="";
var selfTextWin="";
var selfTextLoss="";
var selfTextEq="";
var win = 0;
var lost = 0;
var eq = 0;
var imageData = new Array(
{ name:"title",path:"image/title.png"},
{ name:"shitou",path:"image/shitou.png"},
{ name:"jiandao",path:"image/jiandao.png"},
{ name:"bu",path:"image/bu.png"}
);
init(50,"mylegend",1500,500,main);
function main(){
backLayer = new LSprite();
addChild(backLayer);
loadingLayer = new LoadingSample3();
backLayer.addChild(loadingLayer);
LLoadManage.load(imageData,
function(data){
loadingLayer.setProgress(data);
},function(result){
imageList = result;
backLayer.removeChild(loadingLayer);
loadingLayer = null;
//游戏界面初始化
gameInit();
});
}
function gameInit(){
showList.push(new LBitmapData(imageList["shitou"]));
showList.push(new LBitmapData(imageList["jiandao"]));
showList.push(new LBitmapData(imageList["bu"]));
var titleBitmap = new LBitmap(new LBitmapData(imageList["title"]));
titleBitmap.x = 100;
titleBitmap.y = 10;
backLayer.addChild(titleBitmap);
//名称设定
var selfText = new LTextField();
selfText.text="玩家";
selfText.color="white";
selfText.weight = "bold";
selfText.x = 215;
selfText.y = 90;
backLayer.addChild(selfText);
//玩家方出拳图片
selfBitmap = new LBitmap(showList[0]);
selfBitmap.x = 170;
selfBitmap.y = 110;
backLayer.addChild(selfBitmap);
//我放出拳图片
enmeyBitmap = new LBitmap(showList[1]);
enmeyBitmap.x = 350;
enmeyBitmap.y = 110;
backLayer.addChild(enmeyBitmap);
//名称设定
var selfText = new LTextField();
selfText.text="电脑";
selfText.color="white";
selfText.x = 400;
selfText.weight = "bold";
selfText.y = 90;
backLayer.addChild(selfText);
backLayer.graphics.drawRect(1,"black",[0,0,600,700],true,"black");
backLayer.x = 300;
backLayer.y = 100;
//结果显示初始化
initialResult();
//操作层初始化
initialClick();
}
function initialResult(){
resultLayer = new LSprite();
resultLayer.graphics.drawRect(1,"black",[0,0,150,100],true,"white");
resultLayer.x = 10;
resultLayer.y = 117;
backLayer.addChild(resultLayer);
selfTextAll = new LTextField();
selfTextAll.text = "猜拳次数:0";
selfTextAll.x = 10;
selfTextAll.y = 10;
resultLayer.addChild(selfTextAll); selfTextWin = new LTextField();
selfTextWin.text = "胜利次数:0";
selfTextWin.x = 10;
selfTextWin.y = 30;
resultLayer.addChild(selfTextWin); selfTextLoss = new LTextField();
selfTextLoss.text = "失败次数:0";
selfTextLoss.x = 10;
selfTextLoss.y = 50;
resultLayer.addChild(selfTextLoss); selfTextEq = new LTextField();
selfTextEq.text = "平局次数:0";
selfTextEq.x = 10;
selfTextEq.y = 70;
resultLayer.addChild(selfTextEq);
} function initialClick(){
clickLayer = new LSprite();
clickLayer.graphics.drawRect(1,"black",[0,0,250,100],true,"white");
clickLayer.x = 200;
clickLayer.y = 280;
backLayer.addChild(clickLayer);
var text1 =new LTextField();
text1.text="请出拳";
text1.x = 10;
text1.y = 10;
clickLayer.addChild(text1);
var btn_Shitou = getButton("shitou");
var btn_Jiandao = getButton("jiandao");
var btn_Bu = getButton("bu");
btn_Shitou.x = 10;
btn_Shitou.y = 30;
btn_Jiandao.x = 90;
btn_Jiandao.y = 30;
btn_Bu.x = 170;
btn_Bu.y = 30;
btn_Shitou.addEventListener(LMouseEvent.MOUSE_UP,onclick);
btn_Jiandao.addEventListener(LMouseEvent.MOUSE_UP,onclick);
btn_Bu.addEventListener(LMouseEvent.MOUSE_UP,onclick);
clickLayer.addChild(btn_Shitou);
clickLayer.addChild(btn_Jiandao);
clickLayer.addChild(btn_Bu);
} function onclick(event,display){
var self,enmey;
if(display.name == "shitou"){
self = 0;
}else if(display.name == "jiandao"){
self = 1;
}else {
self = 2;
}
enmey = Math.floor(Math.random()*3);
selfBitmap.bitmapData = showList[self];
enmeyBitmap.bitmapData = showList[enmey];
var checkList = [[0,1,-1],[-1,0,1],[1,-1,0]];
var result = checkList[self][enmey];
if(result == -1){
lost +=1;
} else if(result == 1){
win+=1;
}else{
eq+=1;
}
selfTextAll.text = "猜拳次数:"+(lost+eq+win);
selfTextWin.text = "胜利次数:"+win;
selfTextLoss.text = "失败次数:"+lost;
selfTextEq.text = "平局次数:"+eq;
} function getButton(flag){
var btn_UP = new LBitmap(new LBitmapData(imageList[flag]));
btn_UP.scaleX= 0.5;
btn_UP.scaleY= 0.5;
var btn_Over = new LBitmap(new LBitmapData(imageList[flag]));
btn_Over.scaleX= 0.5;
btn_Over.scaleY= 0.5;
btn_Over.x = 1;
btn_Over.y = 1;
var btn = new LButton(btn_UP, btn_Over);
btn.name = flag;
return btn;
} });
</script>
</head>
<body>
<div id="mylegend">loading...</div>
</body>
</html>
HTML5(石头剪刀布游戏开发)的更多相关文章
- Html5 Egret游戏开发 成语大挑战(一)开篇
最近接触了Egret白鹭引擎,感觉非常好用,提供了各种各样的开发工具让开发者和设计者更加便捷,并且基于typescript语言开发省去了很多学习成本,对于我们这种掉微软坑许久的童鞋来说,确实很有吸引力 ...
- Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架
Phaser是一款专门用于桌面及移动HTML5 2D游戏开发的开源免费框架,提供JavaScript和TypeScript双重支持,内置游戏对象的物理属性,采用Pixi.js引擎以加快Canvas和W ...
- HTML5 Canvas游戏开发实战 PDF扫描版
HTML5 Canvas游戏开发实战主要讲解使用HTML5 Canvas来开发和设计各类常见游戏的思路和技巧,在介绍HTML5 Canvas相关特性的同时,还通过游戏开发实例深入剖析了其内在原理,让读 ...
- HTML5物理游戏开发 - 越野山地自行车(三)粉碎自行车
自上一章公布到如今已时隔四月,实在对不住大家.让大家久等了~话说不是我不关注我的博客,而是事情一多起来写博客的时间就少了. 待到今日有空了,回头看了看自己曾经写的文章,猛得发现已经四个月不曾写文章了. ...
- Html5 Egret游戏开发 成语大挑战(八)一般性二级页面处理
在游戏中,我们一般会有各种各样的二级页面,比如游戏暂停界面或者游戏结束界面,这些界面组成了对玩家交互主要手段,在游戏开发中,对于这些界面的coding组织是非常有学问的,如果倒退到十年前,游戏开发的老 ...
- Html5 Egret游戏开发 成语大挑战(六)游戏界面构建和设计
本篇将主要讲解游戏界面的构建和设计,会应用到egret.eui的自定义组件,可以很直观的构建一个游戏整体,这里我们仍然只需要使用EgretWing就可以达到目的,本篇可能是篇幅最少的一个,但是涉及自定 ...
- HTML5 Canvas游戏开发(三)lufylegend开源库件(上)
lufylegend可以解决HTML5开发游戏中会遇到的一些问题: 1.各种浏览器对于JavaScript和HTML的解析是不一致的. 2.手机浏览器和PC浏览器的区别. 3.JavaScript并非 ...
- Html5 Egret游戏开发 成语大挑战(九)设置界面和声音管理
在上一篇中,简单的使用界面元素快速实现了一个游戏中的二级页面,这种直接在游戏页面上做UI的做法并不太好,原因是,UI会让游戏的压力变大,即使它是隐蔽的,如果同样的功能在其它的地方也是一样的,那么就要写 ...
- Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理
本篇在前面的基础上,将进行逻辑的编码开发让游戏能够正式的玩起来,这里没有注重太多的体验细节,而是直接实现游戏的规则逻辑,将分成两个部分说明:数据处理和游戏逻辑. 初始化游戏数据 在前面的第五篇中,我们 ...
随机推荐
- 批量去掉文件中的^M
"^M"在Linux下的输入方法 ctrl v + ctrl m 方案一: find -type f | xargs sed -i 's/^M//g' 或者 find -name ...
- Android性能专项测试之耗电量统计API
版权声明:本文为Doctorq原创文章,未经博主允许不得转载. https://blog.csdn.net/qhshiniba/article/details/49155979 参考文章:Androi ...
- Maven项目如何将自定义文件添加到META-INF目录下
Maven项目如何将自定义文件添加到META-INF目录下 学习了:https://blog.csdn.net/yangjiegreat/article/details/78698655 <bu ...
- .NET中XML 注释 SandCastle 帮助文件.hhp 使用HTML Help Workshop生成CHM文件
一.摘要 在本系列的第一篇文章介绍了.NET中XML注释的用途, 本篇文章将讲解如何使用XML注释生成与MSDN一样的帮助文件.主要介绍NDoc的继承者:SandCastle. .SandCastle ...
- Unity3D开发基础组件提取总结
在游戏开发过程中,除了逻辑功能的开发之外,还有非常多基础的模块.这些模块,对大部分手机网络游戏来说都是一样的.所以,在上个游戏已经上线运营大半年之际,我认为有必要将这些模块整理出来.让后面其它游戏的开 ...
- js:"use strict"; 严格模式
http://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html
- 七款Debug工具推荐:iOS开发必备的调试利器
历时数周或数月开发出来了应用或游戏.可为什么体验不流畅?怎么能查出当中的纰漏?这些须要调试诊断工具从旁协助.调试是开发过程中不可缺少的重要一环.本文会列举几个比較有效的调试诊断工具,能够帮助你寻根究底 ...
- 【Sprint3冲刺之前】TD学生助手测试用例
项目名称 TDzhushou 项目承担部门 骐骥之队 完成日期 2014/5/29 历史版本: 版本/状态 作者 参与者 起止日期 备注 TDzhushou1.1 解凤娇 骐骥之队 5/3-5/7 2 ...
- 高性能HTTP加速器Varnish安装与配置(包含常见错误)
Varnish是一款高性能的开源HTTP加速器.挪威最大的在线报纸Verdens Gang使用3台Varnish取代了原来的12台Squid,性能竟然比曾经更好.Varnish 的作者Poul-Hen ...
- jdk并发工具包之锁
1.cynchronized扩展:可重锁入ReentrantLock ReentrantLock是通过cas算法实现的 RenntrantLock lock=new ReentrantLock(); ...