<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>VSoftGames - programação, jogos e um pouco mais</title>
	<atom:link href="http://vsoftgames.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://vsoftgames.com/wp</link>
	<description>Programação, jogos e um pouco mais.</description>
	<pubDate>Tue, 18 Nov 2008 16:53:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Novo design</title>
		<link>http://vsoftgames.com/wp/2008/11/18/novo-design/</link>
		<comments>http://vsoftgames.com/wp/2008/11/18/novo-design/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 01:27:12 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/?p=342</guid>
		<description><![CDATA[Para facilitar a visualização dos tutoriais adotei um novo design mais limpo e agradável que combina mais com o tema geral do blog.
Acredito que assim deva ficar mais fácil de visualizar os textos e aproveitar melhor o conteúdo.
Até a próxima.

    

	]]></description>
			<content:encoded><![CDATA[<p>Para facilitar a visualização dos tutoriais adotei um novo design mais limpo e agradável que combina mais com o tema geral do blog.</p>
<p>Acredito que assim deva ficar mais fácil de visualizar os textos e aproveitar melhor o conteúdo.</p>
<p>Até a próxima.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Novo%20design&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F11%2F18%2Fnovo-design%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/11/18/novo-design/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A importância de ter foco para estudar programação de jogos</title>
		<link>http://vsoftgames.com/wp/2008/11/13/a-importancia-de-ter-foco-para-estudar-programacao-de-jogos/</link>
		<comments>http://vsoftgames.com/wp/2008/11/13/a-importancia-de-ter-foco-para-estudar-programacao-de-jogos/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 22:30:17 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Tutoriais sobre programação de jogos]]></category>

		<category><![CDATA[foco]]></category>

		<category><![CDATA[jogos]]></category>

		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/?p=306</guid>
		<description><![CDATA[Hoje venho falar de um assunto muito importante: foco.
Foco é de extrema importância na vida (seja na execução de um trabalho difícil, nos estudos ou paciência para persistir) e principalmente para quem está estudando programação de jogos.
Um exemplo que aconteceu comigo: antigamente eu pesquisava diversos tutoriais sobre programação de jogos em geral (sobre diversas linguagens [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje venho falar de um assunto muito importante: <strong>foco</strong>.</p>
<p>Foco é de extrema importância na vida (seja na execução de um trabalho difícil, nos estudos ou paciência para persistir) e principalmente para quem está estudando programação de jogos.</p>
<p>Um exemplo que aconteceu comigo: antigamente eu pesquisava diversos tutoriais sobre programação de jogos em geral (sobre diversas linguagens e tecnologias), dava uma lida por cima e guardava comigo.</p>
<p>Isto acabou me ajudando ??? Sim e não&#8230;</p>
<p><strong>Sim</strong> pois acabei juntando uma boa biblioteca pra pesquisar e que me ajuda a resolver alguns problemas que eu possa ter no futuro.</p>
<p><strong>Não</strong> pois sinceramente não &#8220;aprendi direito&#8221; deste jeito. O simples fato de ficar &#8220;apenas na pesquisa&#8221; não me deu o tempo necessário pra praticar. Resultado: não dá pra abraçar o mundo, é melhor focar em algo (quando estamos aprendendo) do que querer ver e fazer tudo o que tem de novo, interessante, etc.</p>
<p>Então baseado no que eu passei, segue abaixo algumas dicas para você ter foco e não se perder nessa longa caminhada:</p>
<ol>
<li>faça um objetivo por vez (lembre-se que o conhecimento se constrói em cima de conhecimento, logo existem temas que você estuda que dependem do conhecimento e domínio prévio de outros temas, aprenda a detectar isto e corra atrás&#8230;);</li>
<li>faça uma lista do que você precisa estudar (vou dar um exemplo mais abaixo de uma lista que estou utilizando) e foque um assunto por vez, dedique alguns dias &amp; semanas para cada assunto e você verá seus conhecimentos evoluindo;</li>
<li>Se quiser aprender a fazer jogos pra web, aprenda flash ou silverlight mas não os dois&#8230; Quer aprender a fazer jogos 3d com alguma API? Foque ou no OpenGL ou no Direct 3d (mas não nos dois (pegaram o espirito&#8230;). Quer aprender alguma linguagem? Escolha uma e foque sua energia nela;</li>
<li>Mais uma vez: conhecimento se constrói em cima de conhecimento. Para se ter conhecimento deve se ter uma base sólida que você consegue estudando e focando (no início). Depois fica mais fácil passar este conhecimento para outros ambientes;</li>
<li>Ouvir músicas que não distraem muito ajudam na hora de concentrar e focar no problema em mãos.</li>
<li>Façam exercicios: ajuda a manter o corpo e o cérebro saudáveis facilitando a resolução de problemas difícieis e a capacidade de concentração (para focar é claro).</li>
</ol>
<p>Mais um exemplo: no item dois comentei a respeito de fazer uma listagem de coisas a fazer e a estudar, atualmente possuo um rascunho do que eu estou fazendo (pode não ser a lista mais completa, mas me ajuda a saber o que eu quero, o que preciso focar, o que ja sei, etc&#8230;).</p>
<ul>
<li><strong>C++</strong></li>
<li> templates</li>
<li> classes (incluindo construtores, de cópia e destrutores)</li>
<li> namespaces</li>
<li> ponteiros e referências</li>
<li> sobrecarga de operadores</li>
<li> herança</li>
<li> polimorfismo</li>
<li> STL</li>
<li> friends</li>
<li>game loop</li>
<li>controle de fps</li>
<li>sprites</li>
<li>tiles</li>
<li>background scrolling</li>
<li>menu básico</li>
<li><strong>detecção de colisão</strong></li>
<li> boudingbox (plane exclusion)</li>
<li> esfera</li>
<li> triângulo</li>
<li> intersecção entre dois segmentos de reta</li>
<li><strong>matemática</strong></li>
<li> seno &amp; coseno</li>
<li> tabelas lookup</li>
<li> vetores</li>
<li> matrizes</li>
<li> matemática de ponto fixo</li>
<li>geometria</li>
<li>algebra linear</li>
<li><strong>fisica</strong></li>
<li> gravidade</li>
<li> velocidade linear (um pouco mais complicado do que parece)</li>
<li> friccao</li>
<li> balistica</li>
<li> leis de newton</li>
<li>network</li>
<li><strong>ai</strong></li>
<li> pathfinding</li>
</ul>
<p>Quando digo por exemplo para focar em uma tecnologia &amp; ambiente é porque com o passar do tempo de estudo você já terá uma certa familiaridade com ele e não perderá mais tempo fazendo inicializações, enfrentando problemas diversos de adaptação. Com isso conforme for estudando novos assuntos, poderá facilmente aplicá-los na sua base ja existente (acelerando o aprendizado e permitindo que você foque no novo material).</p>
<p>É claro, a maioria das técnicas aprendidas (incluindo as mais avançadas que você só aprendeu por persistir e ter foco) podem ser aplicadas em outras ocasiões e ambientes (então o fato de você focar em um ambiente trouxe vantagens ao invés de desvantagens, pois permite uma adaptação mais rápida para novos ambientes e conceitos).</p>
<p><strong>Conclusão</strong></p>
<p>O que eu quis mostrar aqui é que a falta de foco pode atrapalhar bastante nos estudos. No geral é melhor ter um pássaro na mão do que dois voando.</p>
<p>Sintam-se a vontade para ler e deixar suas dicas também.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=A%20import%C3%A2ncia%20de%20ter%20foco%20para%20estudar%20programa%C3%A7%C3%A3o%20de%20jogos&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F11%2F13%2Fa-importancia-de-ter-foco-para-estudar-programacao-de-jogos%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/11/13/a-importancia-de-ter-foco-para-estudar-programacao-de-jogos/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Doom para iPod</title>
		<link>http://vsoftgames.com/wp/2008/10/04/doom-para-ipod/</link>
		<comments>http://vsoftgames.com/wp/2008/10/04/doom-para-ipod/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 21:53:23 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Diversos]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/?p=270</guid>
		<description><![CDATA[
Falando um pouco sobre jogos e dispositivos portáteis, hoje em dia os processadores de dispositivos como celulares, mp3 players e afins podem ser comparados aos processadores dos computadores pessoais de até alguns anos atrás.
Quem não se lembra do famoso jogo Doom? Pois é, algumas pessoas conseguiram portar o código do Doom para o iPod.
O site [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-medium wp-image-271 aligncenter" title="iDoom" src="http://vsoftgames.com/wp/wp-content/uploads/2008/10/idoom-300x169.jpg" alt="iDoom" width="300" height="169" /></p>
<p>Falando um pouco sobre jogos e dispositivos portáteis, hoje em dia os processadores de dispositivos como celulares, mp3 players e afins podem ser comparados aos processadores dos computadores pessoais de até alguns anos atrás.</p>
<p>Quem não se lembra do famoso jogo Doom? Pois é, <a title="iDoom" href="http://idoom.hyarion.com/">algumas pessoas</a> conseguiram portar o código do Doom para o <a title="iPod" href="http://www.apple.com/br/itunes/">iPod</a>.</p>
<p>O <a href="http://idoom.hyarion.com/">site oficial</a> possui alguns vídeos do jogo em funcionamento e descreve todos os detalhes.</p>
<p style="text-align: center;"><img class="size-full wp-image-273 aligncenter" title="idoom_nano_2" src="http://vsoftgames.com/wp/wp-content/uploads/2008/10/idoom_nano_2.jpg" alt="" width="400" height="300" /></p>
<p>Para quem tem um iPod e quer se divertir um pouco vale a pena, mas, mais do que isso, exemplos como esse mostram as possiblidades existentes nos aparelhos comercializados em massa hoje em dia e mostram o que é possível fazer com um pouco de criatividade e muito esforço.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Doom%20para%20iPod&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F10%2F04%2Fdoom-para-ipod%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/10/04/doom-para-ipod/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Tutorial de trigonometria fora do ar</title>
		<link>http://vsoftgames.com/wp/2008/09/25/tutorial-de-trigonometria-fora-do-ar/</link>
		<comments>http://vsoftgames.com/wp/2008/09/25/tutorial-de-trigonometria-fora-do-ar/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 17:35:26 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Tutoriais de Matemática]]></category>

		<category><![CDATA[Tutoriais sobre programação de jogos]]></category>

		<category><![CDATA[allegro]]></category>

		<category><![CDATA[trigonometria]]></category>

		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/?p=239</guid>
		<description><![CDATA[Devido a alguns erros encontrados no tutorial de trigonometria estou retirando-o do ar para passar por correções.
Agradeço a compreensão.

    

	]]></description>
			<content:encoded><![CDATA[<p>Devido a alguns erros encontrados no tutorial de trigonometria estou retirando-o do ar para passar por correções.</p>
<p>Agradeço a compreensão.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Tutorial%20de%20trigonometria%20fora%20do%20ar&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F09%2F25%2Ftutorial-de-trigonometria-fora-do-ar%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/09/25/tutorial-de-trigonometria-fora-do-ar/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Como fazer um menu com Allegro - parte 1</title>
		<link>http://vsoftgames.com/wp/2008/09/23/como-fazer-um-menu-com-allegro-parte-1/</link>
		<comments>http://vsoftgames.com/wp/2008/09/23/como-fazer-um-menu-com-allegro-parte-1/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 01:17:27 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Tutoriais sobre programação de jogos]]></category>

		<category><![CDATA[allegro]]></category>

		<category><![CDATA[menu]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/?p=216</guid>
		<description><![CDATA[Hoje iremos aprender a fazer um menu simples em Allegro, utilizando alguns bitmaps e um pouco de lógica podemos ter um menu perfeitamente funcional, flexível e fácil de fazer.
Ao término do tutorial teremos o seguinte menu:
Ao passar o mouse sobre o item do menu teremos um pequeno efeito:
Recursos
O nosso menu terá os seguintes &#8220;recursos&#8221;:

inserção de [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje iremos aprender a fazer um menu simples em Allegro, utilizando alguns bitmaps e um pouco de lógica podemos ter um menu perfeitamente funcional, flexível e fácil de fazer.</p>
<p>Ao término do tutorial teremos o seguinte menu:</p>
<div id="attachment_217" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-217" title="menus" src="http://vsoftgames.com/wp/wp-content/uploads/2008/09/menus.gif" alt="" width="500" height="374" /><p class="wp-caption-text">O menu com todas as suas opções</p></div>
<p>Ao passar o mouse sobre o item do menu teremos um pequeno efeito:</p>
<div id="attachment_219" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-219" title="menus_mouseemcima" src="http://vsoftgames.com/wp/wp-content/uploads/2008/09/menus_mouseemcima.gif" alt="Opção do menu com o mouse em cima" width="500" height="374" /><p class="wp-caption-text">Opção do menu com o mouse em cima</p></div>
<h3>Recursos</h3>
<p>O nosso menu terá os seguintes &#8220;recursos&#8221;:</p>
<ul>
<li>inserção de itens em qualquer lugar da tela;</li>
<li>cada item poderá ter uma imagem diferente quando o mouse passar em cima;</li>
<li>ação personalizada para cada item do menu.</li>
</ul>
<h3>Implementação</h3>
<p>Agora que vimos a teoria vamos à implementação:</p>
<ol>
<li>Para iniciar crie um projeto chamado Menu e utilize a base inicial <a href="http://vsoftgames.com/wp/2007/10/03/o-game-loop-parte-2/">deste tutorial</a>;</li>
<li>Baixe <a href="http://vsoftgames.com/wp/wp-content/uploads/2008/09/imagens_menus.zip">este arquivo</a> e extraia para a pasta do seu projeto (ou utilize suas próprias imagens);</li>
<li>No arquivo main.cpp, após a linha de inclusão da biblioteca allegro (#include &lt;allegro.h&gt;), insira as linhas abaixo:</li>
</ol>
<pre name="code" language="cpp">#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;</pre>
<p>Estas três linhas incluem as bibliotecas que utilizaremos (string e vector) e declara que utilizaremos o espaço de nomes std (maiores explicações depois).</p>
<p>Após a declaração da variável *bmp (BITMAP *bmp) vamos inserir o código das classes:</p>
<pre name="code" language="cpp">/*
=======
MenuItem

Representa o item de um menu
=======
*/
class MenuItem {
private:
    int x, y;                   // localizacao deste item de menu na tela

    // esta funcao verifica se o cursor do mouse esta em cima (dentro) deste item de menu
    // se estiver, retorna true, caso contrario retorna false
    bool mouseDentro() {
        int x1 = x;
        int y1 = y;
        int x2 = x1 + pic-&gt;w;
        int y2 = y1 + pic-&gt;h;

        if (mouse_x &gt; x1 &amp;&amp; mouse_x &lt; x2 &amp;&amp; mouse_y &gt; y1 &amp;&amp; mouse_y &lt; y2)
            return true;
        else
            return false;
    }

public:
    BITMAP *pic;                // imagem do item do menu
    BITMAP *picMouseDentro;     // imagem do item do menu (quando o mouse estiver em cima)
    bool isMouseDentro;           // flag que indica se o mouse esta ou nao dentro do menu
    void (*funcao)(); // ponteiro para a funcao que sera executada quando o usuario clicar neste menu

    MenuItem(int posX, int posY, string imagem, string imagemDentro, void (*pFuncao)()) {
        isMouseDentro = false;

        // define a posicao
        x = posX;
        y = posY;

        // carrega as figuras do menu
        pic = load_bitmap(imagem.c_str(), NULL);
        picMouseDentro = load_bitmap(imagemDentro.c_str(), NULL);

        // se especificou uma funcao, passa ela
        if (pFuncao)
            funcao = pFuncao;
    }

    // acao que este item de menu ira realizar
    void realizaAcao() {
        if (funcao != NULL)
            (funcao)(); // chama a funcao
    }

    // atualiza este item de menu
    void atualiza() {
        // se o mouse passar em cima, executa a acao deste menu
        if (mouseDentro()) {
            isMouseDentro = true;

            // se clicar realiza a acao
            if (mouse_b &amp; 1) realizaAcao();

        } else {
            isMouseDentro = false;
        }
    }

    // desenha este item de menu na tela
    void desenha(BITMAP *bmp) {
        if (isMouseDentro)
            draw_sprite(bmp, picMouseDentro, x, y);
        else
            draw_sprite(bmp, pic, x, y);
    }

    ~MenuItem() {
    }
};

/*
=======
Menu

Classe que gerencia os menus
=======
*/
class Menu {
private:
    vector&lt;MenuItem&gt; items; // representa os itens do menu

public:
    Menu() {}

    // verifica a logica para todos os itens do menu
    void atualiza() {
        int totalItems = items.size();
        for (int i = 0; i &lt; totalItems; i++) {
            items[i].atualiza();
        }
    }

    // desenha os itens de menu
    void desenha(BITMAP *bmp) {
        int totalItems = items.size();
        for (int i = 0; i &lt; totalItems; i++) {
            items[i].desenha(bmp);
        }
    }

    // adiciona um item ao menu
    void adicionaItem(MenuItem menuItem) {
        items.push_back(menuItem);
    }

    ~Menu() {
        int totalItems = items.size();
        for (int i = 0; i &lt; totalItems; i++) {
            // desaloca a memoria alocada para este item
            destroy_bitmap(items[i].pic);
            destroy_bitmap(items[i].picMouseDentro);
        }
    }
};

// ===================
// funcoes dos menus
// ===================

void mnuNewGame() {
}
void mnuOptions() {
}
void mnuHighScores() {
}
void mnuExit() {
    fimJogo = true;
}

// ===================
// fim das funcoes dos menus
// ===================</pre>
<p>Agora que temos as classes definidas e explicadas é hora da inicialização.</p>
<p>Após a chamada da função Inicializa na função main, insira o código abaixo:</p>
<pre name="code" language="cpp">    // inicializa o gerenciador do menu
    Menu *menu = new Menu();

    // agora adiciona os itens do menu
    // new game
    MenuItem itemNewGame(187, 51,  "mnuNewGame.bmp", "mnuNewGameM.bmp", mnuNewGame);
    menu-&gt;adicionaItem(itemNewGame);

    // options
    MenuItem itemOptions(187, 122, "mnuOptions.bmp", "mnuOptionsM.bmp", mnuOptions);
    menu-&gt;adicionaItem(itemOptions);

    // highscores
    MenuItem itemHighScores(187, 199, "mnuHighscores.bmp", "mnuHighscoresM.bmp", mnuHighScores);
    menu-&gt;adicionaItem(itemHighScores);

    // exit
    MenuItem itemExit(187, 274, "mnuExit.bmp", "mnuExitM.bmp", mnuExit);
    menu-&gt;adicionaItem(itemExit);</pre>
<p>Já temos o menu inicializado, o que precisamos agora é fazer o gameloop atualizar a lógica do menu e desenhá-lo na tela.</p>
<p>Dentro do loop iniciado por:</p>
<pre name="code" language="cpp">        while (ticks &amp;&amp; !fimJogo) {</pre>
<p>e após a linha:</p>
<pre name="code" language="cpp">        if (key[KEY_ESC]) fimJogo = true;</pre>
<p>insira o código:</p>
<pre name="code" language="cpp">        menu-&gt;atualiza();</pre>
<p>e para desenhar o menu, antes da linha:</p>
<pre name="code" language="cpp">        textprintf(bmp, font, 0, 0, -1, "FPS: %i", fps);</pre>
<p>insira o código:</p>
<pre name="code" language="cpp">        // limpa a tela com a cor branca
        clear_to_color(bmp, makecol(255, 255, 255));</pre>
<p>Agora já temos a tela branca, só falta exibir o menu e o cursor do mouse, para isso após a linha:</p>
<pre name="code" language="cpp">        textprintf(bmp, font, 0, 0, -1, "FPS: %i", fps);</pre>
<p>insira:</p>
<pre name="code" language="cpp">        // desenha o menu
        menu-&gt;desenha(bmp);

        // exibe o cursor do mouse na tela
        show_mouse(bmp);</pre>
<p>e para finalizar, antes da chamada à função Finaliza, insira o código abaixo para destruir corretamente o menu e liberar a memória alocada por ele:</p>
<pre name="code" language="cpp">        delete menu;</pre>
<h3>Funcionamento</h3>
<p>Basicamente o menu possui duas classes: Menu que cuida para gerenciar todos os itens do menu, e MenuItem que representa um item de menu.</p>
<p>A classe Menu possui os itens de menu em um vector, permitindo assim inserirmos dinamicante quantos itens forem necessários. Esta classe simples apenas possui métodos para adicionar um item de menu, atualizar a lógica dos mesmos e desenhá-los na tela.</p>
<p>A classe MenuItem é o núcleo do menu. Cada item do menu possui algumas propriedades chave tais como posição (int x, y), uma imagem para ser exibida normalmente e outra para ser exibida quando o mouse passa em cima, uma flag para indicar se o mouse está passando em cima e o mais importante: um ponteiro para uma função que será chamada assim que o menu for clicado.<br />
Esta classe também implementa métodos para desenhar o item de menu e atualizar a sua imagem caso o mouse esteja em cima.</p>
<p>Algumas observações: eu deixei o código todo no mesmo arquivo (não aconselhável exceto para exemplos mais triviais) para ajudar as pessoas que tem dificuldades em compilar arquivos separados e evitar complicações com variáveis não definidas, variáveis externas, etc&#8230;</p>
<p>Se quiser o projeto pronto <a href="http://vsoftgames.com/wp/wp-content/uploads/2008/09/menu.zip">baixe este arquivo</a> (arquivo de projeto para o Dev-C++).</p>
<h3>Exercícios</h3>
<p>Agora que você já viu uma implementação básica, tente os exercícios abaixo:</p>
<ul>
<li>faça o menu ser controlável por teclado;</li>
<li>implemente animação nos itens do menu;</li>
<li>toque um som ao passar o mouse em cima do menu ou ao clicar em um item;</li>
<li>faça o item do menu &#8220;se animar&#8221; ao passar o mouse em cima;</li>
<li>as possiblidades são grandes, experimente&#8230;</li>
</ul>
<p>Na segunda parte veremos em detalhes como controlar os &#8220;estados&#8221; do jogo para poder trocar mais facilmente as telas (podendo inclusive implementar um menu em cada uma ou iniciar o jogo).</p>
<p>Espero que tenham gostado.</p>
<p>PS: estou pensando em distribuir os códigos fontes com arquivo de projeto do Microsoft Visual C++ Express Edition 2008 ao invés de utilizar o Dev-C++, se alguém tiver alguma observação agora é a hora.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Como%20fazer%20um%20menu%20com%20Allegro%20-%20parte%201&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F09%2F23%2Fcomo-fazer-um-menu-com-allegro-parte-1%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/09/23/como-fazer-um-menu-com-allegro-parte-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Blog em manutenção</title>
		<link>http://vsoftgames.com/wp/2008/09/09/blog-em-manutencao/</link>
		<comments>http://vsoftgames.com/wp/2008/09/09/blog-em-manutencao/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 23:51:34 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/2008/09/09/blog-em-manutencao/</guid>
		<description><![CDATA[Pessoal,
O blog estará em manutenção pelos próximos dias.
Agradeço a compreensão.

    

	]]></description>
			<content:encoded><![CDATA[<p>Pessoal,</p>
<p>O blog estará em manutenção pelos próximos dias.</p>
<p>Agradeço a compreensão.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Blog%20em%20manuten%C3%A7%C3%A3o&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F09%2F09%2Fblog-em-manutencao%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/09/09/blog-em-manutencao/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Novas atualizações e mudança de foco</title>
		<link>http://vsoftgames.com/wp/2008/08/26/novas-atualizacoes-e-mudanca-de-foco/</link>
		<comments>http://vsoftgames.com/wp/2008/08/26/novas-atualizacoes-e-mudanca-de-foco/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 23:53:26 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/2008/08/26/novas-atualizacoes-e-mudanca-de-foco/</guid>
		<description><![CDATA[Finalmente depois de um longo período sem internet em casa agora tudo se normalizou: estou com internet em casa novamente e de quebra a algum tempo inseri um novo layout no blog (espero que tenham gostado).
Aproveitando que agora posso realizar atualizações mais frequentes no blog, pensei em dar uma mudança no foco e uma diversificada: [...]]]></description>
			<content:encoded><![CDATA[<p>Finalmente depois de um longo período sem internet em casa agora tudo se normalizou: estou com internet em casa novamente e de quebra a algum tempo inseri um novo layout no blog (espero que tenham gostado).</p>
<p>Aproveitando que agora posso realizar atualizações mais frequentes no blog, pensei em dar uma mudança no foco e uma diversificada: antes o meu foco original era apenas a linguagem C e a biblioteca Allegro (ainda continuo com este foco) mas pretendo passar a utilizar apenas a linguagem C++ nos exemplos (acho que compensa um pouco mais de complexidade na flexibilidade que terei ao utilizar classes para exemplificar alguns conceitos). Também pretendo postar alguns tutoriais simples sobre programação em celulares (tenho me dedicado bastante nesta plataforma e estou gostando bastante).</p>
<p>Falando em mudança de foco,  a minha idéia inicial era publicar artigos sobre &#8220;conceitos&#8221; em separado e depois dar um pequeno exemplo prático, mas pelo que eu vi, é muito mais fácil já dar um exemplo prático (e explicá-lo) já aplicando o conceito. Exemplo: ao invés de explicar detecção de colisão, gameloop etc, seria melhor mostrar um exemplo já aplicando isto em um jogo e depois ir dissecando um por um.</p>
<p>Seguindo esta linha creio que o pessoal irá aprender mais e se divertir mais no processo.</p>
<p>Também andei acompanhando a movimentação do tráfego do blog, partes mais acessadas e percebi que o tutorial de trigonometria anda bastante acessado (muito obrigado pessoal). Isto me fez perceber que ele precisa de uma revisão (e uma boa reescrita) mas acima de tudo: mais exemplos práticos.</p>
<p>Bom, na verdade foi mais um desabafo para vocês saberem que eu estou vivo e como pretendo fazer as coisas daqui pra frente.</p>
<p>Obrigado pessoal e até a próxima.</p>
<p>Sugestões? Críticas? Sou todo ouvidos.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Novas%20atualiza%C3%A7%C3%B5es%20e%20mudan%C3%A7a%20de%20foco&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F08%2F26%2Fnovas-atualizacoes-e-mudanca-de-foco%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/08/26/novas-atualizacoes-e-mudanca-de-foco/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mudanças</title>
		<link>http://vsoftgames.com/wp/2008/07/24/mudancas/</link>
		<comments>http://vsoftgames.com/wp/2008/07/24/mudancas/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 18:04:00 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/2008/07/24/mudancas/</guid>
		<description><![CDATA[Olá pessoal.
Mês que vem (Agosto/2008) o blog passará por algumas mudanças e talvez fique fora do ar alguns dias.
Em especial terá um novo layout e um novo foco nos artigos.
Fiquem ligados.

    

	]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal.</p>
<p>Mês que vem (Agosto/2008) o blog passará por algumas mudanças e talvez fique fora do ar alguns dias.</p>
<p>Em especial terá um novo layout e um novo foco nos artigos.</p>
<p>Fiquem ligados.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Mudan%C3%A7as&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F07%2F24%2Fmudancas%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/07/24/mudancas/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dicas para aprender a programar jogos - parte 2</title>
		<link>http://vsoftgames.com/wp/2008/07/15/dicas-para-aprender-a-programar-jogos-parte-2/</link>
		<comments>http://vsoftgames.com/wp/2008/07/15/dicas-para-aprender-a-programar-jogos-parte-2/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 12:21:05 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Tutoriais sobre programação de jogos]]></category>

		<category><![CDATA[dicas]]></category>

		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/2008/07/15/dicas-para-aprender-a-programar-jogos-parte-2/</guid>
		<description><![CDATA[Segue mais algumas dicas e conselhos interessantes para aprender a programar jogos eletrônicos:

Estude códigos fonte: esta dica é essencial, códigos fonte escondem verdadeiros tesouros, técnicas sendo utilizadas, estruturação de projeto, documentação, construções da linguagem, etc. Essas são algumas das coisas que você encontrará lendo um código fonte, mas o importante é que você verá a [...]]]></description>
			<content:encoded><![CDATA[<p>Segue mais algumas dicas e conselhos interessantes para aprender a programar jogos eletrônicos:</p>
<ul>
<li>Estude códigos fonte: esta dica é essencial, códigos fonte escondem verdadeiros tesouros, técnicas sendo utilizadas, estruturação de projeto, documentação, construções da linguagem, etc. Essas são algumas das coisas que você encontrará lendo um código fonte, mas o importante é que você verá a coisa na prática, verá o que é possível fazer (muitas coisas você nem terá idéia de que era possível). Gaste um pouco do seu tempo e estude códigos fonte. Futuramente farei um guia para auxiliar o estudo de códigos fonte;</li>
<li>Com o tempo de utilização e programação, você irá desenvolvendo sua própria biblioteca utilitária de funções (super importante) para melhorar a produtividade pessoal, pode ser um projeto teste ou apenas um arquivo que não compila mas é importante ir guardando esses pequenos pedaços úteis de código pois no futuro serão muito úteis (provavelmente se você tem o costume de ler códigos fonte já possui vários desses &#8220;nacos&#8221;);</li>
<li>No C e C++ o domínio de ponteiros é fundamental (mais do que parece, principalmente pelo C ser meio que uma linguagem de baixo nivel muito utilizado em programação de microcontroladores e dispositivos embarcados), para o inicante começar a entender e dominar ponteiros, o interessante é ele trabalhar com strings no C (vetores de caracteres) e principalmente: ESTRUTURAS DE DADOS (o pulo do gato para entender ponteiros);</li>
<li>C é uma linguagem pequena e concisa, C++ é uma linguagem mais complicada e possui um poder de expressão maior, mas ambas dão conta do recado no que se refere à programação de jogos eletrônicos. Estude as duas se possível (ou parta direto para o C++, não é necessário aprender C para aprender o C++ embora eu recomende), saiba os prós e contras de cada uma;</li>
<li>Estude estruturas de dados, veja o conceito, desenhe no papel o seu funcionamento, estruturas de dados são fundamentais para a organização de dados e o entendimento de diversos conceitos na ciência da computação, além disso, a implementação de listas linkadas em linguagem C e manipulação de vetores de chars serve como uma excelente prática de ponteiros;</li>
<li>Entenda como funciona o hardware de um IBM PC, se você pegar um livro de assembly e der uma &#8220;passada por cima&#8221; poderá ter um pouco dessa visão;</li>
<li> Estude sobre teoria geral de sistemas operacionais: saiba os conceitos envolvido no mundo dos sistemas operacionais em geral: threads, processos, escalonamento, saiba como seu sistema operacional organiza e permite o acesso à memória e dispositivos;</li>
<li> Não existe só C e C++ para programação de jogos, se você sabe os conceitos pode aplicá-los em outros ambientes e linguagens (celulares com J2ME), Flash para a Web, não se prenda a um ambiente, principalmente se você pretende programar consoles.</li>
</ul>
<p>As dicas abaixo foram selecionadas e traduzidas de um artigo do site Gamasutra (http://www.gamasutra.com/features/20010117/abrash_01.htm). Eu separei as que achei mais relevante:</p>
<ul>
<li>Os três segredos para o sucesso são:</li>
</ul>
<p>1) Trabalho duro,<br />
2) Trabalho duro, e<br />
3) Trabalho duro.</p>
<ul>
<li>Aprenda fazendo. Pensar é bom, mas a única maneira de você realmente aprender algo é fazendo você mesmo e finalizando, o que é mais difícil do que parece porque entregar software não é um ato natural (obrigado ao David Stafford por esta frase). Aceite a realidade: nenhum software será perfeito, e a perfeição é um alvo móvel de qualquer maneira. Faça as concessões necessárias e finalize o projeto;</li>
<li>Siga a sombra dos gigantes. Existem poucas idéias novas no mundo; leia o que os outros fizeram ao invés de ficar tentando inventar tudo você mesmo;</li>
<li>A maior parte do sucesso da programação se baseia na engenharia e integração e finalização e ser flexível, ao invés de pura invenção. Claro, é divertido reinventar as coisas, mas existe uma quantidade enorme de coisas que você precisa saber, então é difícil fazer tudo você mesmo. Além do mais, existe um monte de coisas legais para descobrir depois que você aprender o que já foi resolvido;</li>
<li>Aprenda o máximo de matemática que você conseguir. Então aprenda um pouco mais. A indústria está movendo dos generalistas, programadores fazem-tudo para programadores com grandes conhecimentos em áreas como física. Programar em si é fácil; é o expertise em áreas intensivas de conhecimento que irão diferenciar os programadores no futuro;</li>
<li>Seja paciente. Demora um ano para ficar competente em algo novo, três anos para se tornar um especialista;</li>
<li>Abrace as mudanças, ou assista elas chegarem e as deixe para trás. Aceite que os objetivos, técnicas, e regras irão mudar constantemente;</li>
<li>Faça um glossário dos termos que você desconhece, procure na Internet, livros, viu uma sigla e não sabe o que é Google ou Wikipedia nela :), aprenda a estudar.</li>
<li>Utilize toda informação a sua disposição.</li>
</ul>
<p>Possui alguma dica interessante? Não deixe de enviar. Contribua para espalhar o aprendizado sobre desenvolvimento de jogos no Brasil.</p>
<p><strong>Referências</strong></p>
<p><a href="www.gamasutra.com">Gamasutra</a></p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Dicas%20para%20aprender%20a%20programar%20jogos%20-%20parte%202&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F07%2F15%2Fdicas-para-aprender-a-programar-jogos-parte-2%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/07/15/dicas-para-aprender-a-programar-jogos-parte-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Programação de jogos para celular com J2ME</title>
		<link>http://vsoftgames.com/wp/2008/07/14/programacao-de-jogos-com-j2me/</link>
		<comments>http://vsoftgames.com/wp/2008/07/14/programacao-de-jogos-com-j2me/#comments</comments>
		<pubDate>Mon, 14 Jul 2008 00:31:25 +0000</pubDate>
		<dc:creator>Vitor Almeida</dc:creator>
		
		<category><![CDATA[Códigos fontes de jogos]]></category>

		<category><![CDATA[J2ME e Java]]></category>

		<category><![CDATA[Tutoriais sobre programação de jogos]]></category>

		<category><![CDATA[celular]]></category>

		<category><![CDATA[java]]></category>

		<category><![CDATA[programação]]></category>

		<guid isPermaLink="false">http://vsoftgames.com/wp/2008/07/14/programacao-de-jogos-com-j2me/</guid>
		<description><![CDATA[Olá.
Recentemente para fins de teste me aventurei a fazer um jogo para celular e acabou saindo o VMPong.

VMPong rodando em todo o seu esplendor&#8230;
Para esta tarefa eu queria verificar:

qual a dificuldade real de se fazer um jogo para celular;
quais ferramentas, plataformas e ambientes disponíveis;
quais são as possibilidades.

Como eu queria algo &#8220;livre&#8221; e estava curto em [...]]]></description>
			<content:encoded><![CDATA[<p>Olá.</p>
<p>Recentemente para fins de teste me aventurei a fazer um jogo para celular e acabou saindo o <strong>VMPong</strong>.</p>
<p style="text-align: center;"><a title="VMPong: Pong para celular" href="http://vsoftgames.com/wp/wp-content/uploads/2008/07/celular.jpg"><img class="aligncenter" title="VMPong rodando em todo o seu esplendor..." src="http://vsoftgames.com/wp/wp-content/uploads/2008/07/celular.jpg" alt="VMPong rodando em todo o seu esplendor..." width="218" height="476" align="middle" /></a></p>
<p><em>VMPong rodando em todo o seu esplendor&#8230;</em></p>
<p>Para esta tarefa eu queria verificar:</p>
<ul>
<li>qual a dificuldade real de se fazer um jogo para celular;</li>
<li>quais ferramentas, plataformas e ambientes disponíveis;</li>
<li>quais são as possibilidades.</li>
</ul>
<p>Como eu queria algo &#8220;livre&#8221; e estava curto em dinheiro, a minha melhor opção era sem dúvida o <a href="http://www.sun.com">Java</a>. Após algum tempo verificando a página de tecnologias de <a href="http://developers.sun.com/mobility/index.jsp">mobilidade</a> da Sun, resolvi dar um chance e botar a mão na massa.</p>
<p>O primeiro passo foi conseguir ter acesso às ferramentas necessárias, neste quesito eu apelei para o <a href="http://www.netbeans.org">NetBeans</a>. Um ambiente completo e integrado para desenvolvimento Java (incluindo claro, módulos para desenvolvimento mobile).</p>
<p style="text-align: center;"><a title="Desenvolvendo um jogo com java" href="http://vsoftgames.com/wp/wp-content/uploads/2008/07/imagem.JPG"><img class="aligncenter" src="http://vsoftgames.com/wp/wp-content/uploads/2008/07/imagem.JPG" alt="Desenvolvendo um jogo com java" width="436" height="399" /></a></p>
<p>No processo todo, aprendi algumas lições:</p>
<ul>
<li>ferramentas para desenvolvimento Java são muito boas, em especial o NetBeans dá conta do recado com o seu ambiente integrado;</li>
<li>sempre teste no aparelho, emuladores são muito diferentes e no meu caso (no meu celular V3), o celular é muito mais lerdo do que o emulador;</li>
<li>celulares são MUITO diferentes de serem programados. Cada variável declarada, cada memória alocada deve ser pensada com atenção pois os recursos são muito escassos (MUITO escassos);</li>
<li>a parte mais difícil do processo todo foi conseguir passar o jogo para o celular (realmente complicado, vale um artigo inteiro por si só);</li>
<li>se você curte otimizar o código ao máximo vai se divertir bastante.</li>
<li>as possibilidades são grandes.</li>
<li>ver um jogo que você fez rodar em seu celular é muito bacana (todo mundo devia experimentar isso um dia :))&#8230;</li>
</ul>
<p>No geral, utilizando conceitos básicos de game loop e colisão, consegui fazer um pong simples e rápido para o celular (o problema inicial foi se acostumar com o &#8220;feeling&#8221; de espaço e tempo da plataforma.</p>
<p>As possiblidades para jogos para celulares são grandes, em especial conforme eles aumentam de capacidade, as coisas ficam muito mais interessantes, mas por enquanto, o público alvo para este tipo de plataforma são os jogadores casuais (e com razão). Com o advento e adesão do <a href="http://www.khronos.org/opengles/">OpenGL ES</a> os celulares mais novos já suportam aceleração 3D (acessível através da API OpenGL (em uma versão reduzida)).</p>
<p>É possível fazer coisas muito mais bacanas (eu mostrei apenas a ponta do iceberg).</p>
<p>Como não poderia deixar de ser, o jogo pode ser baixado <a title="vmpong.zip" href="http://vsoftgames.com/wp/wp-content/uploads/2008/07/vmpong.zip">aqui</a> (incluindo o código fonte completo com o projeto no NetBeans) . PS: o código fonte está em inglês, incluindo os comentários.</p>
<p>Bom estudo.</p>
<p>Espero ter ajudado. Qualquer sugestão não deixem de comunicar.</p>
<h3><strong>Links</strong></h3>
<p>Pensei em postar alguns links que encontrei, mas por enquanto existe um link muito bom em <a href="http://www.codebeach.com/index.asp?tabID=2&amp;categoryID=25&amp;subcategoryID=11">http://www.codebeach.com/index.asp?tabID=2&amp;categoryID=25&amp;subcategoryID=11</a> onde você pode encontrar diversos links para outros sites com muitos materiais sobre programação de games em J2ME.</p>
<p class="addtoany_share_save_container">
    <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?sitename=VSoftGames%20-%20programa%C3%A7%C3%A3o%2C%20jogos%20e%20um%20pouco%20mais&amp;siteurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F&amp;linkname=Programa%C3%A7%C3%A3o%20de%20jogos%20para%20celular%20com%20J2ME&amp;linkurl=http%3A%2F%2Fvsoftgames.com%2Fwp%2F2008%2F07%2F14%2Fprogramacao-de-jogos-com-j2me%2F"><img src="http://vsoftgames.com/wp/wp-content/plugins/add-to-any/share_save_171_16.gif" width="171" height="16" alt="Share/Save/Bookmark"/></a>

	</p>]]></content:encoded>
			<wfw:commentRss>http://vsoftgames.com/wp/2008/07/14/programacao-de-jogos-com-j2me/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
