例子:韩顺平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:// ...
随机推荐
- Tosska SQL Tuning Expert 工具优化SQL语句
对于SQL开发人员和DBA来说,根据业务需求写出一条正确的SQL很容易.但是SQL的执行性能怎么样呢?能优化一下跑得更快吗?如果不是资深的DBA,估计很多人都没有信心. 幸运的是,自动化优化工具可以帮 ...
- session与cookie的区别与联系
session与cookie是在做项目中很常用的会话技术,session与cookie也是面试中被问到频率最高的问题,有一次我去面试,面试官就怼着我session与cookie一直问(头都大了),下面 ...
- javascript设计模式——单例模式
前面的话 单例模式是指保证一个类仅有一个实例,并提供一个访问它的全局访问点. 单例模式是一种常用的模式,有一些对象往往只需要一个,比如线程池.全局缓存.浏览器中的window对象等.在javaScri ...
- ssm开发关于web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" ...
- 洛谷 P3927 Factorial
题目描述 SOL君很喜欢阶乘.而SOL菌很喜欢研究进制. 这一天,SOL君跟SOL菌炫技,随口算出了n的阶乘. SOL菌表示不服,立刻就要算这个数在k进制表示下末尾0的个数. 但是SOL菌太菜了于是请 ...
- 网络基础之 OSI七层模型
OSI七层模型模型图如下: 前三层(应用层,表示层,会话层)=>给用户提供服务. 后四层(传输层,网络层,数据链路层,物理层)=>数据传递提供服务. 其中 数据链路层中MAC地址负责局域网 ...
- jQuery使用serialize(),serializeArray()方法取得表单数据+字符串和对象类型两种表单提交的方法
原始form表单值获取方式(手动): $.ajax({ type: "POST", url: "ajax.php", data: "Name=摘取天上 ...
- HDU 1043 Eight (BFS·八数码·康托展开)
题意 输出八数码问题从给定状态到12345678x的路径 用康托展开将排列相应为整数 即这个排列在全部排列中的字典序 然后就是基础的BFS了 #include <bits/stdc++.h ...
- .NET作品集:linux下的.net mvc cms
cms程序架构 本程序是主要是用于企业网站开发的,也可以做博客程序,程序是从之前上一篇的.net 博客程序改进过来的,主要技术由webform转成.net mvc了,由于是很早之前的项目,12年还是m ...
- 解决IOS微信内置浏览器返回后不执行js脚本的问题
在A页面写一个$(function(){}) 后随便点击一个URL跳转到B页面 利用微信内置浏览器 返回键返回到A页面后发现这段JS不执行,后来找到了解决方案 $(function () { var ...