Final Project Bootcamp Zero

Overview

The Quest (Pygame)

Descripción

Este es el repositorio de código The-Quest para el proyecto final Bootcamp Zero de KeepCoding.

El juego consiste en la búsqueda de nuevos planetas para colonizarlos. Durante el transcurso del viaje aparecerán desafíos, ya sean naves enemigas u oleadas de meteoritos. Cada nivel constará de 1 minuto más de viaje y cada desafío aumentará en número y velocidad. El jugador dispondrá de munición de balas y carga de misiles para afrontar los desafíos durante el viaje. Propulsor que reducirá el tiempo de viaje a la mitad aunque no podrá moverme mientras esté activo. Y una barra de salud más 3 vidas extra. Si consume todas las vidas perderá la partida.

Informacion del repositorio

Realizado por:

Nombre Email
Sergio Fuentes (Seven) [email protected]

En el transcurso de las 3 semanas para realizar el proyecto final del curso he completado The Quest v1.0. Utilicé varias herramientas objeto prediseñados para una funcionalidad mejorada y eficiente durante el desarrollo del juego. De los más útiles a destacar fue el objeto Sprite sheet que me facilitó la descarga de cualquier imagen y la creación de instancias heredando todas sus características como objeto base. Un objeto con 4 tipos diferentes de temporizadores múltiples. Un algoritmo muy reducido que me permitía moverme entre las escenas del juego en cualquier sentido. Un objeto que controla consultas CRUD con SQLite registrando los datos de cada jugador en todo momento. También creé botones, barras, tablero y teclado entre otros para facilitar y mejorar la interactividad del usuario. Y múltiples ideas que preferí mostrar y sorprender durante la experiencia del juego.

Para abrir el juego, hay que lanzar run.pyw, teniendo previamente descargados todos los archivos del repositorio.

Estructura del repositorio

  • Assets: Carpeta que contiene todos los activos del juego.

    • Audio: Contiene la música de cada escena y los sonidos fx del juego en formato .ogg.

    • Data: Contiene .db como base de datos de jugadores. La tabla almacena estilo y modelo de barco, último nivel y nivel máximo, último puntaje y puntaje máximo.

    • Fonts: Diferentes .ttf para los estilos de fuente proporcionados por el juego.

    • Images: Tiene las imágenes .png y .jpg tipo hojas de sprite.

    • Scripts: Aquí están todos los códigos .py que utiliza el juego para generar los datos del código del juego.

      • controller: Controla todas las escenas a través de sus bucles principales. Les da los atributos que a su vez recoge de la escena anterior.
      • database: Clase DataBase donde conecta los datos del juego a la base de datos a través de las funciones CRUD.
      • documents: Guarda los documentos credits, history y guide en forma de string, se muestran en el menú principal del juego.
      • enemies: Clase Enemy que estructura todas las características de los enemigos. Hay 3 tipos de IA: patrulleros, velocistas y kamikazes.
      • environment: Contiene las clases Foreground, Background, Farground, Planet y Portal. Se encargan de la ambientación y acompañan el movimiento del jugador.
      • manager: Importador de todas las cargas de música, sonidos e imágenes del juego.
      • obstacles: Clase Meteor que estructura toda la funcionalidad de los meteoros.
      • players: Clase Player que estructura todas las características y funcionalidades del jugador según el estilo que elijas. Hay 3 estilos: Daño, Defensa y Curación.
      • scenes: Contiene las clases Main, Menu, Game y Record que heredan de la clase Scene. Se encargan de controlar el comportamiento del juego en cada escena.
      • settings: Guarda todas las constantes del juego. Los ajustes se especifican desde aquí.
      • tools: Contiene las clases Timer, Sprite_sheet, Button, Board, Bar, Keyboard, Canvas, Icon, HealthBar y Screen_fade. Se utilizan como herramientas y componentes accesorios.
      • weapons: Contiene las clases Bullet, Missile y Explosion. Tipos de armas que puede utilizar cualquier personaje. Explosion es una extensión de Missile.
    • main: Archivo .py como lanzador alternativo del juego.

  • commits: Archivo .md registra todos los commits del repositorio.

  • requirements: Archivo .txt registra los requisitos para abrir el juego: pygame v2.0.2.

  • run: Archivo .pyw es el lanzador principal del juego.

Owner
Seven-z01
Seven-z01
Artificial Conversational Entity for queries in Eulogio "Amang" Rodriguez Institute of Science and Technology (EARIST)

🤖 Coeus - EARIST A.C.E 💬 Coeus is an Artificial Conversational Entity for queries in Eulogio "Amang" Rodriguez Institute of Science and Technology,

Dids Irwyn Reyes 3 Oct 14, 2022
📝An easy-to-use package to restore punctuation of the text.

✏️ rpunct - Restore Punctuation This repo contains code for Punctuation restoration. This package is intended for direct use as a punctuation restorat

Daulet Nurmanbetov 72 Dec 30, 2022
Official code repository of the paper Linear Transformers Are Secretly Fast Weight Programmers.

Linear Transformers Are Secretly Fast Weight Programmers This repository contains the code accompanying the paper Linear Transformers Are Secretly Fas

Imanol Schlag 77 Dec 19, 2022
BERN2: an advanced neural biomedical namedentity recognition and normalization tool

BERN2 We present BERN2 (Advanced Biomedical Entity Recognition and Normalization), a tool that improves the previous neural network-based NER tool by

DMIS Laboratory - Korea University 99 Jan 06, 2023
Natural Language Processing Best Practices & Examples

NLP Best Practices In recent years, natural language processing (NLP) has seen quick growth in quality and usability, and this has helped to drive bus

Microsoft 6.1k Dec 31, 2022
Dense Passage Retriever - is a set of tools and models for open domain Q&A task.

Dense Passage Retrieval Dense Passage Retrieval (DPR) - is a set of tools and models for state-of-the-art open-domain Q&A research. It is based on the

Meta Research 1.1k Jan 07, 2023
Edge-Augmented Graph Transformer

Edge-augmented Graph Transformer Introduction This is the official implementation of the Edge-augmented Graph Transformer (EGT) as described in https:

Md Shamim Hussain 21 Dec 14, 2022
A Python script that compares files in directories

compare-files A Python script that compares files in different directories, this is similar to the command filecmp.cmp(f1, f2). I made this script in

Colvin 1 Oct 15, 2021
Korea Spell Checker

한국어 문서 koSpellPy Korean Spell checker How to use Install pip install kospellpy Use from kospellpy import spell_init spell_checker = spell_init() # d

kangsukmin 2 Oct 20, 2021
jiant is an NLP toolkit

jiant is an NLP toolkit The multitask and transfer learning toolkit for natural language processing research Why should I use jiant? jiant supports mu

ML² AT CILVR 1.5k Jan 04, 2023
Reading Wikipedia to Answer Open-Domain Questions

DrQA This is a PyTorch implementation of the DrQA system described in the ACL 2017 paper Reading Wikipedia to Answer Open-Domain Questions. Quick Link

Facebook Research 4.3k Jan 01, 2023
Code for the paper "Are Sixteen Heads Really Better than One?"

Are Sixteen Heads Really Better than One? This repository contains code to reproduce the experiments in our paper Are Sixteen Heads Really Better than

Paul Michel 143 Dec 14, 2022
My Implementation for the paper EDA: Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks using Tensorflow

Easy Data Augmentation Implementation This repository contains my Implementation for the paper EDA: Easy Data Augmentation Techniques for Boosting Per

Aflah 9 Oct 31, 2022
A Pytorch implementation of "Splitter: Learning Node Representations that Capture Multiple Social Contexts" (WWW 2019).

Splitter ⠀⠀ A PyTorch implementation of Splitter: Learning Node Representations that Capture Multiple Social Contexts (WWW 2019). Abstract Recent inte

Benedek Rozemberczki 201 Nov 09, 2022
⚡ boost inference speed of T5 models by 5x & reduce the model size by 3x using fastT5.

Reduce T5 model size by 3X and increase the inference speed up to 5X. Install Usage Details Functionalities Benchmarks Onnx model Quantized onnx model

Kiran R 399 Jan 05, 2023
Collection of useful (to me) python scripts for interacting with napari

Napari scripts A collection of napari related tools in various state of disrepair/functionality. Browse_LIF_widget.py This module can be imported, for

5 Aug 15, 2022
Large-scale open domain KNOwledge grounded conVERsation system based on PaddlePaddle

Knover Knover is a toolkit for knowledge grounded dialogue generation based on PaddlePaddle. Knover allows researchers and developers to carry out eff

606 Dec 28, 2022
An assignment from my grad-level data mining course demonstrating some experience with NLP/neural networks/Pytorch

NLP-Pytorch-Assignment An assignment from my grad-level data mining course (before I started personal projects) demonstrating some experience with NLP

David Thorne 0 Feb 06, 2022
Collection of scripts to pinpoint obfuscated code

Obfuscation Detection (v1.0) Author: Tim Blazytko Automatically detect control-flow flattening and other state machines Description: Scripts and binar

Tim Blazytko 230 Nov 26, 2022
GPT-Code-Clippy (GPT-CC) is an open source version of GitHub Copilot, a language model

GPT-Code-Clippy (GPT-CC) is an open source version of GitHub Copilot, a language model -- based on GPT-3, called GPT-Codex -- that is fine-tuned on publicly available code from GitHub.

Nathan Cooper 2.3k Jan 01, 2023