Giter Site home page Giter Site logo

jogos_vorazes's Introduction

Jogos vorazes

Simulador de torneio de jogos repetidos do tipo "dilema do prisioneiro"

Este jogo faz parte do curso de verão de Python da FGV - EMAp (Escola de Matemática Aplicada). Foi desenvolvido pelos professores Flávio Codeço Coelho e Renato Rocha Souza e vem sendo aprimorado a cada edição do curso.

Regras do Jogo

Neste jogo, você faz parte de uma tribo de caçadores. Nesta tribo existe uma tradição de que cada caçada é feita em duplas.

Logo, a cada rodada do jogo, cada jogador tem de sair em caçada com cada um dos outros caçadores da tribo. Para cada parceiro, o caçador tem a opção de caçar ou descansar. Esta decisão tem as seguintes consequências:

  • Se o caçador descansar ele gasta 2 de energia
  • Se ele caçar ele gasta 6 de energia.

Ao final da caçada a caça é dividida igualmente entre os caçadores.

  • Uma caçada com dois caçadores gera 12 pontos de energia
  • Uma caçada com um caçador gera 6 pontos de energia
  • Se nenhum jogador escolhe caçar, não é gerado nenhum ponto de energia.

Portanto:

  • Se o caçador caçar e seu companheiro também caçar, ambos têm saldo 0 ao final.
  • Se o caçador descansar enquanto o seu companheiro caça, o que descansou tem um saldo de 1 e seu companheiro tem um saldo de -3 ao final.
  • Se ambos descansarem, ambos têm saldo de -2 pontos de energia ao final.

Ao final de cada rodada de caçadas, se o número de caçadores for maior do que:

onde n é o número de jogadores vivos, todos os menbros da tribo recebem uma recompensa de comida com tamanho:

Os jogadores vão acumulando uma variável "reputação", que é definida por:

A cada rodada, são recebidas pelos jogadores as seguintes informações:

  • Número da rodada
  • Reputação dos caçadores (em ordem aleatória)
  • Valor M sorteado

Deve-se retornar ao simulador do torneio suas escolhas de caça para cada um dos outros membros da tribo, na ordem recebida.

Agradecimentos

Nós agradecemos aos vários alunos que aprenderam a programar em parte estimulados por este jogo. Suas estratégias estão preservadas neste repositório.

Este jogo está licenciado sob a licença MIT.

Se você utiliza este material e gostaria de citá-lo, por favor use a seguinte referência:

Coelho, Flavio codeço, & Souza, Renato Rocha. (2017, October 2). Jogos Vorazes. Zenodo. http://doi.org/10.5281/zenodo.1000761

jogos_vorazes's People

Contributors

blankluke avatar danielilaro avatar fccoelho avatar fscovinom avatar lucasmeirelesta avatar lucasresck avatar mirandars avatar mpopst avatar odanoburu avatar rafaelmesqs avatar rsouza avatar souzamatheusp avatar viguardieiro avatar wangbarros avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jogos_vorazes's Issues

Estratégia Oda com problema.

A estratégia Oda está transformando a reputação dela em um array, afetando as estratégias das pessoas que fazem operação com a reputação.

Recomendações:
Criar um teste que remove jogador com reputação diferente de numérica e a estratégia Oda alterar o código dela de:

esc = npr.choice(['d', 'c'], 1, p=[1 - rep, rep])
escolhas.append(esc)

Para:

esc = npr.choice(['d', 'c'], 1, p=[1 - rep, rep])[0]
escolhas.append(esc)

O comando .choice, cria uma array se for feito somente para um valor. Utilizando o [0] no final, irá construir uma lista em vez de um array.

Create a Gymnasium Environment

Create an environment for training Agents via reinforcement learning to learn to play the game and compete against existing strategies.

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.