Jogo de membrana - jogo incrível para autistas em 20 linhas de código

O código do jogo é escrito inteiramente na linguagem da matemática . Vamos decompô-lo.





  1. N é responsável pelo tamanho das células.





  2. pow (1.02, iTime) cria animação uniforme de células, 1.02 - velocidade de animação; mais cedo ou mais tarde, isso causa um estouro de buffer, mas a animação pode ser desligada fazendo t = 1 ou diminuindo com o tempo t = iTime.





  3. dx e dy - deslocamento xey da posição do cursor.





  4. float f = float ((x-dx) * (x-dx) * t + (y-dy) * (y-dy) * t); // Estas são as regras do jogo - nesta função (não é realmente uma função) você pode fazer alterações e obter uma nova lógica do jogo.





  5. flutuante F = abs (f * sin ((x) / N) * sin ((y) / N)); // Cria uma membrana celular para função (não função) f.





  6. int R = int (floor (F * pow (16,0, 6,0-ceil (log2 (F) / 4,0)))); // Adapte as cores da membrana adicionando zeros no final da notação hexadecimal ou aparando-a para a direita. Basicamente, é um índice de cores X11 pronto para uso em HTML ou Photoshop.





Resumindo, tudo é simples. Na verdade, eu sou novo em matemática e GLSL, mas meus amigos gostaram deste jogo, e estou me perguntando como Habr vai avaliá-lo. Se você tiver alguma ideia, pode fazer um fork. Para aqueles que desejam tentar transferir para outras linguagens de programação, avisarei que tais cálculos para cada pixel são muito difíceis para o processador - você precisa programar shaders (bem, pessoalmente, minha experiência, mas em geral eu não me importo )








All Articles