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游戏开发 成语大挑战(七)游戏逻辑和数据处理
本篇在前面的基础上,将进行逻辑的编码开发让游戏能够正式的玩起来,这里没有注重太多的体验细节,而是直接实现游戏的规则逻辑,将分成两个部分说明:数据处理和游戏逻辑. 初始化游戏数据 在前面的第五篇中,我们 ...
随机推荐
- 模糊测试工具Simple Fuzzer
模糊测试工具Simple Fuzzer 模糊测试是一种不同于渗透测试的漏洞检测方式.它向目标系统发送各种非预期的输入,然后通过监视异常结果来发现漏洞.Kali Linux虽然作为渗透测试系统平台, ...
- 网络安全---大学霸_ITDaren
http://blog.csdn.net/u014621518/article/category/2191665
- 避免在block中循环引用(Retain Cycle in Block)
让我们长话短说.请参阅如下代码: - (IBAction)didTapUploadButton:(id)sender { NSString *clientID = @"YOUR_CLIENT ...
- Web.config配置文件详解(新手必看) 【转】
来源 :http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置 ...
- 英语词组instead of的用法
nstead of 是个短语介词.Instead of 的意思是“代替……”.“而不……”, 在语言的实际运用中,instead o功能与连词十分相似,现归纳如下: 1.跟名词:I give him ...
- 2017.2.21 activiti实战--第十三章--流量数据查询与跟踪(一)查询接口介绍及运行时数据查询
学习资料:<Activiti实战> 第十三章 流量数据查询与跟踪 本章讲解运行时与历史数据的查询方法.主要包含三种:标准查询,Native查询,CustomSql查询. 13.1 Quer ...
- IP反查网站,ip反查接口,旁站查询接口大全,通过IP查域名汇总:
http://cn.bing.com/search?q=ip%3A220.181.111.85 http://dns.aizhan.com/?q=www.baidu.com http: ...
- js中推断浏览器类型
在实际看发展.有时候会遇到在IOS和Android中要用不同的方法处理网页.须要让网页返回当前浏览器的类型. /** * 推断浏览器类型 */ var Browse = function () { / ...
- linux 木马
参考 http://wangzan18.blog.51cto.com/8021085/1740113 http://www.cnblogs.com/jluzhsai/p/3756280.html ( ...
- vue2.0 仿手机新闻站(四)axios
1.axios的配置 main.js import Vue from 'vue' import App from './App.vue' // 引入 路由 import VueRouter from ...