Este repositório contém uma série de exercícios da disciplina de Linguagens de Programação II da Licenciatura em Videojogos da Universidade Lusófona de Humanidades e Tecnologias em Lisboa.
Os alunos podem e devem fazer fork deste repositório, clonar o mesmo para o seu PC e propor resoluções para os exercícios (e mesmo novos exercícios) através de pull requests. A forma de colaboração está descrita em detalhe na secção Colaboração.
- Git em projetos com assets binários
- Revisão de C# e UML
- Estruturas de Dados / Coleções
- C# avançado e design patterns
Os alunos podem contribuir com soluções para os exercícios propostos, podendo inclusive propor novos exercícios. Os seguintes passos descrevem uma forma relativamente simples de contribuir para este repositório.
Os exercícios estão na pasta problemas. Cada ficheiro Markdown corresponde aos exercícios de uma parte da matéria. Se o aluno adicionar um exercício, deve seguir a numeração e formatação dos exercícios anteriores. Pode opcionalmente adicionar a autoria do exercício através de um link à sua página do GitHub. Se o exercício for retirado ou adaptado de outra fonte, deve ser colocada uma referência a essa fonte.
As soluções estão na pasta solucoes. Por sua vez, cada sub-pasta contém uma série de ficheiros Markdown com as soluções dos exercícios de determinada parte da matéria. Cada ficheiro corresponde a uma ou mais soluções de apenas um dos exercícios. Se o aluno apresentar uma nova solução, pode opcionalmente assinar a autoria da mesma através de um link à sua página do GitHub.
Em qualquer dos casos, o aluno pode também adicionar o seu nome/link a página do GitHub na secção Colaboradores desta página, mais abaixo.
São ainda aceites pull requests com correções a esta página, às licenças, e por ai fora.
- Cria uma cópia (fork) deste repositório (tipicamente denominado upstream) na tua conta do GitHub (botão Fork no canto superior direito). A cópia do repositório na tua conta é geralmente chamada origin.
- Obtém uma cópia local (no teu PC) do repositório origin com o comando
git clone https://github.com/OTeuUserName/lp2_exercicios.git
(substituirOTeuUserName
pelo teu nome de utilizador no GitHub). - Dar conhecimento ao teu repositório local da existência do repositório
remoto upstream com o comando
git remote add upstream https://github.com/VideojogosLusofona/lp2_exercicios.git
.
- No teu repositório local, certifica-te que estás no ramo master:
$ git checkout master
- Descarrega as novidades do repositório upstream e junta-as (merge) ao
teu ramo master:
$ git fetch upstream
$ git merge upstream/master
- Carrega (push) as novidades do upstream para o repositório origin:
$ git push origin master
- Dentro da pasta dos exercícios, chamada lp2_exercicios, cria um ramo
(branch) para inserires as tuas novas propostas:
$ git branch meu_ramo
$ git checkout meu_ramo
- O nome
meu_ramo
pode ser substituído por qualquer outro nome. - O primeiro comando cria o ramo, o segundo comando muda o git para esse
ramo. Os dois comandos podem ser compactados num só:
$ git checkout -b meu_ramo
.
- Uma vez no novo ramo, faz as alterações/propostas às soluções e/ou aos
exercícios. Cada alteração/proposta deve ser especificada com pelo menos um
commit:
$ git add nome_dos_ficheiros_alterados
$ git commit -m "Descrição das alterações efetuadas"
- O
novo_ramo
deve ser carregado (pushed) para o repositório origin (ou seja, para o fork que criaste no GitHub):$ git push -u origin meu_ramo
- A opção
-u
é necessária pois nesta fase o teu repositório no GitHub (origin) ainda não conhece o ramo chamadomeu_ramo
.
- Uma vez confirmado que o push foi realizado com sucesso, deve ser
solicitado um pull request (pedido de integração) na árvore original dos
exercícios (upstream). Para o efeito basta clicar no botão
New pull request e solicitar a seguinte integração:
- Base fork VideojogosLusofona/lp2_exercicios, base master (local onde queres integrar as tuas alterações).
- Head fork OTeuUserName/lp2_exercicios, compare meu_ramo (as tuas alterações que queres ver integradas).
- Clica no botão verde Create pull request, e deixa uma pequena descrição da razão do pedido de integração, clicando depois novamente em Create pull request.
- Caso o pull request não tenha sido aceite, volta ao ponto 2.
- Caso o pull request tenha sido aceite, podes seguir os passos indicados
em Colaborações seguintes, de modo a juntares as alterações
que propuseste ao teu ramo
master
. Posteriormente podes eliminar omeu_ramo
localmente e remotamente (origin) com os seguintes comandos:$ git branch -d meu_ramo
$ git push origin :meu_ramo
Estes exercícios são disponibilizados através da licença CC BY-NC-SA 4.0. O código associado aos exercícios é disponibilizado através da licença GPLv3.
- Autor: Nuno Fachada
- Colaboradores: André Santos, Ianis Arquissandas, Nuno Carriço, Rui Martins, João Duarte, Leandro Brás, Pedro Santos, Inês Gonçalves, Alejandro Urcera, Diogo Martins, Joana Marques
- Curso: Licenciatura em Videojogos
- Instituição: Universidade Lusófona de Humanidades e Tecnologias