Skip to content

Poketype is a web-application that takes two pokemon and gives you the most effective move in terms of move type and damage dealt to each pokemon.

Notifications You must be signed in to change notification settings

criiptico/poketype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Poketype:

Poketype is a web-application that takes two pokemon and gives you the most effective move in terms of move type and damage dealt to each pokemon.

The project is now live

Click here http://criiptico.pythonanywhere.com/ to view the build.

Want to run this app locally?

To run this app locally, from the main directory go to poketype/Front-end/main, then run the home.py file.

Reflection:

The pokemon PokeType web-app is finally up! I hope you enjoy using it as much as I did creating it. For my first web-app project, I think I did pretty well. I identified a problem and decided that this was a good solution to it, then I tried to stick to it without changing it too much, then I finally finished it.

Working on this project has been awesome but I wish I had more wiggle room to experiment with threads and integrate Javascript into the application. The issue was that I didn't want to introduce Javascript because I don't know it, but I know that I want to use it for sure in my next project "YouTube Purger", an app that unsubscribes you from youtube channels. Another reason why I didn't use Javascript was because I wasn't sure how threads was going to interact with wherever I was going to deploy my application. This was a huge issue because I can't assume something if I've never worked with it before. I think I still have that worry, so I'll have to thoroughly research that topic for my next project.

Final Notes:

This app will not be maintained but feel free to use this code in whichever code you might need it for. I especially encourage using the pokemon api wrapper that I made which you can access here https://github.com/criiptico/PokeTypeAdvantage. This api wrapper is where I spent most of my time learning and debugging. It has useful info on serialization, retrieval, and processing json from the PokeApi which can be found here https://pokeapi.co/.

Milestones:
  • Back-end
  • Hosting and Development
  • Front-end
TODO:
  • Back-end

    • Implementing Move and Pokemon class into all functions.
    • API related
      • Verify you can input pokemon
      • Verify you can retrieve the moves that are effective with that pokemon. This is sorted with respect to the type of move (which is its effectiveness) and how much damage the move actually does.
        • Filter for move type | Not Possible
        • Filter for move damage
      • Accessing different type of pokemon
      • Accessing the types of attacks a particular pokemon can do
      • Accessing damage an attack can do interms of type
    • Finish the Prototype app program.
      • Documentation
      • Parse api data
        • Pokémon & Move Name
        • Move Base Power
        • Move type
      • Pokémon type effectiveness needs:
        • Attacking Move base power
        • Attacking Move type
        • Defending Pokémon type(s) {Single type and Dual type}
      • Develop a txt file to store single type effectiveness of Pokémon of a single type.
      • Find a method to implement the dual type Pokémon chart. Refer to the raw format of README.md for a formatted explanation.
        • Suppose we have Charizard, charizard is of these types:

            defType1 = Fire
            defType2 = Flying
          

          Charizard needs to defend against this type of move

            atkType = Water
          

          Using the single type chart for each type that Charizard is:

          Atk Def

          Water vs. Fire = 200% (Super-Effective aka 2) Water vs. Flying = 100% (Normal aka 1)

          Then multiplying those effectiveness: 2 (Water vs. Fire) * 1 (Water vs. Flying) = 2 (Resulting Effectiveness)

      • Parse and Load type chart from https://github.com/johanngan/pokemon_types/blob/master/type_chart.txt
      • Eval efficacy function - One of the most important functions in the program which serves in determining the effectiveness of a move.
        • Use these in to return the resulting effectiveness of a Move with respect to its type and the defending pokemon's defense
          • No effect (0%) No damage
          • Not very effective (50%) Cuts base power by half
          • Normal (100%) Normal base power
          • Super-effective (200%) Doubles base power
        • Pokemon Type Efficacy Dump - Dumps all effective moves against a pokemon.
      • Additional Feature Damage filter - If attack is normal, then search for the normal move with the most damage. Same with any other move effectiveness.
  • Hosting and Development:

    • Use flask and python to make a webapp prototype - Preferably one that works like a "portfolio". Ex. portfolio.com/poketype, portfolio.com/about, etc.
      • Form handling
        • Managing dynamic data with and without flask and/or python. - Dynamic: ex. What is your name: INPUT: someName \ OUTPUTS: Hi someName!
          • Receiving data
            • Figure out how to access it once it's received
            • Figure out how to use it
          • Sending data
            • Non-calculative and dynamic data
            • Calculative and dynamic data
            • Figure out how to send it back
            • Figure out how to output data onto client - [ ] Find a way to host on Firebase - [ ] Purchase a domain - Build around a "portfolio" website. Ex. portfolio.com/poketype, portfolio.com/about, etc.
  • Front-end

    • Web Design
      • Work on a Mockup - Refer to "../Front-end/pokeType_mockup.png" and "../Front-end/poketype.fig"
        • Different stages of the mockup - Unloaded and loaded pokemon
      • Include App Instructions in the mockup - Self explanatory & you can use normal html.

About

Poketype is a web-application that takes two pokemon and gives you the most effective move in terms of move type and damage dealt to each pokemon.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published