Last Update: qui abr 30 14:51:43 WEST 2020
Ao colocar o código num repositório público, é sempre possível que alguém possa copiar o código de outro projeto. De acordo com o código de ética da Universidade do Minho, tal ação é considerada plágio. Caso haja dúvida em relação a plágio, a equipa docente irá utilizar informação sobre os commits para decidir quem produziu o código e quem o copiou. Caso a equipa docente decida que houve plágio, os grupos que sejam considerados autores de plágio terão ZERO na componente de projeto.
A avaliação da componente de grupo é feita da seguinte forma:
A avaliação final será feita utilizando os seguintes critérios:
Todas as funções do vosso projeto, assim como estruturas de dados e macros deverão ser documentadas. A percertagem da documentação será utilizada para a avaliação deste critério.
Para gerar a documentação em XML:
DoxyfileGENERATE_XML para YESdoxygenxml para doc e colocá-la no github e no zipPretende-se que o código esteja bem escrito e legível. Isto implica:
O vosso projeto deverá detetar todas as instâncias de fim de jogo.
Pretende-se que o seu programa compile sem qualquer warning ao compilar utilizando as seguintes opções:
-std=gnu11 -Wall -Wextra -pedantic-errors -O
A título de exemplo, se todo o vosso código estiver numa única pasta e essa pasta não contiver outros ficheiros C, o seguinte comando
gcc -std=gnu11 -Wall -Wextra -pedantic-errors -O *.c -lm
deveria compilar o vosso programa e gerar o executável a.out sem mostrar warnings. A avaliação deste critério é binária:
A título de bonificação, os grupos que quiserem deverão submeter o seu programa para um torneio. Cada programa deverá:
Assim, se o programa for invocado da seguinte forma:
./bot jog01 jog02
Então ele deverá ler o estado do ficheiro jog01, jogar e gravar o estado no ficheiro jog02.
Só participa no Campeonato quem submeter o arquivo zip com o nome correto até 3 de Maio no Blackboard.
Quem quiser ter um logotipo personalizado deve colocar no arquivo zip um ficheiro com o nome logo.png de 40x40 pixeis.
Para além de estar no Github na pasta bot, o código do bot é entregue também no Blackboard num link próprio para esse efeito para arquivo e para que nós saibamos quem pretende ir a jogo. Só um dos elementos do grupo deve submeter o arquivo. A entrega do bot deverá seguir exatamente as mesmas regras das da entrega do projeto: um arquivo zip cujo nome do ficheiro deverá ter o formato:
<nome da UC>PL<número do turno prático>G<numéro do grupo com dois algarismos>.zip
Esse ficheiro deve simplesmente conter na raiz as fontes necessárias para compilar o bot.
Todo o código para compilar o código do bot deve estar na raiz do arquivo e deve poder ser compilado fazendo simplesmente:
gcc -std=gnu11 -Wall -Wextra -pedantic-errors -O *.c -lm
A competição será através de um campeonato. Este proceder-se-á da seguinte forma:
Cada grupo receberá:
| Posição | Avaliação |
|---|---|
| 1º lugar | 2.00 pontos |
| 2º lugar | 1.75 pontos |
| 3º e 4º lugares | 1.50 pontos |
| 5º ao 8º lugares | 1.25 pontos |
| 9º ao 16º lugares | 1.00 pontos |
| Derrotar o jogador aleatório | 0.50 pontos |
O software utilizado na avaliação está em https://github.com/equipadocente-la1li21920/Torneio. O desenvolvimento ainda não acabou mas pensamos que já deve poder ser utilizado para experimentar (e reportar bugs, claro).
O projeto só será aceite se se respeitarem as regras descritas abaixo. A entrega será feita até ao dia 3 de Maio de duas formas (ambas obrigatórias):
As seguintes regras terão que ser respeitadas: O arquivo e o projeto no Github deverão obrigatóriamente ter as seguintes pastas e ficheiros na sua raiz:
README.md que deverá conter:
projeto contendo todo o código do projetobot contendo todo o código correspondente ao bot (caso pretenda ser avaliado no torneio)doc contendo toda a documentação do projeto (gerada utilizando o Doxygen) em formato XMLO nome do arquivo submetido no Blackboard deverá ter o seguinte formato:
<nome da UC>PL<número do turno prático>G<numéro do grupo com dois algarismos>.zip
O número nos casos dos grupos com um só algarismo é obtido colocando um zero como padding. Assim:
la1PL2G03.zipli2PL4G09.zipEsse arquivo deverá ser submetido por um dos elementos do grupo na plataforma de Elearning (vulgo Blackboard) até ao dia 3 de Maio.
As defesas ocorrerão na semana de 11 a 15 de Maio para permitirem aos docentes avaliar os projetos e correr o torneio. As defesas decorrerão da seguinte forma: