采用面向对象思想设计简略版的超级马里奥游戏人物(示意图)

游戏的分析:

(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设计超级玛丽人物,面向对象实现简单版的超级马里奥小游戏相关推荐

  1. 简单版的三子棋小游戏

    不只是三子棋游戏,写任何游戏的代码都需要缕清思路才能动手去做,且必须要有条理性. 要想玩游戏,首先都会有一个选择界面,即是否进行游戏.那么我们就创建一个菜单好了. 当然,要先有一个游戏主体,如下所示: ...

  2. Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码

    今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...

  3. Docker容器(1):安装docker,上线简单的2048,马里奥小游戏

    Docker基础知识 可以参考上一篇文章Docker基础知识 安装并启动Docker 实验环境: server5主机部署docker ip:172.25.38.5 #基础软件仓库网络等都已配好 #以下 ...

  4. python人狗大战游戏_day22 01 初识面向对象----简单的人狗大战小游戏

    day22 01 初识面向对象----简单的人狗大战小游戏 假设有一个简单的小游戏:人狗大战   怎样用代码去实现呢? 首先得有任何狗这两个角色,并且每个角色都有他们自己的一些属性,比如任务名字nam ...

  5. 使用UE4制作简单的局域网对战小游戏

    原帖地址:https://arcecho.github.io/2017/04/28/使用UE4制作简单的局域网对战小游戏/ 大多数文章都是只讲到大致的UE4网络的概念,并未涉及实际使用.事实上在使用的 ...

  6. 熊猫屁王:中国版的超级马里奥?

    赚钱赚到手抽筋的<功夫熊猫>再次验证了国宝熊猫的商业价值,有人羡慕嫉妒恨,有人却借势推出新产品.去年,由台湾明星潘玮柏和其在上海的团队一起开发的一款名为<熊猫屁王>的跑酷游戏登 ...

  7. 用Unity3D实现简单的井字棋小游戏

    用Unity3D实现简单的井字棋小游戏 项目地址 井字棋小游戏 完成效果图 实现思路 首先定义游戏的数据部分: /* 井字棋中每一个棋格中的逻辑控制常量,代表这个棋格的状态 */ private co ...

  8. 每个人都能制作的简易版狂拍灰太狼小游戏(HTML+CSS+JavaScript)

    自制系列一完善版来了. 如果在制作过程中有任何问题你都可以私信我,我会一一答复你们的. 由于上一次发的进度条不是很完善,显得不美观,这次改进了进度条问题,使增强了游戏的体验感.制作过程很简单,每个人都 ...

  9. 一个简单的五子连珠小游戏

    一个简单的五子连珠小游戏 程序目的:设计一个五子连珠小游戏 1,棋盘大小是9X9 2,初始状态棋盘上随机分布着7个不同色的棋子. 3,当同色的棋子有5颗连在一起排成横向.纵向或者斜向时,游戏者可以得1 ...

  10. android内存修改 跳一跳,Android版微信跳一跳小游戏利用技术手段达到高分的操作方法...

    本文主要来讲个个好玩的东西,近来微信刚出的跳一跳微信小程序的游戏很火,看到很多人都达到了二三百分就各种刷朋友圈了. 甩手一个表情 最终我们达到的分数却是这样的: 羡慕吧 一定会有人拍手叫好," ...

最新文章

  1. 宜家通信- 会员管理 表结构搭建
  2. c#.net调用pdf2swf.exe将pdf文件转换为swf,vs中运行正常,布署IIS服务器部署转换后文字部分为空白...
  3. CentOS 7 yum 安装 MySQL5.7
  4. 网上收集下boost::asio发送与传输相关的几个函数,老是忘记
  5. Python 增删改查
  6. 音视频技术开发周刊 | 169
  7. 关于辅酶Q10的相关常识与选购要点(转)
  8. ReviewForJob——堆排序
  9. LESS学习笔记(二)
  10. 蓝桥杯 ALGO-111 算法训练 明明的随机数
  11. hadoop搭建和指令
  12. 深入浅出Python闭包
  13. 【最全,带注释版】雷赛运动控制卡库函数C#导出
  14. C/C++程序之根据有向图、无向图求通路、回路、可达矩阵
  15. Photoshop实用的快捷键大全
  16. 小米怎么卸载html,小米11内容中心有什么用?怎么关闭和卸载呢
  17. 跨模态检索 | Visual Representation Learning
  18. 地铁的建设主要用什么计算机知识,地铁知识竞答--选择题填空题
  19. 微信小程序实现画布生成海报功能
  20. 4位超60岁程序员大爷的生存秘籍

热门文章

  1. 给树莓派刷入OpenWrt
  2. Tomcat多虚拟主机实现
  3. 服务器如何挂网页游戏,网页游戏怎么挂云服务器
  4. ccc-sklearn-11-线性回归(1)
  5. 网盘上传文件服务器失败原因,win10系统在百度网盘上传文件一直失败的恢复教程...
  6. oracle数据库rank over用法,Oracle 中rank() over()的用法
  7. 给技术人提升自己的几点建议
  8. vue检测文本域字数变化
  9. 母婴行业竟也可以免费送?两种案例让你全面了解新的赚钱模式!
  10. 中国工程院院士倪光南:政府应加大核心技术市场化引导