Giter VIP home page Giter VIP logo

galaxian-earthdefenders's Introduction

Projeto de TP1 para Computação Gráfica - Galaxian

Docente: Glender Brás
Discentes: Filipe Bicalho, Maria Eduarda, Matheus Thiago e Thiago Freitas

Bibliotecas Utilizadas:

SDL, SDL_image, SDL_mixer: 
	sudo apt-get install libsdl1.2-dev libsdl-image1.2-dev libsdl-mixer1.2-dev libsdl-ttf2.0-dev 
SOIL: 
	sudo apt-get install libsoil-dev

linhas de compilação e Execução:

---- Manual ----
	gcc galaxian.c -o galaxian -lGL -lSOIL -lSDL -lSDLmain -lSDL_image -lSDL_mixer -lm
	./galaxian

---- MakeFile ----
	make install-libraries  		- Instalar as bibliotecas utilizadas
	make all				- Compilar o projeto
	make run				- Executar o projeto já compilado
	make clean				- Remove o arquivo compilado

Recursos Implementados:

Pausar - Pressione "P" para pausar o jogo
Reiniciar - Pressione "R" para reiniciar o jogo
Voltar/Sair - Pressione "ESC" para voltar/sair do Jogo
Confirmar/Atirar - Pressione "SPACE" para confirmar no menu ou atirar durante o jogo
Movimento Personagem - Pressione as setas "LEFT" ou "RIGHT" para movimentar o personagem
Movimento no Menu - Pressione as setas "UP" ou "DOWN" para navegar entre as opções do menu
Movimento dos Inimigo - Os inimigos se movimentam no Eixo X e Eixo Y
Disparo Randomico dos Inimigos - Cada Inimigo tem o seu proprio tempo de disparo
Jogo Infinito - O jogo é continuo e a velocidade dos inimigos aumenta a cada nova onda, até que ele não seja mais capaz de continuar o jogo
Powerups - O jogo concede ao jogador um novo recurso, sendo mais uma vida ou um novo tipo de tiro
Pontuação - O jogo conta 1 ponto a cada vez que o usuario acerta um inimigo
Asteroid - O asteroide causa instakill no jogador, ele é renderizado depois que o jogador atinge a onda 50 de inimigos

StartScreen - Foi adicionado Menu Inicial
PauseScreen - Foi adicionado Menu de Pausa
ControlsScreen - Foi adicionado uma tela exibindo os controles
GameOverScreen - Foi adicionado Tela de Fim de Jogo
CreditScreen - Foi adicionado Tela de Créditos constando o nome dos Integrantes
LifeBar	- Foi adicionado uma barra que conta as vidas restantes do jogador
Gunbar - Foi adicionado uma barra que indica o tipo de disparo do jogador
Scorebar - Foi adicionado uma barra que mostra a pontuação do jogador

PlayerSprite - Foi adicionado uma sprite animada da nave do jogador
EnemySprite - Foi adicionado três sprites animadas das naves inimigas
BossSprite - Foi adicionado quatro sprites animadas dos chefes, sendo cada uma delas uma caricatura de um dos integrantes
BulletSprite - Foi adicionado uma sprite animada do tiro inimigo e três sprites animadas de tiro do jogador
BackgroundSprite - Foi adicionado uma sprite animada de fundo 
ExplosionSprite - Foi adicionado uma sprite animada para quando os inimigo ou o jogador é explodido
PowerupSprites - Foi adicionados sprites de powerups
ScoreSprite - Foi adicionado uma sprite para contador de pontos
AsteroidSprite - Foi adicionado uma sprite animada de um asteroide

OpennigMusic - Foi adicionado uma musica de tema ao jogo, sendo tocada durante todo o jogo
GameNameMusic - Foi adicionado um som com o nome do jogo, executado quando o jogador está no StartScreen
GameStartMusic - Foi adicionado um som que é reproduzido quando o jogador inicia a partida
GameOverMusic - Foi adicionado um som que é reproduzido quando o jogador perde o jogo
NavigatingMusic - Foi adicionado um som que é reproduzido quando o jogador está navegando pelas opções do StartScreen
ExplosionMusic - Foi adicionado um som que é reproduzido quando o jogador ou uma nave inimiga é explodida
BossMusic - Foi adicionado um som que é reproduzido pelos chefões enquanto o jogador os enfrenta
FiringMusic - Foi adicionado um som que é reproduido quando o jogador atira

- A vida e a skin dos Inimigos comuns são geradas aleatoriamente
- A skin dos Chefões são gerados aleatoriamente
- O tempo para atirar de todos os inimigos são gerados aletoriamente
- A posição e o tipo de Powerup é gerado aleatoriamente
- Os asteroides são gerados aleatoriamente (após a onda 50), a posição onde aparece também é aleatório
- Dificuldade progressiva a cada nova onda gerada

*Notas: Todas as Sprites e Sons utilizados neste projeto foram feitos pelo grupo de discentes
		A aparência do jogo foi toda pensada e trabalhada para se assemelhar a um jogo retrô

Screenshots:

Tela Inicial Tela de Créditos Tela de Comandos Tela de Pausa Jogo com Inimigos Comuns Jogo com um Chefão Jogo com o Asteroide Tela de Game Over

Video de Demonstração:

Galaxian - Earh Defenders

26/02/2021

galaxian-earthdefenders's People

Contributors

matheustheus27 avatar

Stargazers

 avatar

Watchers

 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.