例子:韩顺平JavaScript----JS乌龟抓小鸡游戏
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>乌龟抓小鸡</title>
</head>
<body onkeydown="return move(event)"> <script language="JavaScript">
//相应用户点击按钮或者按下键盘
function move(obj){
//乌龟的高度和宽度
var wugui_height=45;
var wugui_width=75;
//公鸡的高度和宽度
var cock_height=53;
var cock_width=64;
//得到乌龟所在的div对象 DOM编程
var wugui=document.getElementById("wugui");
if(window.event){//window.event可以判断用户是通过按键盘还是点击 控制乌龟的
key=obj.keyCode;//获得用户按下键的code
}
var wugui_top=wugui.style.top;
var wugui_left=wugui.style.left;
//把获取的100px转成100;
wugui_top=parseInt(wugui_top.substring(0,wugui_top.indexOf("p")));
wugui_left=parseInt(wugui_left.substring(0,wugui_left.indexOf("p")));
//判断用户按的哪个键
if(obj.value=="向下"||key==83){
wugui_top=wugui_top+10;
wugui.style.top=(wugui_top+10)+"px";
}
else if(obj.value=="向上"||key==87){
wugui_top=wugui_top-10;
wugui.style.top=(wugui_top-10)+"px";
}
else if(obj.value=="向左"||key==65){
wugui_left=wugui_left-10;
wugui.style.left=(wugui_left-10)+"px"
}
else if(obj.value=="向右"||key==68){
wugui_left=wugui_left+10;
wugui.style.left=(wugui_left+10)+"px";
} //得到公鸡的left和top
var cock=document.getElementById("cock");
//得到公鸡当前的top和left
var cock_top=cock.style.top;
var cock_left=cock.style.left; //处理px后缀
cock_top=parseInt(cock_top.substring(0,cock_top.indexOf("p")));
cock_left=parseInt(cock_left.substring(0,cock_left.indexOf("p")));
//判断是否碰到公鸡
y=Math.abs(cock_top-wugui_top);//公鸡乌龟两点间的纵坐标绝对值
x=Math.abs(cock_left-wugui_left);//公鸡乌龟两点间的横坐标的绝对值 //方法一
xx=0;
yy=0; if(wugui_top<cock_top){//判断乌龟公鸡谁在上面 如果乌龟在上面
if(y<wugui_height) {
yy=1;
}
}
else{//乌龟在下面
if(y<cock_height){
yy=1;
}
} if(wugui_left<cock_left){//判断乌龟公鸡谁在左侧 if(x<wugui_width)//75 如果乌龟在左侧
{
xx=1;
}
}
else{
if(x<cock_width)//64
{
xx=1;
}
} if(xx==1&&yy==1)
{
alert("乌龟好猛啊");
}
}
</script>
<table border='1'>
<tr><td colspan="3" align="center">控制区域</td></tr>
<tr><td></td><td>
<input type="button" value="向上" onclick="move(this)"/>
</td><td></td></tr>
<tr><td>
<input type="button" value="向左" onclick="move(this)"/>
</td><td></td><td>
<input type="button" value="向右" onclick="move(this)"/>
</td></tr>
<tr><td></td><td>
<input type="button" value="向下" onclick="move(this)"/>
</td><td></td></tr>
</table>
<!--放乌龟 --->
<div id="wugui" style="position:absolute;left:100px;top:320px;">
<img src="1.png" border="1"/>
</div> <div id="cock" style="position:absolute;left:200px;top:300px;">
<img src="2.png" border="1"/>
</div>
</body>
</html>
例子:韩顺平JavaScript----JS乌龟抓小鸡游戏的更多相关文章
- jsDOM编程-乌龟抓小鸡游戏
<html> <head> <title>js乌龟抓小鸡游戏 </title> <meta http-equiv="conten ...
- 韩顺平dedecms讲解上课记录
感谢韩顺平: 如何打开php的gd库,通过php设置->php扩展-->phpdb库;打上勾就行: dede存在四张十分重要的表,channeltype,模型表最原始的发源arctype: ...
- HTML5坦克大战(韩顺平版本)
HTML5坦克大战(韩顺平版本) 2017-3-22 22:46:22 by SemiconductorKING 去年暑假学习了一下HTML5实现简单的坦克大战,觉得对JavaScript初学者来说, ...
- 韩顺平Java(持续更新中)
原创上课笔记,转载请注明出处 第一章 面向对象编程(中级部分) PDF为主 1.1 IDEA 删除当前行,ctrl+y 复制当前行,ctrl+d 补全代码,alt+/ 添加或者取消注释,ctrl+/ ...
- 【MarkMark学习笔记学习笔记】javascript/js 学习笔记
1.0, 概述.JavaScript是ECMAScript的实现之一 2.0,在HTML中使用JavaScript. 2.1 3.0,基本概念 3.1,ECMAScript中的一切(变量,函数名,操作 ...
- 韩顺平Oracle笔记
韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring 目录(?)[-] ...
- javascript(js)小数精度丢失的解决方案
原因:js按照2进制来处理小数的加减乘除,在arg1的基础上 将arg2的精度进行扩展或逆扩展匹配,所以会出现如下情况. javascript(js)的小数点加减乘除问题,是一个js的bug如0.3* ...
- 【转】关于URL编码/javascript/js url 编码/url的三个js编码函数
来源:http://www.cnblogs.com/huzi007/p/4174519.html 关于URL编码/javascript/js url 编码/url的三个js编码函数escape(),e ...
- paip.java 以及JavaScript (js) 的关系以及区别
paip.java 以及JavaScript (js) 的关系以及区别 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http:// ...
随机推荐
- 51Nod--1085背包问题
1085 背包问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 收藏 关注 在N件物品取出若干件放在容量为W的背包里,每件物品的体积为W1,W2--Wn(Wi为整 ...
- page 简单易懂 分页
基础分页功能 <?php class Page{ //$count是用户设定的值 public $a; function pages($count,$page_num,$url ...
- PHP实现的进度条效果详解
<?php //防止执行超时 set_time_limit(0); //清空并关闭输出缓存 ob_end_clean(); //需要循环的数据 for($i = 0; $i < 188 ...
- 来个Button看一看
0.目录 1.前言 2.基本属性与方法 3.点点更健康 4.我的Button有点多 5.震惊!TextView竟然... 1.前言 每次写代码总会忘记一些东西,又要重新Goooooooooogle,好 ...
- python掉微信api
# -*- coding:utf-8 -*-import requestsimport jsonimport sys# 企业号及应用相关信息corp_id = 'xxxx'corp_secret = ...
- SQL_Server 学习笔记(一)
一:SQL基础 1 SQL SELECT DISTINCT 语法 SELECT DISTINCT Company FROM Orders 2.TOP SELECT TOP number|percent ...
- CAN通讯的总结
1.CAN通讯有套国际标准,套协议版本号,种故障状态,种数据帧类型,种总线错误类型. 2.CAN的国际标准有两种ISO11898和ISO11519. 3.CAN2.0协议分为A版和B版两种,A版协议仅 ...
- pku 2488 A Knight's Journey (搜索 DFS)
A Knight's Journey Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 28697 Accepted: 98 ...
- OSX: Scripts,让BootCamp在不论什么Mac上支持生成Windows7的USB安装盘
为什么要做这个呢,由于BootCamp仅仅有在默认的Mac上才会有生成USB安装盘的选项.这个脚本就是为了确保用户使用它在不论什么一个Mac机器上都能够生成Windows的USB安装盘.当然了,假设你 ...
- 给新手--安装tomcat后username和password设置以及项目怎么部署在tomcatserver上
安装后tomcatserver后.登陆首先就是让输入username和password.但是我们在安装tomcat的过程中好像没有让设置username和password,这时候可能有人就抓狂了.还有 ...