(Esse e um rascunho antigo que eu queria postar faz um tempo mas sempre esquecia)Consegui meu primeiro emprego e por sorte consegui trabalhar com algo que gosto, JOGOS. Apesar de nunca ter tido experiencia nessa area, ela me despertava um grande interesse. Sempre que jogava um jogo(depois de passar em Computacao logico), imaginava como ocorria o processo de criacao desses jogos.Agora dentro da criacao vejo que e muito mais do que apenas criar um produto. E algo fantastico como que algumas imagens consegue se transformar em modelos 3D, e como que as linhas de codigo transportam isso para os jogadores (nem sempre da certo, mas faz parte).Um dos meus primeiros desafios foi criar um snake(que nao conhce procure no google "Snake Game", nunca sequer havia imaginado como seria produzir um jogo que ao primeiro olhar parece tao simples. Vou descrever brevemente o pseudo codigo basico(fiz em uma engine 3d, portanto apenas vou passar logica utilizada)Basicamente o jogo tera 2 objetosA cobrae a comida.A comida e posicionada de forma aleatoria no mapa.O posicionamento em um mapa e muito parecido com o de uma matriz, pois um mapa e uma matriz muito grande. Parece obvio, mas nao para muitos.Para quem quiser fazer estruturado, e so ignorar as classes e modificar os metodos para rodarem no main loop do jogo.define X_VALUE o tamanho x do corpodefine Y_VALUE o tamnho y do corpodefine DESLOC_X Mapa.Tamanho()/ X_VALUEdefine DESLOC_Y Mapa.Tamanho()/ Y_VALUEComida::Comida() //O construtor{//random(m,n) gera um numero inteiro no intervalo [m,n]Posicao( X_VALUE* funcao_random(0, DESLOC_X) - X_VALUE* funcao_random(0, DESLOC_X), Y_VALUE* funcao_random(0, DESLOC_Y) - Y_VALUE* funcao_random(0, DESLOC_Y); }Comida::Pegar() //Quando a cobra chega na comida{RemoveObjeto() //limpa o objeto da posicao atual//Cria um nobo objeto em uma posicao aleatoria//random(m,n) gera um numero inteiro no intervalo [m,n]Posicao( X_VALUE* funcao_random(0, DESLOC_X) - X_VALUE* funcao_random(0, DESLOC_X), Y_VALUE* funcao_random(0, DESLOC_Y) - Y_VALUE* funcao_random(0, DESLOC_Y); }Cobra::MoverCorpo( Comida pFood ) //move o corpo e verifica se houve colisao{} Provavelmente a maioria das pessoas ja passou por essa situacao, ainda estou tentando caminhar pro futuro mas a preguica ainda me segura xD 1- Abra o console 2- ache o arquivo /etc/modprobe.d/alsa-base.conf (ou algo parecido)3- na ultima linha do arquivo adicione o seguinte comando:options snd-hda-intel enable_msi=14- Salve e reinicie o computador.Original:1) Open the Terminal.2) In the terminal: type sudo gedit /etc/modprobe.d/alsa-base3) This will open that file In gedit:Scroll to the bottom of the file and add the new line:options snd-hda-intel enable_msi=14) Save the file and close gedit (you can now also stop the terminal).5) Reboot the computer.After rebooting, the sound should work properly.Also, I thought it may help if I shared the settings I'm using for the audio on my HP. (The settings mentioned below shouldn't be modified before trying the fix above).In System | Preferences | Sound:Sound Events - Sound Playback: AutodetectMusic and Movies - Sound Playback: AutodetectAudio Conferencing - Sound Playback: AutodetectSound Capture: HDA Intel STAC92xx Analog (ALSA)Default Mixer Tracks - Device: HDA Intel (Alsa Mixer).(Select "Front" as the track to control with the keyboard).After setting this, right-click on the speaker icon (usually at the top-left of the screen), and select "Open Volume Control". Click the Preferences button and