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
This is my reading list for my PhD in AI, NLP, Deep Learning and more.

This is my reading list for my PhD in AI, NLP, Deep Learning and more.

Zhong Peixiang 156 Dec 21, 2022
Official PyTorch implementation of SegFormer

SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers Figure 1: Performance of SegFormer-B0 to SegFormer-B5. Project page

NVIDIA Research Projects 1.4k Dec 29, 2022
Web mining module for Python, with tools for scraping, natural language processing, machine learning, network analysis and visualization.

Pattern Pattern is a web mining module for Python. It has tools for: Data Mining: web services (Google, Twitter, Wikipedia), web crawler, HTML DOM par

Computational Linguistics Research Group 8.4k Dec 30, 2022
Lumped-element impedance calculator and frequency-domain plotter.

fastZ: Lumped-Element Impedance Calculator fastZ is a small tool for calculating and visualizing electrical impedance in Python. Features include: Sup

Wesley Hileman 47 Nov 18, 2022
Generate custom detailed survey paper with topic clustered sections and proper citations, from just a single query in just under 30 mins !!

Auto-Research A no-code utility to generate a detailed well-cited survey with topic clustered sections (draft paper format) and other interesting arti

Sidharth Pal 20 Dec 14, 2022
TextAttack 🐙 is a Python framework for adversarial attacks, data augmentation, and model training in NLP

TextAttack 🐙 Generating adversarial examples for NLP models [TextAttack Documentation on ReadTheDocs] About • Setup • Usage • Design About TextAttack

QData 2.2k Jan 03, 2023
End-to-end MLOps pipeline of a BERT model for emotion classification.

image source EmoBERT-MLOps The goal of this repository is to build an end-to-end MLOps pipeline based on the MLOps course from Made with ML, but this

Dimitre Oliveira 4 Nov 06, 2022
Beyond Accuracy: Behavioral Testing of NLP models with CheckList

CheckList This repository contains code for testing NLP Models as described in the following paper: Beyond Accuracy: Behavioral Testing of NLP models

Marco Tulio Correia Ribeiro 1.8k Dec 28, 2022
Data loaders and abstractions for text and NLP

torchtext This repository consists of: torchtext.data: Generic data loaders, abstractions, and iterators for text (including vocabulary and word vecto

3.2k Dec 30, 2022
Understanding the Difficulty of Training Transformers

Admin Understanding the Difficulty of Training Transformers Guided by our analyses, we propose Adaptive Model Initialization (Admin), which successful

Liyuan Liu 300 Dec 29, 2022
Ελληνικά νέα (Python script) / Greek News Feed (Python script)

Ελληνικά νέα (Python script) / Greek News Feed (Python script) Ελληνικά English Το 2017 είχα υλοποιήσει ένα Python script για να εμφανίζει τα τωρινά ν

Loren Kociko 1 Jun 14, 2022
Watson Natural Language Understanding and Knowledge Studio

Material de demonstração dos serviços: Watson Natural Language Understanding e Knowledge Studio Visão Geral: https://www.ibm.com/br-pt/cloud/watson-na

Vanderlei Munhoz 4 Oct 24, 2021
A website which allows you to play with the GPT-2 transformer

transformers A website which allows you to play with the GPT-2 model Built with ❤️ by raphtlw Table of contents Model Setup About Contributors Model T

raphtlw 2 Jan 27, 2022
Dope Wars game engine on StarkNet L2 roll-up

RYO Dope Wars game engine on StarkNet L2 roll-up. What TI-83 drug wars built as smart contract system. Background mechanism design notion here. Initia

104 Dec 04, 2022
An automated program that helps customers of Pizza Palour place their pizza orders

PIzza_Order_Assistant Introduction An automated program that helps customers of Pizza Palour place their pizza orders. The program uses voice commands

Tindi Sommers 1 Dec 26, 2021
Code for the paper in Findings of EMNLP 2021: "EfficientBERT: Progressively Searching Multilayer Perceptron via Warm-up Knowledge Distillation".

This repository contains the code for the paper in Findings of EMNLP 2021: "EfficientBERT: Progressively Searching Multilayer Perceptron via Warm-up Knowledge Distillation".

Chenhe Dong 28 Nov 10, 2022
This repository contains helper functions which can help you generate additional data points depending on your NLP task.

NLP Albumentations For Data Augmentation This repository contains helper functions which can help you generate additional data points depending on you

Aflah 6 May 22, 2022
API for the GPT-J language model 🦜. Including a FastAPI backend and a streamlit frontend

gpt-j-api 🦜 An API to interact with the GPT-J language model. You can use and test the model in two different ways: Streamlit web app at http://api.v

Víctor Gallego 276 Dec 31, 2022
Opal-lang - A WIP programming language based on Python

thanks to aphitorite for the beautiful logo! opal opal is a WIP transcompiled pr

3 Nov 04, 2022
Associated Repository for "Translation between Molecules and Natural Language"

MolT5: Translation between Molecules and Natural Language Associated repository for "Translation between Molecules and Natural Language". Table of Con

67 Dec 15, 2022