Skip to content

Atishay25/Python-Combat

Repository files navigation

Python-Combat

A Web Platform that allows individuals to learn python programming in an enjoyable way, made as Course Project for CS251 - Software Systems Laboratory. The Project is inspired by Code Combat. More detailed description of Project can be found here.

The Combat is hosted at https://prolific-pythonists.netlify.app/

The Documentation is hosted at https://python-combat-documentation.netlify.app/

Instructions

  • Click on Start button on the home page to start the Combat
  • Choose the level which you want to play. There are 5 levels in the game
  • You will see a tutorial about the programming concepts of python which are being used in the level
  • Click on Play Now -> Start Combat to play that Level
  • Instructions and Logger will be displayed along with the arena
  • Follow the instructions and write your code in code editor provided
  • You have to help our Warrior using your Coding Skills to achieve his goal!

Theme

The warrior has decided to repeat the history of his ancestor Thanos. He is on his way to collect all the Six Infinity Stones and become the Supreme Power in Universe. But, He is intelligent and calm. He is not going to wipe out half the Universe, instead use the stones powers for well being of it. You are his friend from Earth to help him in his Journey. Each level awaits a infinity stone on success. You along with the warrior already have the mind stone with you. So, use it to collect the rest of the 5 stones and help the warrior for achieveing his aim.

Levels

Level 1 - Moving Across Time

Level 1 Moving Across Time
Programming Concept Python Variables
Infinity Stone Time Stone
Arena Grassy Arena

Level 2 - Key To Success

Level 2 Key To Success
Programming Concept Conditional Statements
Infinity Stone Reality Stone
Arena Fire Arena 🔥

Level 3 - A Soul, For A Soul

Level 3 A Soul, For A Soul
Programming Concept Loops in Python
Infinity Stone Soul Stone
Arena Icy Arena ❄️

Level 4 - Power Of Functions

Level 4 Power Of Functions
Programming Concept Functions in Python
Infinity Stone Power Stone
Arena Rock Arena

Level 5 - Traverse The Space

Level 5 Traverse The Space
Programming Concept List Data Structure in Python
Infinity Stone Space Stone
Arena Universe Arena

Essential Features

  • 5 Levels with different programming concepts to battle
  • Logger with success/failure messages and print statements for debugging
  • Code Editor
    • Used Code Mirror Library for creating a Code editor
    • Syntax highlighting using Code Mirror Themes, modes and several Addons for different Programming languages
    • Ability to get code from uploaded file using JavaScript Function
    • Suggestions/Auto-completions using CodeMirror Hints
  • Arena
    • Dynamic Configuration of Arena at each level
    • Each battle sets up a different placements of objects on reloading, that is it is Dynamically sets itself (Bonus part)
    • Each Battle fought on different arena settings with a unique Theme and underlying Programming concept
  • Used Doxygen for Report and Documentation. For Documentation of the Project, refer to the index.html file in html folder of this Project or just click here to view it

Extra Features

  • Hint Button at every level to assist the user with some help
  • A Tutorial at start of every level to teach some basic part of Programming concept that is being used in the level
  • A Modal Box at start of each level that explains a storyfied theme of the level to user. This is made to fascinate user through an underlying story theme so as to keep the user's interest along with Coding
  • An Animation Speed Button in each level to control speed of the warrior's moves. Using it, the Speed can be made
    • Slow
    • Medium
    • Fast
  • Used doxygen-awesome-css theme for more elegant and nice Documentation of the Project.

Created with ❤️ by Atishay, Megh & Avadhoot

Team Prolific Pythonists