thegoodfellas/blogset-br huggingface dataset:
vejo alem. As escolhas que faco e os desafios que enfrento me guiam para a descoberta de quem verdadeiramente sou...Sou feita das coisas boas que passam pela minha vida. E disso que encho o coracao e a cabeca, sem espaco para ficar guardando coisas ruins. Na certeza de que basta um pouquinho de tempo para que as feridas se fechem e levem a dor, sem levar o que de bom ficou na memoria. Porque se fizemos as coisas de todo coracao e elas nao deram certo, e porque algo melhor esta por vir.Amor que e amor dura a vida inteira. Se nao durou e porque nunca foi amor.O amor resiste a distancia, ao silencio das separacoes e ate as traicoes. Sem perdao nao ha amor. Diga-me quem voce mais perdoou na vida, e eu entao saberei dizer quem voce mais amou. O amor e equacao onde prevalece a multiplicacao do perdao. Voce o percebe no momento em que o outro fez tudo errado, e mesmo assim voce olha nos olhos dele e diz: mesmo fazendo tudo errado eu nao sei viver sem voce. Eu nao posso ser nem a metade do que sou se voce nao estiver por perto.O amor nos possibilita enxergar lugares do nosso coracao que sozinhos jamais poderiamos enxergar.O poeta soube traduzir bem quando disse: se eu nao te amasse tanto assim, talvez perdesse os sonhos dentro de mim "(Padre Fabio de Melo.)Mudanca, essa era a palavra que eu deveria me apegar agora. Tudo isso me perturbava porque eu pensara ate entao que, de certa forma, toda minha evolucao conduzira lentamente a uma especie de nao-precisar-de-ninguem.Na minha memoria - tao congestionada - e no meu coracao - tao cheio de marcas e pocos - voce ocupa um unico lugar, o mais bonito.Eu so queria dizer que nos nao amamos as pessoas que amamos por elas serem perfeitas... Nos amamos as pessoas que amamos, por elas serem quem sao.
2010 foi o pior ano da minha vida. E engracado que eu ate hoje nao sei se a dor passou ou se fui eu que acostumei com ela. O que eu tenho certeza e que eu nao quero voltar a ser quem eu fui.- Vulneravel.Voce ja se sentiu assim? Como se nada, nem ninguem conseguisse mudar o que voce sente? Como se voce vivesse literalmente susseptivel as circunstancias que iam acontecendo na sua vida?" Depois de todas as tempestades e naufragios o que fica de mim, em mim e cada vez mais essencial e verdadeiro. "Eu fiquei cansada de " construir e demolir " fantasias. Dias cheios de altos e baixos. Duvidas frequentes que nao saiam da minha cabeca. Esperar ou esquecer ?Eis que surge o maior dos problemas. Esperar doi, esquecer doi. Mas nao saber se deve esperar ou esquecer e a pior das dores.E quem disse que e facil esquecer ? E quem disse que e possivel ?Nao, esquecer NAO e possivel.Durante muito tempo chorei e senti saudade da maneira mais humana possivel. Mas isso nao mudou em nada. Deitei a cabeca no travesseiro e fiquei pensando como seria se pudessemos apagar uma parte da nossa vida. (Acredito que todos ja tenham pensado nisso).Confesso que a tentacao de poder apagar tudo aquilo que desencadeou a minha dor foi grande, mas depois de tanto pensar optei por nao querer apagar. Com diz o meu preferido " Aprende, aprende, aprende que doi menos. "No fim de tudo percebi que o certo e lutar e tentar ser feliz.E uma coisa e fundamental (e dificilima) - Acreditar.Para nao pensar na falta, eu me enchi de coisas por ai. Me enchi de amigos, bares, charmes, possibilidades, livros, musicas, descobertas solitarias e momentos introspectivos andando ao sol. E todo esse resto de coisas, deixou aos poucos de ser resto e passou a ser a minha vida.Hoje sei que ninguem e substituivel. E que eu posso vir a gostar de outra pessoa, com mais ou menos intensidade, nao importa, mas de uma maneira diferente. Que as pessoas nao sao iguais e que eu posso encontrar a minha excessao.Esta dificil, dificil ate pra mim fingir toda essa tranquilidade exterior. Tentar demonstrar uma falsa felicidade. Nao chorar, me conter.Confesso que me ocupar do sol nascer ate o sol se despedir, tem trazido algumas vantagens.Pela minha absoluta desesperanca, meu coracao bate ainda mais forte. Quando nao se tem mais nada a perder, so se tem a ganhar.Palavras da Garota, que hoje.. prefere ficar em silencio. Eu nunca tive um pensamento como o dos outros, afinal.. eu sempre me preocupei muito com as consequencias de tal.. Sempre fui insegura, sempre fui agitada, espontanea..Mas insegura, ah! isso sim posso ter certeza de que fui.. Minhas decisoes sempre foram baseadas em consequencias.. o que viria depois, o que fazer a respeito, eu nunca gostei de ter varias opcoes, pois cada uma delas me levaria para um caminho diferente,para mim.. quanto menos opcoes melhor, assim nao poderia me arrepender de ter tomado a decisao errada ! Questoes como que roupa devo usar , quantos
drinks devo beber antes de cair, ir ou nao ir, sao frequentes a mim, e ficar pensando sempre me tomou muito tempo. Talvez eu deva gostar disso, talvez deva odiar.. Opcoes para a maioria das pessoas se torna muito agradavel, principalmente quando a situacao esta ruim.. algumas das opcoes deve se tornar a mais correta a seguir.. mas pra mim nao ! E se eu tomar a decisao errada ? e por hora me arrepender? E se eu tomar a certa, e nao me acostumar? Nao basta apenas seguir seu coracao eu precisava me guiar por todos os lados, minha razao e meu coracao apontavam na mesma direcao, mas eu queria outra coisa.. entao qual das seguir? E como um furacao que arrasta tudo, nao a mais volta, embora voce reerga seus muros, a sua casa jamais sera protegida como antigamente, embora voce tente comecar denovo, sempre havera aquela decisao errada que voce tomou no passado, e que nao teve um reflexo tao bom no futuro. Sempre havera uma decisao que voce ainda ha de tomar, sempre havera pessoas que farao voce se guiar pelo caminho errado.. mas quem tem mais poder do que voce mesmo pra decidir o que fazer? Quem mais pode interferir nas suas decisoes ao inves de voce mesmo ?Pessoas frequentemente tentam me dizer o que fazer,o que vestir, como me portar.. sao tantas opcoes, mas a unica que importa e a que eu quero.. EU decido, EU tenho poder sobre mim, EU sou o senhor do meu destino.. EU sou o comandante da minha ALMA !Palavras da Garota que tem varias escolhas, mas so precisa de UMA opcao.
Ha muitas razoes para voce ter medo de tentar, muitas razoes para falhar, muitas razoes para desistir, muitas razoes para voltar a sua concha e esperar a vida se esgotar. Aos poucos. Jogando fora um dia de cada vez.Sim. Ha muitas razoes para acreditar naquela voz, dentro da sua cabeca, que tenta anular voce, corromper seu potencial e convencer voce de que e um desperdicio tentar dar o proximo passo. Essa voz diz: "Para que escrever a propria historia?Assista TV, e viva a historia de outros, coma mais e nao se exercite, para destruir sua principal maquina de mudar seu mundo; esqueca o amor, anule-se." Estas sao as mensagens que tentam derrubar voce.Ha muitas razoes para desistir. Todas, absolutamente todas, falsas. Os limites estao em voce, nao em regras criadas por outros. Nossa sociedade e dominada pela absurda "lei das medias".Se a maioria nao consegue, tentam fazer com que voce acredite que jamais conseguira. Aleijadinho nao acreditava na voz interior que dizia, com toda a logica do mundo, que aleijados nao podem ser escultores. Era logico, mas era falso.Santos Dumont nao acreditou nos compatriotas que insistiam em dizer que o homem nao poderia voar com um veiculo mais pesado que o ar. Era logico, mas era falso. O mundo e plano, diziam aos navegadores. Era logico, mas era falso. Ha muitas coisas nas quais voce acredita, com logica, mas que sao absolutamente falsas.E facil inventar uma razao, um motivo aparentemente logico, para qualquer coisa. Mas sua vida pode ser muito mais do que um amontoado de desculpas logicas. Sua vida e muito mais do que qualquer razao para desistir de um sonho.Sua vida e muito mais do que seu passado ruim, suas experiencias de dor e seus medos ancestrais. Sua vida e tudo o que ainda vira. Nao importam os limites do seu passado, eles nao existem mais. Seu futuro pode ser tudo o que voce desejar.Escolha os companheiros de viagem... e va. Por isso, toda vez que "escutar uma voz dentro de voce dizendo `Voce nao e um pintor`, entao pinte sem parar, de todos os modos possiveis, e aquela voz sera silenciada.", como afirmou Van Gogh, um dos maiores pintores da historia. Substitua a palavra "pintor" por engenheiro, jornalista, arquiteto, policial, mae, professor, motorista, cantor, ator, escritor.... ou o que voce desejar. E acredite nisso: sua mente e seu corpo sao obrigados a seguirem as suas decisoes, suas acoes e suas crencas.Silencie a voz que tenta derrubar voce. Porque ela pode ate ser logica, mas e falsa. Nao acredite nela!Nao quero pensar besteira.. nao pensar na verdade. Ou construo o que quero saber, ou nao preciso saber de mais nada. So nao posso perder meu tempo pensando nisso. Porque pensar demais faz a gente chorar, deprimir, desistir.Nunca e tarde, entao.. tente.Olhar diferente, pensar positivamente e se nada der certo ?Tentar uma outra vez ! Eu estou fazendo a minha parte ... e voce ? "E uma compulsao horrivel de quebrar imediatamente qualquer relacao bonita que mal comece a acontecer. Destruir antes que cresca. Com requintes, com sofreguidao, com textos que
me vem prontos e faces que se sobrepoem as outras. E tomo a providencia cuidadosa de eu mesmo me ferir, sem prestar atencao se estou ferindo o outro tambem. Nao queria fazer mal a voce. Nao queria que voce chorasse. Nao queria cobrar absolutamente nada. Por que o Zen de repente escapa e se transforma em Sem?Sem que se consiga controlar"(...)Na maioria das vezes, gosto de estranhos. A partir do momento que voce conhece alguem de verdade, acaba se decepcionando. Sendo assim e mais confortante ficar no anonimato. Nao me importo se voce for indiferente comigo. A verdades e a realidade sao asperas, mas estao ai para serem aceitas, e nao questionadas. Ja passei por muitas experiencias por aqui e aprendi muito com isso. Entao, se for me conhecer na expectativa de destruir coracoes, sinto informar que eu estou diferente e que aqui ja nao existem mais tantos sentimentos. Se para voce e indiferente, para mim se torna tanto faz.Trata-se de uma decepcao diferente: nao penso obsessivamente, nao tenho vontade nenhuma de ligar nem de escrever cartas, nao tenho odio nem vontade de chorar. Em compensacao tambem nao tenho vontade de mais nada.Aprendi a amar menos, o que foi uma pena, e aprendi a ser mais cinica com a vida, o que tambem foi uma pena, mas necessario. Viver pra sempre tao boba e perdida teria sido fatal.A gente finge que arruma o guarda-roupa, arruma o quarto, arruma a bagunca. Tira aquele tanto de coisa que nao serve, porque ocupar espaco com coisas velhas nao da. As coisas novas querem entrar, tanta coisa bonita nas lojas por ai. Mas a gente nunca tira tudo. Sempre as esconde aqui, esconde ali, finge para si mesmo que ainda serve. A gente sabe. Que ta curta, pequeno, apertado. E que a gente queria tanto. Tanto.Acredito que arrumar a bagunca da vida e como arrumar a bagunca do quarto. Tirar tudo, rever roupas e sapatos, experimentar e ver o que ainda serve, jogar fora algumas coisas, outras separar para doacao. Isso pode servir melhor para outra pessoa. Hora de deixar ir. Alguem precisa mais do que voce. Se livrar. Deixar pra tras. Algumas coisas nao servem mais. Voce sabe. Chega. Porque guardar roupa velha dentro da gaveta e como ocupar o coracao com alguem que nao lhe serve. Perca de espaco, tempo, paciencia e sentimento.Tem tanta gente interessante por ai querendo entrar. Deixa. Deixa entrar: na vida, no coracao, na cabeca.Olha, faca um favor para mim, antes de tremer as pernas pelo inconquistavel e apagar as luzes do mundo por um unico brilho falso, olhe dentro de voce e pergunte: estupidez, masoquismo ou medo de viver de verdade?Palavras da Garota que esta igual vivendo o irreal.
Se eu te mostrar, que eu posso ate te conhecer..fique aqui comigo, so por esta noite. Eu nao quero te deixar ir,eu nao estou querendo ir dormir.. diga-me que sente o mesmo... Porque eu sou real, mas e voce e Real?Eu nao posso mais me ajudar, a maneira que eu me sinto quando voce me olha nos olhos, como fez nas noites passadas, eu nao suporto ouvir voce dizer adeus, mas isso parece tao certo, porque eu me sinto tao bem apenas por ter voce assim.. do meu lado, porque voce tem a minha alma. E eu so queria que voce soubesse que eu nao gosto de olhar para tras, porque eu sei que o que nos temos e algo que o passado nunca poderia mudar, e eu estou presa no momento.. mas meu coracao esta aberto... Me diga que voce sente o mesmo ;; Eu gosto do seu sorriso, eu gosto da sua vibe.. gosto da sua bagunca, mas isso nao e porque eu te amo, e eu gosto da maneira como voce e como uma estacao do ano, mas isso ainda nao e porque eu te amo. Ei, voce se sente, como eu me sinto ? Voce sente que eu sinto muito? Do que voce precisa em? Voce e tao bonito, mas isso nao e porque eu te amo. Eu gosto da maneira como voce se porta mal, quando nos comecamos perdidos, mas isso nao e porque eu te amo, e como voce se mantem calmo quando tudo esta tao complicado.. Mesmo que nao esteja.. eu estou sempre aqui pra voce... Ser voce, so voce.. Sim.. essa e a razao pela qual eu te amo, e tudo que nos passamos.. E e por tudo isso que eu te amo! Veja o video acima.Ok, ok, voce pode ate nao ser muito fa do genero, mas tenho certeza que vai ficar surpreso com um fato: tudo, absolutamente tudo, foi feito em pascal! O motor grafico, o interpretador de audio, o codigo que trata as requisicoes de rede, o gerenciamento de assets... tudo!Mas nao e so isso. O game Minimon esta disponivel para PC, Mac, Android e iOS alem de ter sido aprovado para venda na loja do Steam.Seu autor, Sergio Flores, disponibilizou o codigo do motor que ele desenvolveu para o projeto livremente em um repositorio do GitHub.Baixe o codigo e explore um pouco.E uma leitura que, para todo mundo que escreve codigo em algum dialeto do pascal, vale muito a pena.E nao deixe de visitar o site oficial do game: http://minimon3d.com/ Saida da 2a animacao em modo texto. Bem mais interessante.No ultimo post criamos um pequeno programa que imprimia zeros e uns em posicoes aleatorias da tela, criando um efeito muito simples, mas nada parecido com o efeito do console do matrix que estamos querendo escrever.O objetivo deste primeiro programa era se familiarizar com as funcoes da API do windows e comecar a conhecer o ambiente e suas limitacoes.O leitor mais atento podera ter percebido, entretanto, varios problemas com o programa escrito. O primeiro deles e que nao estamos realmente gerando
com um page-flip Sleep(10); //aguardamos 10ms para end;end. Compile o codigo e voce vera o efeito fucionando. Bacana heim!Deferencas de AmbienteFizemos tudo certo ate aqui, mas o codigo nao compila no Lazarus... porque?Porque ha uma diferenca na declaracao da funcao CreateConsoleScreenBuffer no arquivos windows.pas que acompanha o Delphi e o windows.pas que acompanha o Lazarus. Enquanto um espera uma referencia para uma estrutura TSecurityAttributes o outro espera um ponteiro nao tipado. Nada complicado, se usarmos a diretiva de compilacao condicional certa para resolver a questao.Quando usamos o compilador do free pascal, como e o caso do Lazarus, a diretiva {$DEFINE FPC} sempre estara ligada, nos dando um teste seguro para isolar as eventuais diferencas entre os dois mundos portanto, vamos alterar a funcao ConfigConsole para podermos compatibilizar nosso codigo com esses dois compiladores.procedure ConfigConsole;var lCursorInfo : TConsoleCursorInfo; lSecAttributes : TSecurityAttributes;begin SetConsoleTitle('DelphiGames Blog | Matrix Effect - Part 2'); Write('Getting handlers... '); lSecAttributes.nLength:= sizeOf(TSecurityAttributes); lSecAttributes.lpSecurityDescriptor := nil; lSecAttributes.bInheritHandle := false; hBuffer1 := GetStdHandle(STD_OUTPUT_HANDLE); {$IFDEF FPC} hBuffer2 := CreateConsoleScreenBuffer( GENERIC_WRITE or GENERIC_READ, FILE_SHARE_READ, lSecAttributes, CONSOLE_TEXTMODE_BUFFER, nil); {$ELSE} hBuffer2 := CreateConsoleScreenBuffer( GENERIC_WRITE or GENERIC_READ, FILE_SHARE_READ, @lSecAttributes, CONSOLE_TEXTMODE_BUFFER, nil); {$ENDIF} if (hBuffer1 = INVALID_HANDLE_VALUE) or (hBuffer2 = INVALID_HANDLE_VALUE) then begin WriteLn('ERROR'); Halt(1); end else begin WriteLn('OK!'); hBackBuffer := hBuffer1; lcursorInfo.dwSize := 1; lcursorInfo.bVisible := False; SetConsoleCursorInfo(hBuffer1, lcursorInfo); SetConsoleCursorInfo(hBuffer2, lcursorInfo); consoleBounds.X:= 80; consoleBounds.Y:= 25; SetConsoleScreenBufferSize(hBuffer1, consoleBounds); SetConsoleScreenBufferSize(hBuffer2, consoleBounds); end;end;Notas FinaisApesar do resultado do codigo que construimos neste post ter bem mais interessante que o codigo anterior, ainda ha (sempre ha) espaco para varias melhorias. Vou enumerar algumas aqui e deixa-las como proposta de exercicios para o leitor.Sugestoes de melhoria:A velocidade da animacao esta dependente da velocidade do processador em que esta sendo executada. Com poucas modificacoes no codigo, e possivel adquirir uma taxa de frames fixa. Sera que voce consegue implementa-la?.Todos os strips descem com a mesma velocidade. Como ficaria o feito se eles caissem com velocidades diferentes?Que tal exibir a taxa de quadros por segundo em que o programa esta operando na barra de titulos do terminal?Ha um "slowdown" no inicio da animacao. O que esta causando isto? Voce consegue resolver?E isso ai pessoal. Espero que tenham gostado e ate o proximo texto.Abracos.LinksCodigo fonteExecutavel
primeiros para garantir que voce possa atirar com o botao de acao que achar mais confortavel.Como um bonus e para ajudar a debugar o codigo referente aos inputs de josysticks, criamos uma funcao que vai desenhar um led vermelho na tela quando nao houver nenhum joystics disponivel e um led verde quando o SDL detectar a presenca de pelo menos 1 controle.procedure TGame.DrawDebugInfo;var source, dest : TSDL_Rect;begin //desenha o led do sensor do controle source.y := 0; source.w := 16; source.h := 16; if SDL_NumJoysticks > 0 then source.x := 0 else source.x := 16; dest.x := 10; dest.y := 10; dest.w := 16; dest.h := 16; SDL_RenderCopy( fRenderer, fTextures[Ord(TSpriteKind.Leds)].Data, @source, @dest);end;(...)procedure TGame.Render;begin SDL_SetRenderDrawColor( fRenderer, 0, 0, 0, SDL_ALPHA_OPAQUE ); SDL_RenderClear( fRenderer ); DrawGameObjects; DrawDebugInfo; //vamos desenhar o "sensor" de joystick SDL_RenderPresent( fRenderer ); fFrameCounter.Increment;end;Muito codigo foi escrito neste artigo, mas se voce acompanhou com cuidado os comentarios e explicacoes, devera conseguir entender tudo o que fizemos. Se tiver duvidas, criticas ou sugestoes, sinta-se a vontade para utilizar a secao de comentarios logo abaixo e se voce chegou ate aqui, meus parabens pela dedicacao! Posso garantir que a maior parte do "trabalho" sujo ja foi feita e que o jogo tomara forma num ritmo cada vez maior nos proximos artigos da serie.Mais uma vez, obrigado pelo seu tempo e ate a proxima!LinksCodigo fonteBinariosAssets (imagens e sons)
para mais detalhes fGameText.Draw('GAME CONTROLLER NOT FOUND', 32, 19, fGameFonts.DebugError); end; SDL_RenderCopy( fRenderer, fTextures[Ord(TSpriteKind.Leds)].Data, @source, @dest);end;(* Finalmente, desenhamos a linha que limita a nossa barra de informacoes e desenhos o texto com a pontuacao do jogador centralizada na tela *)procedure TGame.DrawGUI;begin SDL_SetRenderDrawColor(fRenderer, 255, 255, 0, 255); SDL_RenderDrawLine( fRenderer, 0, round(DEBUG_CELL_SIZE * 1.5), SCREEN_WIDTH, round(DEBUG_CELL_SIZE * 1.5)); fGameText.Draw( Format('SCORE %.6d', [fScore]), 290, 12, fGameFonts.GUI );end;Bom, com isto finalizamos a terceira parte da serie.Se voce chegou ate aqui, meus parabens. Foi um bocado de informacao nova, eu sei, mas esta valendo a pena. O projeto esta comecando a parecer um game de verdade e estamos a um passo de dar vida aos inimigos e tocar alguns efeitos sonoros!Muito obrigado e ate a proxima!LinksCodigo FonteBinarios (executavel e dependencias)Assets
temos a mesma tela preta. Isto porque nao instanciamos nenhum inimigo. Vamos alterar, mais uma vez a classe TGame para que ela gerencie a criacao, a inicializacao e a destruicao dos inimigos. Tambem precisamos mexer um pouco no metodo TGame.Render.TGame = classprivate fRunning : boolean; fWindow : PSDL_Window; fWindowSurface : PSDL_Surface; fRenderer : PSDL_Renderer; fSprites : array of PSDL_Surface; fEnemies : array [0..19] of TEnemy;(...)procedure TGame.CreateEnemies;var i : integer; enemy : TEnemy;begin for i:= 0 to High( fEnemies ) do begin enemy := TEnemyA.Create( fRenderer ); enemy.HP:= 1; enemy.Position.X := 32 + (i * 32); enemy.Position.Y := 100; enemy.SetTexture( fSprites[ Ord(TSpriteKind.EnemyA) ] ); fEnemies[ i ] := enemy; end;end;procedure TGame.DrawEnemies;var i: integer;begin for i:= 0 to High( fEnemies ) do fEnemies[ i ].Draw;end;procedure TGame.Render;begin SDL_SetRenderDrawColor( fRenderer, 0, 0, 0, SDL_ALPHA_OPAQUE ); SDL_RenderClear( fRenderer ); DrawEnemies; SDL_RenderPresent( fRenderer );end;Comecamos criando o array fEnemies para armazenar todos os inimigos. As dimensoes do array nao importam por quanto, 20 e um numero arbitrario somente para termos alguns inimigos para exibir.Depois, partimos para a inicializacao dos inimigos. Como so temos o TEnemyA implementado, TGame.CreateEnemies preenche o fEnemies com 20 instancias do mesmo, e os organiza em uma linha, separando-os em colunas de 32pixels + 32 pixels de margem ( enemy.Position.X := 32 + (i * 32) ) e informando o endereco de memoria onde esta a textura a ser usada atraves de uma chamada a enemy.SetTexture.Em seguida, TGame.DrawEnemies instrui cada inimigo a desenhar a si mesmo quando e chamado a partir de TGame.Render. Simples nao? A imagem acima mostra como deve estar a aparencia de seus inimigos ao final destas alteracoes.E com isto concluimos a primeira parte de nossa jornada!Na proxima semana iremos comecar explorar as animacoes e movimentacao dos inimigos e iremos implementar os controles do jogador, via teclado e joystick!Ate la!LinksCodigo FonteBinariosAssets (imagens e sons).