Você está na página 1de 28

lOMoARcPSD|18786250

Projeto de Aplicações Informáticas B - Criação de um Jogo

Aplicações Informáticas B (Ensino Médio - Portugal)

Studocu is not sponsored or endorsed by any college or university


Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)
lOMoARcPSD|18786250

Escola Básica e Secundária c/ 3º ciclo Anselmo de Andrade

Programação e a sua importância na


criação de jogos

Nomes: Daniela Ribeiro nº8 e Inês Faria nº13


Ano: 12º Turma: A Ano letivo: 2018/2019
Curso: Ciências e Tecnologias Data: 23 de maio de 2019
Disciplina: Aplicações Informáticas B Profª. Cristina Rodrigues

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Agradecimentos

Este projeto foi resultado de diversas colaborações e contribuições, dadas de uma


forma indireta e indireta, mas todas elas essenciais à sua realização. Pelo que
gostaríamos de expressar os nossos sinceros agradecimentos a todos os que tornaram
possível a realização deste projeto e consequente relatório.

À Professora Cristina Rodrigues pela orientação dada, pela ajuda e preocupação


ao longo do desenvolvimento e conclusão deste projeto.

Aos nossos colegas pelas opiniões dadas de forma a contribuir para a melhoria do
nosso trabalho.

Aos nossos pais por sempre confiarem em nós e acreditarem no nosso potencial
para a conclusão deste trabalho que demorou cerca de dois meses a concluir.

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Resumo

Iremos abordar conteúdos relativos ao tema da Programação, às diversas formas


de programar e como é que esses conteúdos são importantes para a criação de jogos e
não só.
Iremos explicar também os passos que demos ao longo da criação do nosso jogo e
iremos explicar os passos de maior importância mais detalhadamente.

Palavras-chave

Programação; Linguagem de Programação; Fluxograma; Pseudocódigos; Algoritmos;


Jogo.

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Abstract

We will address content relating to the subject of Programming, the various forms of
programming and how these contents are important for the creation of games and not
only.
We will explain also the steps that we have taken over the creation of our game and
we will explain the most important steps in more detail.

Keywords

Programming; Programming Language; Flowchart; Pseudocodes; Algorithms; Game.

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Índice
1. Introdução 11
1.1. Apresentação das ideias 11

1.2. Objetivo 11

1.3. Estrutura do relatório 11

2. Desenvolvimento 13
2.1. Programação 13

2.1.1 Linguagem 13

2.1.2 Algoritmos, Fluxograma e Pseudocódigo 14

2.2. Projeto: o jogo 15


2.2.1 Linguagem 15

3. Conclusão 21
4. Registos bibliográficos 24
4.1. Bibliografia 24

4.2. Webgrafia 24

5. Anexos 26

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

10

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

1. Introdução

A PAP (Projeto de Aptidão Profissional) é um projeto pessoal e estruturante cujo


objetivo foi a realização de um jogo. Com a criação deste jogo conseguimos colocar em
prática vários temas e conceitos cujos aprendemos no 1º período na disciplina de
Aplicações Informáticas B.
Os conceitos abrangem a área da Programação e a sua respetiva linguagem, algo
que é bastante comum no nosso dia-a-dia, quer não só na criação de jogos, mas também
nos websites e nas aplicações que utilizamos todos os dias.

1.1. Apresentação das ideias


O jogo que criámos foi inspirado no famoso Flappy Bird que teve bastante sucesso
no ano de 2013 (ano de lançamento), sendo alguns meses depois cancelado pela
empresa que o criou, deixando assim os seus jogadores bastante desolados com o facto
de já não poderem jogar ao “pássaro que voava”.
Em 2019, quisemos trazer de volta o tão famoso jogo para telemóveis, onde um
pássaro tenta passar por entre tubos sem tocar nos mesmos, acumulando pontos à
medida que os atravessa.

1.2. Objetivo
Com a apresentação e realização deste projeto esperemos alcançar e superar
algumas dificuldades que tínhamos a nível de programação informática e contribuirmos
para a realização de algo “novo” na sociedade.

1.3. Estrutura do relatório


O nosso relatório começa fazendo uma breve introdução onde explicamos em que
consiste o nosso trabalho e a sua ligação com a disciplina, onde nos inspirámos para o
fazer, o nosso objetivo e a sua estrutura. De seguida segue-se o desenvolvimento onde
iremos aprofundar conceitos relacionados com a Programação e com a criação do nosso
jogo e ainda onde iremos colocar exemplos relativos ao nosso projeto prático. No final
iremos concluir o que aprendemos melhor com este projeto e relatório e segue-se a
bibliografia e os anexos.

11

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

12

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

2. Desenvolvimento

2.1. Programação

2.1.1 Linguagem

A linguagem de programação apresenta um método normalizado para a elaboração


das instruções dos programas de computadores e é considerado um sistema de escrita
formal, constituído por um conjunto de regras para a escrita de programas de computador.
Costumam-se dividir em:
• Linguagem de baixo nível, cujas aproximam-se de linguagem máquina ou
processador (por exemplo “Assembly”);
• Linguagem de alto nível, cujas aproximam-se da linguagem corrente (por exemplo
“Java”).
No caso da linguagem “Assembly” é um linguagem máquina que é acompanhada
pela versão legível da nossa linguagem e é, ainda, composta por números binários,
octais, decimais e hexadecimais.

FIGURA 1- TABELA COM NÚMEROS BINÁRIOS, OCTAIS, DECIMAIS E HEXADECIMAIS

13

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

2.1.2 Algoritmos, Fluxograma e Pseudocódigo

Uma linguagem de programação tem como objetivo expressar um processo que,


com o auxílio de um computador, tende a resolver um problema. Para resolver o probelma
é preciso criar um programa numa linguagem escolhida. No entanto, para efetuar a
passagem do problema para o programa, convém elaborar um algoritmo (1) que
possibilite a compreensão e a descrição do problema e que seja de fácil conversão para
qualquer linguagem de programação. Com isto, um algoritmo é uma sequência finita de
instruções descritas de forma lógica, ordenada, precisa e clara a fim de resolver o
problema.

O algoritmo pode ser escrito com o auxílio de linguagem natural mas também
pode se escrito através de um fluxograma ou de um pseudocódigo.

O fluxograma (2) utiliza símbolos gráficos para representar o fluxo das ações
necessárias para resolver um problema.

FIGURA 2- SÍMBOLOS UTILIZADOS NUM FLUXOGRAMA

14

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

O pseudocódigo (3) utiliza uma representação textual constituída por palavras da


linguagem natural e pela sintaxe característica das linguagens de programação
estruturada.

2.2. Projeto: o jogo

Para criarmos o nosso jogo utilizámos um programa chamado Scratch (4). O


Scratch considerada uma linguagem de programação criada em 2007 pelo Media Lab.
Neste site podemos criar diversos tipos de jogos, animações e ainda outros tipos de
programas interativos utilizando os conceitos básicos de programação referidos no ponto
2.1 acima.

2.2.1 Linguagem

Utilizando os conceitos básicos de programação começámos por criar o nosso


primeiro passo do jogo: o pássaro.
Para isso foi preciso desenharmos o pássaro na aba “costumes” do programa.

FIGURA 3 - PRIMEIRO PASSO PARA A CRIAÇÃO DO JOGO: DESENHAR O PÁSSARO

15

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Mal o pássaro esteja desenhado, temos que criar os tubos por onde o pássaro irá
passar. Para isso temos que criar um segundo “Sprite” e desenhar os tubos da mesma
forma que desenhámos o pássaro (aba “costumes”). Como é preciso desenhar um tubo
de cima e outro tubo de baixo basta desenhar um tubo, clicar em “copiar” e “colar” e
inverter o sentido do tubo colado.

FIGURA 4- DESENHAR OS TUBOS PARA O PÁSSARO PASSAR ENTRE OS MESMOS

De seguida podemos desenhar o fundo: clicamos na aba “Background” e


desenhamos o fundo como queremos, neste caso desenhámos o fundo azul e mais
abaixo fizemos um quadrado verde onde representa a relva.

No próximo passo temos que meter o pássaro a mexer-se e, para isso, já temos
que usar os comandos utilizando um algoritmo e um pseudocódigo.
Clica-se na aba “code” e temos que começar por avisar o computador que quando
se clica na bandeira verde o pássaro tem que se mexer (“events” > “whee clicked”) e a
partir daí é só usar os códigos do lado esquerdo do programa para fazer o pássaro
mexer-se e saltar ao longo do ecrã da maneira que queremos. No nosso caso, para
parecer ainda mais realista, pusemos o pássaro a inclinar-se 4 graus para a esquerda, de
modo a parecer que este estava a levantar voo.

16

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

FIGURA 5- PROGRAMA USADO PARA O PÁSSARO SE MEXER E SALTAR

FIGURA 6- EXEMPLO ESPECÍFICO DE UM FLUXOGRAMA (UTILIZADO PARA


DAR A ILUSÃO DO PÁSSARO ESTAR A LEVANTAR VOO)

O passo seguinte é conseguir por os tubos a mexerem e a desaparecerem à


medida que o pássaro avança.
Antes de mais temos que criar duas variáveis: “variables” > “make a variável” >
“bottomortop” e a outra “RandomYSpawnPosition” ambas relativas à posição dos tubos.
Para isso temos que ir ao “Sprite 2” onde estão os tubos que desenhamos anteriormente
e começar da mesma forma que começamos com o pássaro: “events” e de seguida “whee
clicked”.
Para os tubos aparecerem em ordens aleatórias temos que criar uma variável:
“variables” > “make a variável” > dar um nome à variávelcontrol e agora temos que criar
um género de loop, ou seja, sempre que clicarmos na bandeira verde para o jogo
começar, os tubos têm que surgir de uma forma aleatória: “control” > “forever”.

17

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Agora dentro do comando “forever” temos que fazer com que ambos os tubos (quer
o de cima quer o de baixo) se movimentem de forma alternada mas em simultâneo:
“variables” > “set (RandomYSpawnPosition) to (ir a “operators” e selecionar “pick random -
to -“)”; “variables” > “set (bottomortop) to top”; “control” > “create a clone of myself”;
“variables” > “set (bottomortop) to bottom”.
De seguida temos que definir de quanto em quanto tempo queremos que os tubos
apareçam, no nosso caso definimos que fosse um espaçamento de 1,5 segundos:
“control” > “create a clone of myself”; “control” > “watt x seconds”.

FIGURA 7- ALGORITMO DE COMO FAZER OS TUBOS MEXEREM-SE AO LONGO DO JOGO

Até este passo o jogo já é totalmente funcional mas podemos sempre adicionar
mais pormenores, como por exemplo o Score do jogo.

18

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

Para este passo vamos novamente à aba “control” > “whee I smart as a clone” e a
partir daí começamos a programar o score.
Um dos passos importantes é voltar a criar uma variável nova para o Score:
“variables” > “make a variável” > “Score” e temos que criar uma para o score definitivo:
“variables” > “make a variável” > “AlreadyScored”.
Outro dos passos importantes é selecionar que o score volta a zeros quando o
pássaro bate num dos tubos ou quando cai no chão.

FIGURA 8- ALGORITMO RELACIONADO COM A CRIAÇÃO DO SCORE

Com isto, já temos o nosso jogo concluído.

19

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

20

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

3. Conclusão

O nosso projeto consistiu em criarmos um jogo funcional para qualquer tipo de


idades e para qualquer tipo de pessoa.

A conclusão deste projeto requereu uma grande capacidade de persistência pois


tivemos que trabalhar pela primeira vez num programa em que tivemos de criar uma
linguagem de programação completa, com algoritmos e fluxogramas, que seja
completamente funcional.

Este projeto e o relatório ajudou-nos a perceber melhor certos conceitos do tema


de programação e os seus usos no dia-a-dia.

No decorrer da realização do projeto tivemos algumas dificuldades, tais como erros


no programa que estávamos a utilizar, apesar do mesmo ser um programa acessível a
quem esteja a começar a programar também é bastante complexo pois tem bastantes
comandos e torna-se um pouco confuso, e a parte de estarmos a descrever os passos no
relatório também despertou algumas dificuldades pois tínhamos que estar a explicar todos
os passos, inclusive alguns que não tinham funcionado à primeira quando os aplicamos
no programa.

O projeto final encontra-se no seguinte link: https://scratch.mit.edu/projects/


307035783/ (aviso: dependendo do browser utilizado é possível aparecer erros no jogo
por isso anexo printscreen do aspeto correto do jogo).

21

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

FIGURA 9- CAPTURA DE ECRÃ DO PROJETO FINAL

22

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

23

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

4. Registos bibliográficos

4.1. Bibliografia

FONSECA, Dalila; PACHECO, Deolinda; MARQUES, Fernando; SOARES, Ricardo.


Aplicações Informáticas B - 12º Ano. Lisboa: Porto Editora, 2017.

4.2. Webgrafia

https://pt.wikipedia.org/wiki/Flappy_Bird (21 de maio de 2019, 17h12)


https://pplware.sapo.pt/high-tech/converso-de-binrio-octal-e-hexadecimal-para-decimal/
(21 de maio de 2019, 17h39)
https://blogdaqualidade.com.br/fluxograma-de-processo/ (21 de maio de 2019, 17h56)
https://pt.wikipedia.org/wiki/Scratch (21 de maio de 2019, 18h17)
http://www.esar.edu.pt/be/ficheiros/Guias/11%20-
%20Guia%20de%20Apoio%20a%20Construcao%20do%20Relatorio%20da%20PAP.pdf
(22 de maio de 2019, 20h11)

24

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

25

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

5. Anexos

(1) Algoritmo:
Resumindo, um algoritmo é uma qualquer sequência de instrução.

!
FIGURA 10- EXEMPLO DE ALGORITMO

(2) Fluxograma:
Forma gráfica de representar um algoritmo, em que cada forma geométrica
representa uma decisão diferente na programação.

FIGURA 11- EXEMPLO DE FLUXOGRAMA

26

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)


lOMoARcPSD|18786250

(3) Pseudocódigo:
Forma de representar algoritmos semelhante à linguagem corrente; utilizam-se
expressões como “se”, “se não”, “então” e “ler”.

!
FIGURA 12- EXEMPLO DE PSEUDOCÓDIGO

(4) SCRATCH:
O programa utilizado foi o Scratch. Este programa, como referido anteriormente, é
um programa de linguagem de programação criado em 2007, pelo Media Lab. É o
programa ideal para quem está a trabalhar em programação pela primeira vez e com ele é
possível criar animações, jogos e outros programas interativos.

FIGURA 13- LOGÓTIPO DO PROGRAMA “SCRATCH”

27

Downloaded by RITA ALMEIDA SOUSA (rita.sousa.16509@aeseia.org)

Você também pode gostar