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
LUKE -- Language Understanding with Knowledge-based Embeddings

LUKE (Language Understanding with Knowledge-based Embeddings) is a new pre-trained contextualized representation of words and entities based on transf

Studio Ousia 587 Dec 30, 2022
An ultra fast tiny model for lane detection, using onnx_parser, TensorRTAPI, torch2trt to accelerate. our model support for int8, dynamic input and profiling. (Nvidia-Alibaba-TensoRT-hackathon2021)

Ultra_Fast_Lane_Detection_TensorRT An ultra fast tiny model for lane detection, using onnx_parser, TensorRTAPI to accelerate. our model support for in

steven.yan 121 Dec 27, 2022
Use Google's BERT for named entity recognition (CoNLL-2003 as the dataset).

For better performance, you can try NLPGNN, see NLPGNN for more details. BERT-NER Version 2 Use Google's BERT for named entity recognition (CoNLL-2003

Kaiyinzhou 1.2k Dec 26, 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
Yomichad - a Japanese pop-up dictionary that can display readings and English definitions of Japanese words

Yomichad is a Japanese pop-up dictionary that can display readings and English definitions of Japanese words, kanji, and optionally named entities. It is similar to yomichan, 10ten, and rikaikun in s

Jonas Belouadi 7 Nov 07, 2022
Tensorflow implementation of paper: Learning to Diagnose with LSTM Recurrent Neural Networks.

Multilabel time series classification with LSTM Tensorflow implementation of model discussed in the following paper: Learning to Diagnose with LSTM Re

Aaqib 552 Nov 28, 2022
A library for end-to-end learning of embedding index and retrieval model

Poeem Poeem is a library for efficient approximate nearest neighbor (ANN) search, which has been widely adopted in industrial recommendation, advertis

54 Dec 21, 2022
💬 Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants

Rasa Open Source Rasa is an open source machine learning framework to automate text-and voice-based conversations. With Rasa, you can build contextual

Rasa 15.3k Dec 30, 2022
Espresso: A Fast End-to-End Neural Speech Recognition Toolkit

Espresso Espresso is an open-source, modular, extensible end-to-end neural automatic speech recognition (ASR) toolkit based on the deep learning libra

Yiming Wang 919 Jan 03, 2023
Signature remover is a NLP based solution which removes email signatures from the rest of the text.

Signature Remover Signature remover is a NLP based solution which removes email signatures from the rest of the text. It helps to enchance data conten

Forges Alterway 8 Jan 06, 2023
Awesome-NLP-Research (ANLP)

Awesome-NLP-Research (ANLP)

Language, Information, and Learning at Yale 72 Dec 19, 2022
Demo programs for the Talking Head Anime from a Single Image 2: More Expressive project.

Demo Code for "Talking Head Anime from a Single Image 2: More Expressive" This repository contains demo programs for the Talking Head Anime

Pramook Khungurn 901 Jan 06, 2023
Honor's thesis project analyzing whether the GPT-2 model can more effectively generate free-verse or structured poetry.

gpt2-poetry The following code is for my senior honor's thesis project, under the guidance of Dr. Keith Holyoak at the University of California, Los A

Ashley Kim 2 Jan 09, 2022
A simple Streamlit App to classify swahili news into different categories.

Swahili News Classifier Streamlit App A simple app to classify swahili news into different categories. Installation Install all streamlit requirements

Davis David 4 May 01, 2022
Journey is a NLP-Powered Developer assistant

Journey Journey is a NLP-Powered Developer assistant Using on the powerful Natural Language Processing library Mindmeld, this projects aims to assist

Christian Eilers 21 Dec 11, 2022
DLO8012: Natural Language Processing & CSL804: Computational Lab - II

NATURAL-LANGUAGE-PROCESSING-AND-COMPUTATIONAL-LAB-II DLO8012: NLP & CSL804: CL-II [SEMESTER VIII] Syllabus NLP - Reference Books THE WALL MEGA SATISH

AMEY THAKUR 7 Apr 28, 2022
Generating Korean Slogans with phonetic and structural repetition

LexPOS_ko Generating Korean Slogans with phonetic and structural repetition Generating Slogans with Linguistic Features LexPOS is a sequence-to-sequen

Yeoun Yi 3 May 23, 2022
Simple program that translates the name of files into English

Simple program that translates the name of files into English. Useful for when editing/inspecting programs that were developed in a foreign language.

0 Dec 22, 2021
Fully featured implementation of Routing Transformer

Routing Transformer A fully featured implementation of Routing Transformer. The paper proposes using k-means to route similar queries / keys into the

Phil Wang 246 Jan 02, 2023
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