• 编写小游戏:贪吃蛇


    编写小游戏:贪吃蛇

    1、需求分析

    地图

    食物

     

    使用编程思想:面向对象的编程思想

    面向对象核心思想:把一个系统分解为若干个事务,每个事务就是一个类

    2、前期准备

    在面向对象的编程语言中,类是由两部分组成:属性和方法

    属性:对某类事务特征的描述

    方法:对某类事务的行为的描述

    【地图类】

    1)相关属性

    宽度 :800px

    高度 :400px

    颜色 :灰色(#dddddd)

    位置 :absolute

     

    2)相关方法

    显示方法(show):主要把地图按相关属性进行显示

    3、编写代码

    定义window.onload显示地图信息

    4、食物类分析

    【食物类】

    1)相关属性

    宽度 :20px

    高度 :20px

    颜色 :green

    位置 :absolute

    横纵坐标(随机出现),x=0,y=0

    2)相关方法

    显示方法:主要负责把食物根据相关属性进行显示在地图中

    3)算法

    食物在贪吃蛇游戏中并不是固定的,而是随机出现的,如何设置一个元素随机出现呢?

    横坐标:必须在0-39之间

    纵坐标:必须在0-19之间

    随机数:Math数学类下的random方法,返回0-1之间的小数

    Math.floor(Math.random()*40) 0-39之间

    Math.floor(Math.random()*20) 0-19之间

    5、实例化食物类并随机显示

    7、蛇类分析

    【蛇类分析】

    1)相关属性

    宽度 :20px

    高度 :20px

    位置 :absolute

    三节 :使用数组保存蛇节的信息(横坐标、纵坐标、颜色)

    蛇默认运动方向:right

    2)相关方法

    显示方法(show):用于按照以上相关属性显示蛇的相关信息

    实例化蛇类对象,调用show方法,显示蛇

    8、定义一个方法,让蛇运动起来

    之所以蛇可以运动,我们只需要做一件事:让蛇头决定运动方向,蛇节坐标与前一个坐标进行互换操作。

    通过定时器让蛇一直运动下去

    9、解决蛇身不断加长问题

    10、根据键盘按键改变蛇的运动方向

    在Snake蛇类中定义一个setDirect方法

    11、让蛇吃食物

    我们在运动过程中,只要判断蛇头坐标与食物坐标完全重合就代表吃到食物

    解决食物多次出现问题:

    12、作业

    解决贪吃蛇的两个问题:① 撞墙死问题 ② 吃到自己死问题

  • 相关阅读:
    Unity3D 中的灯光与渲染
    利用正态分布(高斯分布)绘制噪点图
    Unity3D 调用相机
    Unity3D开发安卓应用如何设置横屏显示和竖屏显示
    Unity3D中Excel表的读取与写入
    Unity3D启动外部程序并传递参数
    Unity动画系统Animator动态添加事件
    Unity3D编辑器扩展(六)——模态窗口
    Unity3D编辑器扩展(五)——常用特性(Attribute)以及Selection类
    Unity3D编辑器扩展(四)——扩展自己的组件
  • 原文地址:https://www.cnblogs.com/nyxd/p/5364612.html
Copyright © 2020-2023  润新知