From 171f8c9a45760fbef02232f43e0a5bc4ad86d42e Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 00:53:10 -0300 Subject: [PATCH 1/9] Rename README.md to Detalhes sobre projeto para nota da II Unidade.md --- ...s sobre projeto para nota da II Unidade.md | 105 ++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 Detalhes sobre projeto para nota da II Unidade.md diff --git a/Detalhes sobre projeto para nota da II Unidade.md b/Detalhes sobre projeto para nota da II Unidade.md new file mode 100644 index 0000000..f9e3373 --- /dev/null +++ b/Detalhes sobre projeto para nota da II Unidade.md @@ -0,0 +1,105 @@ +# Joguinho +Detalhes sobre projeto para nota da II Unidade + +Sobre a Jogabilidade +Sobre os Jogadores: + 1. Cada jogador tem 5 Pontos de Vida(HP). + 2. O jogador 1 utiliza W, A, S, D para mover-se. + ex: W – Move o jogador para cima; A - Move o jogador para a esquerda; S – Move o jogador para a esquerda; D – Move o jogador para a direita. + 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. + ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. + +Sobre os Elementos: + 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. + O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. + Após o jogador entrar naquela armadilha, ela desaparece. + Ex: Armadilha –> *P1* + + 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. + Ex: Tocha –> &P1& + +Objetivos do jogo: + 1. Ficar vivo até encontrar o tesouro(ou gold). + 2. Encontrar o tesouro primeiro que o adversário. + Ex: O jogador que encontrar o tesouro primeiro ganha. + 3. Não morrer antes do adversário. + Ex: O jogador que morrer primeiro, automaticamente o outro ganha. + +Mensagens: + 1. Abaixo do Mapa, mostrar as informações dos jogadores. + Ex: PLAYER I PLAYER II + HP: 5/5 HP: 5/5 + 2. Ao terminar o turno de um jogador, tem que avisar quem irá jogar posteriormente. + Ex: Player I pode andar 3 casas –> Player I pode dar mais 2 passos –> Player I Pode dar mais 1 passo. + Ex: Player II pode andar 7 casas –> Player II pode dar mais 6 passos e etc... + 3. Ao pisar numa armadilha. + Ex: Player I Pisou numa armadilha, perdeu 1 Ponto de Vida(HP). + 4. Ao encontrar uma tocha. + Ex: Player I encontrou uma tocha. + +Sobre a construção do jogo – Criação do código + + 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: + #include /* Para a função rand( ) e srand( ) */ + rand( ) –> Retorna um valor aleatório. + rand( ) % x –> Retorna um valor que vai de 0 à X-1 + Ex: Se X for 10, a função vai retornar números de 0 à 9; + 2. Para tudo ser realmente aleatório, é necessário fazer o seguinte: + #include /* Para a função time */ + srand( ) –> Alterar o valor semente da função rand ( ). + 3. Receberá como argumento o retorno da função time(NULL) + Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. + +Definições dos elementos da matriz + + 1. Precisa de um símbolo indicando o ponto de partida. + 1. Ex: <> –> Indicará de onde aquele jogador deu partida. + 2. Ex:[1][1] - Ponto inicial do jogador 1. + [1][10] - Ponto inicial do jogador 2. + 2. Matriz 10x10. + 3. Armadilhas(TRAP): Podem existir até 32 armadilhas(de 0 à 32). Em cada elemento da matriz[i][j], testar a chance de 25% de conter uma armadilha(trap) naquele elemento. + Ex: Se for sorteado qualquer número entre de 1 à 25, colocar uma armadilha. + 4. Tochas(FIRE): Podem existir até 5 tochas(de 0 à 5). Em cada elemento, testar a possibilidade de 15% de conter uma tocha(fire). + 5. Ex: Se for sorteado qualquer número entre 1 à 15, colocar uma tocha. + se cair qualquer numero de 1 à 25, colocar um fire. + 6. Tesouro(OURO ou GOLD): Pode existir 1, e somente 1 ouro, chance de 1%. Pode estar em qualquer lugar a partir da segunda linha. + Ex: Não pode estar na primeira linha, ou seja, da segunda para baixo. + Exceções descritas nos Bônus + 7. Ordem de preencher os elementos: + 1. De cima para baixo ou de baixo para cima, fica à critério do programador. + +Avaliação + + Você começa com 10 e perde pontos se: + 1. Não executou as armadilhas corretamente: -2,0 pontos. + Ex: Esqueceu de colocar as traps, ou tirar ponto de vida do jogador. + 2. Não executou as tochas corretamente: -2,0 pontos. + Ex: Mesmos princípios das armadilhas. + 3. Não executou o tesouro corretamente, mesmos princípios das armadilhas: -1,0 ponto. + Ex: Na partida não teve nenhum tesouro, ou a partida não encerrou quando o tesouro foi encontrado. + 4. Não colocou as mensagens corretamente – as ações do jogo: -2,0 pontos. + 1. Ex: Quantas casas ainda tem para movimentar. + 2. Ex: Ao cair numa armadilha – portanto, perdeu um ponto de vida(HP). + 3. Ex: Ao encontrar uma tocha. + 4. Ex: Ao encontrar o tesouro. + 5. Ex: Dizer quem ganhou. + 5. Não fez corretamente o desenho do labirinto: -1,0 ponto. + Detalhe: Não precisa ser o labirinto perfeito, o mais bonito do mundo. + 1. Ex: Os jogadores tem de ser capazes de identificar visualmente tudo que está acontecendo. + 2. Ex: Esquecer de mostrar os jogadores = ERRO. + 6. Não fez as validações corretas de fim de jogo: -2,0 pontos. + 1. Ex: Se algum jogador perdeu todos os pontos de vida, a partida tem que acabar. + 2. Ex: Se algum jogador encontrou o tesouro, a partida tem que acabar. + + BÔNUS - para recuperação da primeira unidade + 1. Se o programa permitir que os jogadores escolham onde querem começar a partida, desde que seja um destes 4 pontos. + 1. Ex:[01][1] [01][10] + [10][1] [10][10] + 2. Detalhe: Nesta versão, o tesouro tem de ficar a partir da linha 2 e até a linha 9. + 2. Se utilizar Mult-Thread: Permitir aos dois jogadores jogarem ao mesmo tempo. + 1. DETALHE: UTILIZANDO MULT-THREAD. + 2. DETALHE: Os jogadores NÃO PODEM começar do mesmo ponto. + + 3. Se permitir 4 jogadores jogarem ao mesmo tempo. + + NUNCA USEM VARIÁVEIS GLOBAIS From 09503d9e05bed19df6da46f52f7d55473358b11b Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:00:29 -0300 Subject: [PATCH 2/9] Delete .~lock.README.md# --- .~lock.README.md# | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .~lock.README.md# diff --git a/.~lock.README.md# b/.~lock.README.md# deleted file mode 100644 index 046de8d..0000000 --- a/.~lock.README.md# +++ /dev/null @@ -1 +0,0 @@ -,WILLIAM/wilbi,William,23.06.2018 00:50,file:///C:/Users/wilbi/AppData/Roaming/LibreOffice/4; \ No newline at end of file From 94139e83c7df64a8f5d5e698caa154d05f735260 Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:00:40 -0300 Subject: [PATCH 3/9] Delete Detalhes sobre projeto para nota da II Unidade.md --- ...s sobre projeto para nota da II Unidade.md | 105 ------------------ 1 file changed, 105 deletions(-) delete mode 100644 Detalhes sobre projeto para nota da II Unidade.md diff --git a/Detalhes sobre projeto para nota da II Unidade.md b/Detalhes sobre projeto para nota da II Unidade.md deleted file mode 100644 index f9e3373..0000000 --- a/Detalhes sobre projeto para nota da II Unidade.md +++ /dev/null @@ -1,105 +0,0 @@ -# Joguinho -Detalhes sobre projeto para nota da II Unidade - -Sobre a Jogabilidade -Sobre os Jogadores: - 1. Cada jogador tem 5 Pontos de Vida(HP). - 2. O jogador 1 utiliza W, A, S, D para mover-se. - ex: W – Move o jogador para cima; A - Move o jogador para a esquerda; S – Move o jogador para a esquerda; D – Move o jogador para a direita. - 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. - ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. - -Sobre os Elementos: - 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. - O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. - Após o jogador entrar naquela armadilha, ela desaparece. - Ex: Armadilha –> *P1* - - 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. - Ex: Tocha –> &P1& - -Objetivos do jogo: - 1. Ficar vivo até encontrar o tesouro(ou gold). - 2. Encontrar o tesouro primeiro que o adversário. - Ex: O jogador que encontrar o tesouro primeiro ganha. - 3. Não morrer antes do adversário. - Ex: O jogador que morrer primeiro, automaticamente o outro ganha. - -Mensagens: - 1. Abaixo do Mapa, mostrar as informações dos jogadores. - Ex: PLAYER I PLAYER II - HP: 5/5 HP: 5/5 - 2. Ao terminar o turno de um jogador, tem que avisar quem irá jogar posteriormente. - Ex: Player I pode andar 3 casas –> Player I pode dar mais 2 passos –> Player I Pode dar mais 1 passo. - Ex: Player II pode andar 7 casas –> Player II pode dar mais 6 passos e etc... - 3. Ao pisar numa armadilha. - Ex: Player I Pisou numa armadilha, perdeu 1 Ponto de Vida(HP). - 4. Ao encontrar uma tocha. - Ex: Player I encontrou uma tocha. - -Sobre a construção do jogo – Criação do código - - 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: - #include /* Para a função rand( ) e srand( ) */ - rand( ) –> Retorna um valor aleatório. - rand( ) % x –> Retorna um valor que vai de 0 à X-1 - Ex: Se X for 10, a função vai retornar números de 0 à 9; - 2. Para tudo ser realmente aleatório, é necessário fazer o seguinte: - #include /* Para a função time */ - srand( ) –> Alterar o valor semente da função rand ( ). - 3. Receberá como argumento o retorno da função time(NULL) - Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. - -Definições dos elementos da matriz - - 1. Precisa de um símbolo indicando o ponto de partida. - 1. Ex: <> –> Indicará de onde aquele jogador deu partida. - 2. Ex:[1][1] - Ponto inicial do jogador 1. - [1][10] - Ponto inicial do jogador 2. - 2. Matriz 10x10. - 3. Armadilhas(TRAP): Podem existir até 32 armadilhas(de 0 à 32). Em cada elemento da matriz[i][j], testar a chance de 25% de conter uma armadilha(trap) naquele elemento. - Ex: Se for sorteado qualquer número entre de 1 à 25, colocar uma armadilha. - 4. Tochas(FIRE): Podem existir até 5 tochas(de 0 à 5). Em cada elemento, testar a possibilidade de 15% de conter uma tocha(fire). - 5. Ex: Se for sorteado qualquer número entre 1 à 15, colocar uma tocha. - se cair qualquer numero de 1 à 25, colocar um fire. - 6. Tesouro(OURO ou GOLD): Pode existir 1, e somente 1 ouro, chance de 1%. Pode estar em qualquer lugar a partir da segunda linha. - Ex: Não pode estar na primeira linha, ou seja, da segunda para baixo. - Exceções descritas nos Bônus - 7. Ordem de preencher os elementos: - 1. De cima para baixo ou de baixo para cima, fica à critério do programador. - -Avaliação - - Você começa com 10 e perde pontos se: - 1. Não executou as armadilhas corretamente: -2,0 pontos. - Ex: Esqueceu de colocar as traps, ou tirar ponto de vida do jogador. - 2. Não executou as tochas corretamente: -2,0 pontos. - Ex: Mesmos princípios das armadilhas. - 3. Não executou o tesouro corretamente, mesmos princípios das armadilhas: -1,0 ponto. - Ex: Na partida não teve nenhum tesouro, ou a partida não encerrou quando o tesouro foi encontrado. - 4. Não colocou as mensagens corretamente – as ações do jogo: -2,0 pontos. - 1. Ex: Quantas casas ainda tem para movimentar. - 2. Ex: Ao cair numa armadilha – portanto, perdeu um ponto de vida(HP). - 3. Ex: Ao encontrar uma tocha. - 4. Ex: Ao encontrar o tesouro. - 5. Ex: Dizer quem ganhou. - 5. Não fez corretamente o desenho do labirinto: -1,0 ponto. - Detalhe: Não precisa ser o labirinto perfeito, o mais bonito do mundo. - 1. Ex: Os jogadores tem de ser capazes de identificar visualmente tudo que está acontecendo. - 2. Ex: Esquecer de mostrar os jogadores = ERRO. - 6. Não fez as validações corretas de fim de jogo: -2,0 pontos. - 1. Ex: Se algum jogador perdeu todos os pontos de vida, a partida tem que acabar. - 2. Ex: Se algum jogador encontrou o tesouro, a partida tem que acabar. - - BÔNUS - para recuperação da primeira unidade - 1. Se o programa permitir que os jogadores escolham onde querem começar a partida, desde que seja um destes 4 pontos. - 1. Ex:[01][1] [01][10] - [10][1] [10][10] - 2. Detalhe: Nesta versão, o tesouro tem de ficar a partir da linha 2 e até a linha 9. - 2. Se utilizar Mult-Thread: Permitir aos dois jogadores jogarem ao mesmo tempo. - 1. DETALHE: UTILIZANDO MULT-THREAD. - 2. DETALHE: Os jogadores NÃO PODEM começar do mesmo ponto. - - 3. Se permitir 4 jogadores jogarem ao mesmo tempo. - - NUNCA USEM VARIÁVEIS GLOBAIS From fadb9b0d906f73780102e1628cdf944f71cbce95 Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:00:48 -0300 Subject: [PATCH 4/9] Delete README.md --- README.md | Bin 22494 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index f254e5a04b127126f0687115ee100f539f440573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22494 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 Date: Sat, 23 Jun 2018 01:01:49 -0300 Subject: [PATCH 5/9] readme detalhado --- README.md | 107 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..24c750c --- /dev/null +++ b/README.md @@ -0,0 +1,107 @@ +# Joguinho +Projeto para composição da nota da segunda unidade + +Detalhes sobre projeto para nota da II Unidade + +Sobre a Jogabilidade +Sobre os Jogadores: + 1. Cada jogador tem 5 Pontos de Vida(HP). + 2. O jogador 1 utiliza W, A, S, D para mover-se. + ex: W – Move o jogador para cima; A - Move o jogador para a esquerda; S – Move o jogador para a esquerda; D – Move o jogador para a direita. + 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. + ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. + +Sobre os Elementos: + 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. + O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. + Após o jogador entrar naquela armadilha, ela desaparece. + Ex: Armadilha –> *P1* + + 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. + Ex: Tocha –> &P1& + +Objetivos do jogo: + 1. Ficar vivo até encontrar o tesouro(ou gold). + 2. Encontrar o tesouro primeiro que o adversário. + Ex: O jogador que encontrar o tesouro primeiro ganha. + 3. Não morrer antes do adversário. + Ex: O jogador que morrer primeiro, automaticamente o outro ganha. + +Mensagens: + 1. Abaixo do Mapa, mostrar as informações dos jogadores. + Ex: PLAYER I PLAYER II + HP: 5/5 HP: 5/5 + 2. Ao terminar o turno de um jogador, tem que avisar quem irá jogar posteriormente. + Ex: Player I pode andar 3 casas –> Player I pode dar mais 2 passos –> Player I Pode dar mais 1 passo. + Ex: Player II pode andar 7 casas –> Player II pode dar mais 6 passos e etc... + 3. Ao pisar numa armadilha. + Ex: Player I Pisou numa armadilha, perdeu 1 Ponto de Vida(HP). + 4. Ao encontrar uma tocha. + Ex: Player I encontrou uma tocha. + +Sobre a construção do jogo – Criação do código + + 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: + #include /* Para a função rand( ) e srand( ) */ + rand( ) –> Retorna um valor aleatório. + rand( ) % x –> Retorna um valor que vai de 0 à X-1 + Ex: Se X for 10, a função vai retornar números de 0 à 9; + 2. Para tudo ser realmente aleatório, é necessário fazer o seguinte: + #include /* Para a função time */ + srand( ) –> Alterar o valor semente da função rand ( ). + 3. Receberá como argumento o retorno da função time(NULL) + Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. + +Definições dos elementos da matriz + + 1. Precisa de um símbolo indicando o ponto de partida. + 1. Ex: <> –> Indicará de onde aquele jogador deu partida. + 2. Ex:[1][1] - Ponto inicial do jogador 1. + [1][10] - Ponto inicial do jogador 2. + 2. Matriz 10x10. + 3. Armadilhas(TRAP): Podem existir até 32 armadilhas(de 0 à 32). Em cada elemento da matriz[i][j], testar a chance de 25% de conter uma armadilha(trap) naquele elemento. + Ex: Se for sorteado qualquer número entre de 1 à 25, colocar uma armadilha. + 4. Tochas(FIRE): Podem existir até 5 tochas(de 0 à 5). Em cada elemento, testar a possibilidade de 15% de conter uma tocha(fire). + 5. Ex: Se for sorteado qualquer número entre 1 à 15, colocar uma tocha. + se cair qualquer numero de 1 à 25, colocar um fire. + 6. Tesouro(OURO ou GOLD): Pode existir 1, e somente 1 ouro, chance de 1%. Pode estar em qualquer lugar a partir da segunda linha. + Ex: Não pode estar na primeira linha, ou seja, da segunda para baixo. + Exceções descritas nos Bônus + 7. Ordem de preencher os elementos: + 1. De cima para baixo ou de baixo para cima, fica à critério do programador. + +Avaliação + + Você começa com 10 e perde pontos se: + 1. Não executou as armadilhas corretamente: -2,0 pontos. + Ex: Esqueceu de colocar as traps, ou tirar ponto de vida do jogador. + 2. Não executou as tochas corretamente: -2,0 pontos. + Ex: Mesmos princípios das armadilhas. + 3. Não executou o tesouro corretamente, mesmos princípios das armadilhas: -1,0 ponto. + Ex: Na partida não teve nenhum tesouro, ou a partida não encerrou quando o tesouro foi encontrado. + 4. Não colocou as mensagens corretamente – as ações do jogo: -2,0 pontos. + 1. Ex: Quantas casas ainda tem para movimentar. + 2. Ex: Ao cair numa armadilha – portanto, perdeu um ponto de vida(HP). + 3. Ex: Ao encontrar uma tocha. + 4. Ex: Ao encontrar o tesouro. + 5. Ex: Dizer quem ganhou. + 5. Não fez corretamente o desenho do labirinto: -1,0 ponto. + Detalhe: Não precisa ser o labirinto perfeito, o mais bonito do mundo. + 1. Ex: Os jogadores tem de ser capazes de identificar visualmente tudo que está acontecendo. + 2. Ex: Esquecer de mostrar os jogadores = ERRO. + 6. Não fez as validações corretas de fim de jogo: -2,0 pontos. + 1. Ex: Se algum jogador perdeu todos os pontos de vida, a partida tem que acabar. + 2. Ex: Se algum jogador encontrou o tesouro, a partida tem que acabar. + + BÔNUS - para recuperação da primeira unidade + 1. Se o programa permitir que os jogadores escolham onde querem começar a partida, desde que seja um destes 4 pontos. + 1. Ex:[01][1] [01][10] + [10][1] [10][10] + 2. Detalhe: Nesta versão, o tesouro tem de ficar a partir da linha 2 e até a linha 9. + 2. Se utilizar Mult-Thread: Permitir aos dois jogadores jogarem ao mesmo tempo. + 1. DETALHE: UTILIZANDO MULT-THREAD. + 2. DETALHE: Os jogadores NÃO PODEM começar do mesmo ponto. + + 3. Se permitir 4 jogadores jogarem ao mesmo tempo. + + NUNCA USEM VARIÁVEIS GLOBAIS From f069957477fb146e1272feb4ce8862bab58639e2 Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:03:50 -0300 Subject: [PATCH 6/9] Update README.md --- README.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 24c750c..d5a4265 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,37 @@ # Joguinho Projeto para composição da nota da segunda unidade -Detalhes sobre projeto para nota da II Unidade + Detalhes sobre projeto para nota da II Unidade + + Sobre a Jogabilidade + + Sobre os Jogadores: -Sobre a Jogabilidade -Sobre os Jogadores: 1. Cada jogador tem 5 Pontos de Vida(HP). 2. O jogador 1 utiliza W, A, S, D para mover-se. ex: W – Move o jogador para cima; A - Move o jogador para a esquerda; S – Move o jogador para a esquerda; D – Move o jogador para a direita. 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. -Sobre os Elementos: + Sobre os Elementos: + 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. Após o jogador entrar naquela armadilha, ela desaparece. Ex: Armadilha –> *P1* - 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. Ex: Tocha –> &P1& -Objetivos do jogo: + Objetivos do jogo: + 1. Ficar vivo até encontrar o tesouro(ou gold). 2. Encontrar o tesouro primeiro que o adversário. Ex: O jogador que encontrar o tesouro primeiro ganha. 3. Não morrer antes do adversário. Ex: O jogador que morrer primeiro, automaticamente o outro ganha. -Mensagens: + Mensagens: + 1. Abaixo do Mapa, mostrar as informações dos jogadores. Ex: PLAYER I PLAYER II HP: 5/5 HP: 5/5 @@ -39,7 +43,7 @@ Mensagens: 4. Ao encontrar uma tocha. Ex: Player I encontrou uma tocha. -Sobre a construção do jogo – Criação do código + Sobre a construção do jogo – Criação do código 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: #include /* Para a função rand( ) e srand( ) */ @@ -52,7 +56,7 @@ Sobre a construção do jogo – Criação do código 3. Receberá como argumento o retorno da função time(NULL) Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. -Definições dos elementos da matriz + Definições dos elementos da matriz 1. Precisa de um símbolo indicando o ponto de partida. 1. Ex: <> –> Indicará de onde aquele jogador deu partida. @@ -70,7 +74,7 @@ Definições dos elementos da matriz 7. Ordem de preencher os elementos: 1. De cima para baixo ou de baixo para cima, fica à critério do programador. -Avaliação + Avaliação Você começa com 10 e perde pontos se: 1. Não executou as armadilhas corretamente: -2,0 pontos. From c963912f59261d424d19cace2cd1fc17c375886d Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:05:15 -0300 Subject: [PATCH 7/9] Update visual do leia-me(readme) --- README.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index d5a4265..5494cb8 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Projeto para composição da nota da segunda unidade Sobre a Jogabilidade - Sobre os Jogadores: + Sobre os Jogadores: 1. Cada jogador tem 5 Pontos de Vida(HP). 2. O jogador 1 utiliza W, A, S, D para mover-se. @@ -13,7 +13,7 @@ Projeto para composição da nota da segunda unidade 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. - Sobre os Elementos: + Sobre os Elementos: 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. @@ -22,7 +22,7 @@ Projeto para composição da nota da segunda unidade 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. Ex: Tocha –> &P1& - Objetivos do jogo: + Objetivos do jogo: 1. Ficar vivo até encontrar o tesouro(ou gold). 2. Encontrar o tesouro primeiro que o adversário. @@ -30,7 +30,7 @@ Projeto para composição da nota da segunda unidade 3. Não morrer antes do adversário. Ex: O jogador que morrer primeiro, automaticamente o outro ganha. - Mensagens: + Mensagens: 1. Abaixo do Mapa, mostrar as informações dos jogadores. Ex: PLAYER I PLAYER II @@ -43,7 +43,7 @@ Projeto para composição da nota da segunda unidade 4. Ao encontrar uma tocha. Ex: Player I encontrou uma tocha. - Sobre a construção do jogo – Criação do código + Sobre a construção do jogo – Criação do código 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: #include /* Para a função rand( ) e srand( ) */ @@ -56,7 +56,7 @@ Projeto para composição da nota da segunda unidade 3. Receberá como argumento o retorno da função time(NULL) Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. - Definições dos elementos da matriz + Definições dos elementos da matriz 1. Precisa de um símbolo indicando o ponto de partida. 1. Ex: <> –> Indicará de onde aquele jogador deu partida. @@ -74,7 +74,7 @@ Projeto para composição da nota da segunda unidade 7. Ordem de preencher os elementos: 1. De cima para baixo ou de baixo para cima, fica à critério do programador. - Avaliação + Avaliação Você começa com 10 e perde pontos se: 1. Não executou as armadilhas corretamente: -2,0 pontos. @@ -108,4 +108,5 @@ Projeto para composição da nota da segunda unidade 3. Se permitir 4 jogadores jogarem ao mesmo tempo. - NUNCA USEM VARIÁVEIS GLOBAIS + + NUNCA USEM VARIÁVEIS GLOBAIS From 0530235ab62b8242da417524249532530a2a6864 Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:05:33 -0300 Subject: [PATCH 8/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5494cb8..302b771 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Projeto para composição da nota da segunda unidade Sobre a Jogabilidade - Sobre os Jogadores: +Sobre os Jogadores: 1. Cada jogador tem 5 Pontos de Vida(HP). 2. O jogador 1 utiliza W, A, S, D para mover-se. From a4721b847220c78a1c174750614096ad37944a1d Mon Sep 17 00:00:00 2001 From: William Torres <39351781+williamtorres1@users.noreply.github.com> Date: Sat, 23 Jun 2018 01:06:46 -0300 Subject: [PATCH 9/9] Espero que assim fique mais bonito --- README.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 302b771..a3545a8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Sobre os Jogadores: 3. O jogador 2 utiliza 8, 4, 5, 6 para mover-se. ex: 8 – Move o jogador para cima; 4 - Move o jogador para a esquerda; 5 – Move o jogador para a esquerda; 6 – Move o jogador para a direita. - Sobre os Elementos: +Sobre os Elementos: 1. Armadilha: Retira um Ponto de Vida àquele que pisar nela. O jogador perderá 1 Ponto de Vida ao entrar numa armadilha. @@ -22,7 +22,7 @@ Sobre os Jogadores: 2. Tocha: Ilumina um elemento às suas verticais e horizontais. Um elemento à cima, à direita, à esquerda e abaixo serão revelados. Ex: Tocha –> &P1& - Objetivos do jogo: +Objetivos do jogo: 1. Ficar vivo até encontrar o tesouro(ou gold). 2. Encontrar o tesouro primeiro que o adversário. @@ -30,7 +30,7 @@ Sobre os Jogadores: 3. Não morrer antes do adversário. Ex: O jogador que morrer primeiro, automaticamente o outro ganha. - Mensagens: +Mensagens: 1. Abaixo do Mapa, mostrar as informações dos jogadores. Ex: PLAYER I PLAYER II @@ -43,7 +43,7 @@ Sobre os Jogadores: 4. Ao encontrar uma tocha. Ex: Player I encontrou uma tocha. - Sobre a construção do jogo – Criação do código +Sobre a construção do jogo – Criação do código 1. Como decidir onde ficará cada elemento – TEM DE SER ALEATÓRIO: #include /* Para a função rand( ) e srand( ) */ @@ -56,12 +56,12 @@ Sobre os Jogadores: 3. Receberá como argumento o retorno da função time(NULL) Ex: srand(time(NULL)) – Detalhe: Só precisa fazer isso UMA VEZ no programa, logo no início do main. - Definições dos elementos da matriz +Definições dos elementos da matriz 1. Precisa de um símbolo indicando o ponto de partida. 1. Ex: <> –> Indicará de onde aquele jogador deu partida. - 2. Ex:[1][1] - Ponto inicial do jogador 1. - [1][10] - Ponto inicial do jogador 2. + 2. Ex:[1][1] - Ponto inicial do jogador 1. + [1][10] - Ponto inicial do jogador 2. 2. Matriz 10x10. 3. Armadilhas(TRAP): Podem existir até 32 armadilhas(de 0 à 32). Em cada elemento da matriz[i][j], testar a chance de 25% de conter uma armadilha(trap) naquele elemento. Ex: Se for sorteado qualquer número entre de 1 à 25, colocar uma armadilha. @@ -74,7 +74,7 @@ Sobre os Jogadores: 7. Ordem de preencher os elementos: 1. De cima para baixo ou de baixo para cima, fica à critério do programador. - Avaliação +Avaliação Você começa com 10 e perde pontos se: 1. Não executou as armadilhas corretamente: -2,0 pontos. @@ -100,13 +100,11 @@ Sobre os Jogadores: BÔNUS - para recuperação da primeira unidade 1. Se o programa permitir que os jogadores escolham onde querem começar a partida, desde que seja um destes 4 pontos. 1. Ex:[01][1] [01][10] - [10][1] [10][10] + [10][1] [10][10] 2. Detalhe: Nesta versão, o tesouro tem de ficar a partir da linha 2 e até a linha 9. 2. Se utilizar Mult-Thread: Permitir aos dois jogadores jogarem ao mesmo tempo. 1. DETALHE: UTILIZANDO MULT-THREAD. 2. DETALHE: Os jogadores NÃO PODEM começar do mesmo ponto. - 3. Se permitir 4 jogadores jogarem ao mesmo tempo. - - + NUNCA USEM VARIÁVEIS GLOBAIS