Giter VIP home page Giter VIP logo

bitismyth's Introduction

bitismyth

Proponho um desafio para os “desenvolvedores”

Antes de chegar ao meu questionamento, eis o desafio:

Construa um programa que jogue o “jogo-da-velha” de forma que um humano (você) jogue contra o computador e, dada a sua habilidade de pensar, o resultado sempre seja um empate…

A possibilidade de você ganhar está excluída porque, ao jogar contra outro humano, a probabilidade de vocẽ ou o seu oponente ganharem é muito pequena (senão, acho, há um sério problema de raciocínio de ambas as partes).

A primeira regra para o desafio é que você não deve consultar estratégias usadas por outros desenvolvedores (ou matemáticos). Ou seja, usar o Google não vale! A solução tem que sair da sua cabeça… A outra regra, óbvia, a medida que você for estudando o problema, é que não vale criar um programa com um caminhão de ifs para testar todas as possibilidades (são 255168 jogadas possíveis!).

A terceira regra é a seguinte: Seu algorítimo tem que valer tanto para o humano começando o jogo quanto para o computador começando…

Proponho esse desafio por dois motivo: Se você encontrar grande dificuldade em concluir a tarefa, como pode esperar desenvolver qualquer sistema complexo?

O segundo motivo: Para desenvolver jogos é interessante que você inicie com os mais simples primeiro. Nada aparentemente mais fácil do que o bom e velho jogo-da-velha, não é? Para aqueles que não estão interessados em desenvolvimento de jogos, este é um bom exercício também…

Ainda, quero demonstrar que os problemas aparentemente simples têm soluções complexas. Como diria H.L. Mencken:

Para todo problema difícil há uma solução simples, fácil, óbvia… e errada!

A sorte está lançada…

Update: As aspas no título do post não é sarcasmo… trata-se apenas da ênfase para qual grupo de pessoas esse desafio é direcionado!

bitismyth's People

Contributors

samverneck avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.