# JavaStudyMariogame **Repository Path**: nishilin/java-study-mariogame ## Basic Information - **Project Name**: JavaStudyMariogame - **Description**: 使用Java基础知识设计马里奥参这款游戏,进行游戏的背景、人物、敌人等绘制,并加入了一些恶搞的元素。 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-15 - **Last Updated**: 2021-11-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JavaStudyMariogame #### 介绍 使用Java基础知识设计马里奥参这款游戏,进行游戏的背景、人物、敌人等绘制,并加入了一些恶搞的元素。 #### 编辑环境 JDK1.8 IDEA #### 涉及技术 1. JAVA 的基本语法 2. 简单IO操作 3. JAVA面向对象设计 4. 多维数组的使用 5. JAVA的线程编程部分 #### 开发过程 1. 场景开发 所包含的属性: (1)背景图片 (2)所处的顺序 (3)是否为结束场景 (4)场景中的所有障碍物 (5)场景中的所有敌人 (6)已经被移除的障碍物 (7)已经被消灭的敌人 拥有的方法: (1)场景的初始化 (2)所有敌人与障碍物的重置 2. 障碍物的开发 所包含的属性: (1)障碍物坐标(x、Y) (2)显示的图片 (3)类型 (4)初始的类型 拥有的方法: (1)重置障碍物的方法 (2)改变障碍物的显示图片(依据障碍物的类型) 3. Mario角色的开发: 所包含的属性: (1)坐标(X、Y) (2)显示的图片v (3)使用一个 String类型的变量来描述 Mario当前的状态(移动、方向、跳跃等 (4)生命数及分数 拥有的方法: (1)移动(左、右) (2)停止(左、右)v跳跃 4. 敌人的开发 所包含的属性 (1)坐标(X、 Y) (2)初始坐标(X、Y) (3)敌人类型 (4)显示的图片 (5)移动的方向 (6)最大移动坐标(Y,一般有两个,上和下) 拥有的方法 (1)敌人重置 (2)敌人死亡 (3)敌人移动 ,使用runnable接口实现线程 #### 实现 ![游戏开始界面](https://images.gitee.com/uploads/images/2021/0718/141632_0d74cca7_9386206.png "1.png") ![游戏过程界面](https://images.gitee.com/uploads/images/2021/0718/141710_ae8463d3_9386206.png "2.png") ![游戏结束界面](https://images.gitee.com/uploads/images/2021/0718/141729_30fb7a11_9386206.png "3.png")