Giter Club home page Giter Club logo

maze_escape-3d's Introduction

Maze_Escape-3D

NTUEE Data Structures Final Project

Required Software and Modules

  • Software : Python3
  • Module:Pygame, OpenGL, and Pillow

execute command below

pip install PyOpenGL PyOpenGL_accelerate
pip install pygame
pip install Pillow

How to Execute

  • Environment : Available for Windows10 and Linux
  • Executing Command: Run "python ./main.py" to begin the game.

How to Play

Select the maze-generating algorithm and map size in Setting.

Press LEFT and RIGHT on your keyboard to adjust your vision and press UP and DOWN to proceed forward and backward.

Press SPACE to jump.

When jumping onto one pipe, player can teleport to the location of the other pipe.

Find the way to escape from the MAZE!

Enjoy the 3D world!

Code Introduction:

1.main.py

(a)main():Main function of the program. Control the FPS, processing events and displaying screen.

2.game.py

(a)class Game():Main initial class that contains functions about keyboard settings and frames.

(b)class Menu():The initial menu with "Start", "Setting", "Guide" and "Exit".

(c)class Setting():The setting menu to choose algorithms and size of maze.

3.disjoint_set.py

(a)find & merge:Implement disjoint-set operation including makeset(), union() and find().

4.maze2D.py

Build the 2D maze model, design drawing animation and implement three maze-construction algorithms.(BFS, Kruskal and Prim's)

5.maze.py

Construct the exteriority and shape of the 3D-maze and set the keyboard operation in vision.

6.maze3D.py

Use OpenGL to draw the maze and specific items, set the keyboard operation in movement, control the ghost and handle the winning and losing conditions.

7.objloader.py

Load the objects that includes texture, material, color, shape, etc.

Author

  • 詹侑昕 B08901046
  • 陳永縉 B08901061
  • 李允恩 B08901102

Reference

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.