[MC613] Geração de números aleatórios: dica para o projeto

5 views
Skip to first unread message

mario cortes

unread,
Jun 19, 2012, 3:44:43 PM6/19/12
to mc613_...@googlegroups.com
Muitos grupos estão fazendo projetos que necessitam a geração interna de números aleatórios. Por exemplo, no Tetris o jogo deve escolher qual será a nova peça a entrar. No Genius, o jogo deve escolher qual a nova cor na sequencia.

Há algumas maneiras de fazer isso
  1. Geração de números REALMENTE aleatórios. Como o circuito é determinístico, é necessário usar inputs dos jogadores/usuários para gerar os números. Deixem um contador rodando em alta frequência e usem o input do usuário como sinal de amostragem do valor da contagem. Por exemplo, se for necessário escolher dentre 5 formas no Tetris, faça um contador mod5 de alta frequencia e use os inputs do jogador para sortear a próxima peça
  2. Geração de números pseudo-aleatórios. Há circuitos, como os LFSR (Linear Feedback Shift Register), que funcionam como um contador cuja sequência de contagem tem várias características de sequências aleatórias
  3. Gravar sequências geradas de antemão. Por exemplo, no Genius, gravar uma longa sequência de cores mais ou menos aleatórias (por exemplo em anel) e acessá-la de forma sucessiva, aparentando aleatoriedade.
  4. Basear-se em eventos externos como por exemplo a hora local. Essa é uma das únicas formas de gerar números aleatórios quando não há interferência do usuário.
Nos nossos projetos, eu prefiro a alternativa 1. Se alguém ainda tiver dúvida, nos procure.

--
Mario Côrtes


Reply all
Reply to author
Forward
0 new messages