php设计超级玛丽人物,面向对象实现简单版的超级马里奥小游戏
采用面向对象思想设计简略版的超级马里奥游戏人物(示意图)
游戏的分析:
(1)看看如何通过按钮来控制mario的位置
(2)设计相关的对象(mario、障碍物等)
游戏小功能:
(1)通过键盘控制mario移动;
(2)mario碰到边界会有提示信息;
(3)mario找到宝藏会提示信息;
敲重点,提供源代码:
html代码:
function Mario(){
this.x=0;
this.y=0;
//移动 0->上 1->左 2->右 3->下
this.move=function(direct){
switch(direct){
case 0: //这里为了改变img的left和top,我们需要得到img元素(对象)
var mymario=document.getElementById('mymario');
var top=mymario.style.top;
top=parseInt(top.substr(0,top.length-2));
var left=mymario.style.left;
left=parseInt(left.substr(0,left.length-2));
newtop=top-10;
if(newtop==-10){
window.alert("已到达上边界");
} else{
mymario.style.top=(newtop)+"px";
} if(newtop==460&&left==610){
window.alert("mario找到宝箱啦")
} break;
case 1:
var mymario=document.getElementById('mymario');
var left=mymario.style.left;
left=parseInt(left.substr(0,left.length-2));
var top=mymario.style.top;
top=parseInt(top.substr(0,top.length-2));
newleft=left-10;
if(newleft==-10){
window.alert("已到达左边界")
} else{
mymario.style.left=(left-10)+"px";
} if(top==400&&newleft==660){
window.alert("mario找到宝箱啦")
} break;
case 2:
var mymario=document.getElementById('mymario');
var left=mymario.style.left;
left=parseInt(left.substr(0,left.length-2));
var top=mymario.style.top;
top=parseInt(top.substr(0,top.length-2));
newleft=left+10;
if(newleft==760){
window.alert("已到达右边界")
} else{
mymario.style.left=(left+10)+"px";
} if(top==400&&newleft==570){
window.alert("mario找到宝箱啦")
} break;
case 3:
var mymario=document.getElementById('mymario'); var top=mymario.style.top;
top=parseInt(top.substr(0,top.length-2));
var left=mymario.style.left;
left=parseInt(left.substr(0,left.length-2));
newtop=top+10;
if(newtop==450){
window.alert("已到达下边界");
} else{
mymario.style.top=(top+10)+"px";
} if(newtop==360&&left==610){
window.alert("mario找到宝箱啦")
} break;
}
}
} //创建Mario对象
var mario=new Mario();//全局函数
也可以去掉这个全局函数直接在onclick调用对象方法mario.move();
function marioMove(direct){
switch(direct){
case 0:
mario.move(direct);
break;
case 1:
mario.move(direct);
break;
case 2:
mario.move(direct);
break;
case 3:
mario.move(direct);
break;
}
}
游戏键盘 | ||
** | ** | |
** | ||
** | ** |
.gamep {
width:800px;
height:500px;
background-color:pink;
position:absolute;
margin-left:0px;
}
/*表格样式*/
.controlcenter {
width:200px;
height:100px;
border:1px solid silver;
text-align:center;
margin-top:530px;
position:absolute;
}
php设计超级玛丽人物,面向对象实现简单版的超级马里奥小游戏相关推荐
- 简单版的三子棋小游戏
不只是三子棋游戏,写任何游戏的代码都需要缕清思路才能动手去做,且必须要有条理性. 要想玩游戏,首先都会有一个选择界面,即是否进行游戏.那么我们就创建一个菜单好了. 当然,要先有一个游戏主体,如下所示: ...
- Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码
今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...
- Docker容器(1):安装docker,上线简单的2048,马里奥小游戏
Docker基础知识 可以参考上一篇文章Docker基础知识 安装并启动Docker 实验环境: server5主机部署docker ip:172.25.38.5 #基础软件仓库网络等都已配好 #以下 ...
- python人狗大战游戏_day22 01 初识面向对象----简单的人狗大战小游戏
day22 01 初识面向对象----简单的人狗大战小游戏 假设有一个简单的小游戏:人狗大战 怎样用代码去实现呢? 首先得有任何狗这两个角色,并且每个角色都有他们自己的一些属性,比如任务名字nam ...
- 使用UE4制作简单的局域网对战小游戏
原帖地址:https://arcecho.github.io/2017/04/28/使用UE4制作简单的局域网对战小游戏/ 大多数文章都是只讲到大致的UE4网络的概念,并未涉及实际使用.事实上在使用的 ...
- 熊猫屁王:中国版的超级马里奥?
赚钱赚到手抽筋的<功夫熊猫>再次验证了国宝熊猫的商业价值,有人羡慕嫉妒恨,有人却借势推出新产品.去年,由台湾明星潘玮柏和其在上海的团队一起开发的一款名为<熊猫屁王>的跑酷游戏登 ...
- 用Unity3D实现简单的井字棋小游戏
用Unity3D实现简单的井字棋小游戏 项目地址 井字棋小游戏 完成效果图 实现思路 首先定义游戏的数据部分: /* 井字棋中每一个棋格中的逻辑控制常量,代表这个棋格的状态 */ private co ...
- 每个人都能制作的简易版狂拍灰太狼小游戏(HTML+CSS+JavaScript)
自制系列一完善版来了. 如果在制作过程中有任何问题你都可以私信我,我会一一答复你们的. 由于上一次发的进度条不是很完善,显得不美观,这次改进了进度条问题,使增强了游戏的体验感.制作过程很简单,每个人都 ...
- 一个简单的五子连珠小游戏
一个简单的五子连珠小游戏 程序目的:设计一个五子连珠小游戏 1,棋盘大小是9X9 2,初始状态棋盘上随机分布着7个不同色的棋子. 3,当同色的棋子有5颗连在一起排成横向.纵向或者斜向时,游戏者可以得1 ...
- android内存修改 跳一跳,Android版微信跳一跳小游戏利用技术手段达到高分的操作方法...
本文主要来讲个个好玩的东西,近来微信刚出的跳一跳微信小程序的游戏很火,看到很多人都达到了二三百分就各种刷朋友圈了. 甩手一个表情 最终我们达到的分数却是这样的: 羡慕吧 一定会有人拍手叫好," ...
最新文章
- 宜家通信- 会员管理 表结构搭建
- c#.net调用pdf2swf.exe将pdf文件转换为swf,vs中运行正常,布署IIS服务器部署转换后文字部分为空白...
- CentOS 7 yum 安装 MySQL5.7
- 网上收集下boost::asio发送与传输相关的几个函数,老是忘记
- Python 增删改查
- 音视频技术开发周刊 | 169
- 关于辅酶Q10的相关常识与选购要点(转)
- ReviewForJob——堆排序
- LESS学习笔记(二)
- 蓝桥杯 ALGO-111 算法训练 明明的随机数
- hadoop搭建和指令
- 深入浅出Python闭包
- 【最全,带注释版】雷赛运动控制卡库函数C#导出
- C/C++程序之根据有向图、无向图求通路、回路、可达矩阵
- Photoshop实用的快捷键大全
- 小米怎么卸载html,小米11内容中心有什么用?怎么关闭和卸载呢
- 跨模态检索 | Visual Representation Learning
- 地铁的建设主要用什么计算机知识,地铁知识竞答--选择题填空题
- 微信小程序实现画布生成海报功能
- 4位超60岁程序员大爷的生存秘籍
热门文章
- 给树莓派刷入OpenWrt
- Tomcat多虚拟主机实现
- 服务器如何挂网页游戏,网页游戏怎么挂云服务器
- ccc-sklearn-11-线性回归(1)
- 网盘上传文件服务器失败原因,win10系统在百度网盘上传文件一直失败的恢复教程...
- oracle数据库rank over用法,Oracle 中rank() over()的用法
- 给技术人提升自己的几点建议
- vue检测文本域字数变化
- 母婴行业竟也可以免费送?两种案例让你全面了解新的赚钱模式!
- 中国工程院院士倪光南:政府应加大核心技术市场化引导