Git Product home page Git Product logo

shellyda / pygame-catify-the-world Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lucena564/projeto-ip---python

1.0 0.0 0.0 23.86 MB

Game project using pygame library. Repository referring to the discipline of introduction to programming by the Federal University of Pernambuco (UFPE).

Python 100.00%
game-development pygame pygame-application python python3 introduction-to-programming

pygame-catify-the-world's Introduction


Logo

Catify: The World馃樇馃挅

Game project with Python and Object Oriented Programming (OOP) structure

CIn UFPE | October 2022 | Introduction to programming (IP)
Explore the docs 禄

Table of Contents

  1. Contributors
  2. Team division
  3. Built with
  4. Files structure
  5. Installation
  6. How to run
  7. About the process
  8. Principal Applied programming concepts
  9. Game Gallery
  10. Contact

Contributors


Ant么nio Lucena


Lucas Torres


Shellyda Barbosa


Stela Nascimento


Tha铆s Neves


Miriam Mendes


Isaias Pereira

Team division

  • Ant么nio Lucena: Responsible for the first collectibles, bounding box definitions and their hit box, put the same collision system with the floor, sound in certain collectibles. Also, modeled our cat in the hat, collecting the frames of his walking animation, starting his movement system. Finally, adjusted the background of some levels to change the theme with the game's progression.
  • Shellyda Barbosa: Technical support for the team, mainly helping them to understand and implement git and github concepts. Also, reorganized the project's file architecture, thus ensuring a better organization of the code. Besides that, implemented the Sushi item functionality that allows "super jump" power to the main character.
  • Lucas Torres: Implemented the mechanics that control the completion of levels and improved the game mechanics. Also made two levels of the game and the custom tiles used in them.
  • Stela Nascimento: Responsible for the creation of 6 levels, creation of the Platform Class (platforms moving in the vertical and horizontal direction), tile customization added, addition of a new enemy and sounds, as well as changing the coin image and finally, fixed some bugs like counting the coins in the levels and ensuring that the player didn't get two coins at the same time.
  • Tha铆s Neves: Responsible for the visual and design part of the game, implementation of backgrounds. Also, was able to fix bugs and help with the organization and functions of other members, in addition to being part of the construction of the documentation and final presentation.
  • Miriam Mendes: Responsible for Separate the concepts that were seen in the classes used within the code. Also, separate the libraries, tools and frameworks used in the code and justify the use of each one. Besides that, created a responsive mode for the game to run on smaller screens, with scale adjustment.
  • Isaias Pereira: Responsible for refactoring, organizing and cleaning the GamePlay.py code; assist in maintaining track capture and other tasks; the logic that protects the player from capture two coins at the same time, allowing the item "coin" to have an independent size; and creation of the hardest level of the game: "restaurant".
  • Built With

    Why we used pygame as library

    • Greater amount of online repositories, available for learning.
    • Ease of creating frames for the game's surface, with the positioning of sprites using the library's rect function.
    • It has functions for colliding game objects.
    • Ease of handling game events.

    Why we used OS as library

    • We use the OS library only to help access the images and audios directory with the path function.

    Files structure

    /assets

    Images separated by category

    /classes

    Game elements code base

    /constants

    Global constants used into game flow

    /levels

    Levels maps data

    /sound

    Music and sound elements

    /Gameplay.py

    Game flow code

    /Game.py

    Main file

    Installation

    1. Clone repo
      git clone https://github.com/Shellyda/pygame-catify-the-world.git
    1. Install the dependencies
      pip install -r requirements.txt
      pip3 install -r requirements.txt

    Use pip3 only if the computer contains different versions of python

    Play

    1. In your terminal, go to the root folder
    2. Run the instruction below
      python3 Game.py
      python Game.py

    Use "python Game.py" only if the computer contains different versions of python

    About the process

    Main challenge How we deal
    Working with the git and github versioning concept Moments with the team to pass knowledge and clearing up doubts
    Main error How we deal
    The lack of frequency of project focused meetings Asynchronous movement: active communication, division and updating of activities, in the WhatsApp and Discord groups
    Lessons learnead
    • Asynchronous work
    • Importance of team work and active communication
    • Knowledge sharing
    • Git and Github versioning concept
    • Python and Pygame features
    • Object Oriented Programming (OOP)

    Check ideation work in Miro board

    Principal Applied programming concepts

    imageimage
    Logical and Relational Operators, Conditional Commands
    imageimage
    Loops
    imageimageimage
    Lists
    imageimageimage
    Functions

    Check this document too see in a detailed way all the programming concepts applied in the project

    Game Gallery

    imageimageimage

    imageimageimage

    Contributing

    Any contributions you make are greatly appreciated.

    1. Fork the Project
    2. Create your Feature Branch (git checkout -b feature/featureName)
    3. Commit your Changes (git commit -m 'Add some featureName')
    4. Push to the Branch (git push origin feature/featureName)
    5. Open a Pull Request

    Contact

    pygame-catify-the-world's People

    Contributors

    lucena564 avatar stelanascimento avatar isaiaspereiraes avatar shellyda avatar miriamrms avatar lucastorres96 avatar thaisnevest avatar

    Stargazers

    Victor Silva e Oliveira avatar

    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.