Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

Errata: Quick Update ClubeDelphi 103

O que você acha de aprender a programar brincando? Isso mesmo! Brincando. Essa é a proposta da empresa Epsitec com o jogo Colobot. No jogo você precisa controlar alguns robôs e fazê-los realizar movimentos através de programação. Realmente vale muito a pena conferir.

Esse artigo faz parte da revista Clube Delphi Edição 103. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.imagem_pdf.jpg

v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}

Errata: Quick Update

 

Pedimos desculpas pela publicação do QuickUpdate na edição 103. Por um descuido ele foi publicado de maneira repetida com a edição anterior. O artigo correto que deveria ter sido publicado segue abaixo.

 

Aprendendo a programar...jogando!

Qual o método mais fácil para aprender a programar? Com certeza muitos irão responder dizendo: praticando, oras. De fato, a prática leva a perfeição, mas há aqueles que prefiram se aventurar de outras formas. Na coluna QuickUpdate dessa edição vou lhes apresentar o Colobot, um software, ou melhor um game, que ensina a programar. Isso mesmo.

O Colobot é um jogo para PC’s onde o objetivo é colonizar outros planetas e combater forças alienígenas. Até ai, parece um game como qualquer outro, mas o especial é que você na verdade precisa controlar seu personagem e diversos robôs programando suas tarefas para que realizem as missões estabelecidas. A linguagem é própria, uma mistura de C/C++, Java e Cobol, o que acaba sendo uma meta-linguagem. O game é bem interessante, cada robô tem uma função específica e pode ser programado para andar, parar, voar, atirar, e até ser reabastecer. Para os iniciantes há um vasto número de exercícios que vão desde eliminar aranhas no campo de batalha até construir estruturas complexas.

Na Figura 1 vemos um dos robôs que podem ser usados durante a jogatina. Ele é basicamente uma espécie de soldado. Sua principal característica é defender o território. Não é possível ver na imagem, mas atrás dele há uma bateria que, depois de consumida (Figura 2), pode trocada por outra, porém somente um robô especial pode fazer essa troca e mediante a uma dada programação.

 


Figura 1. Robô soldado

 


Figura 2. Robô trocando bateria

 

Na Figura 3 vemos esse mesmo robô em um ambiente aberto, porém hostil. Veja que há três aranhas em volta dele e um astronauta. No jogo, você é o astronauta que precisa colonizar o planeta. O cenário que vemos na Figura 3 é o início na primeira missão de exercício. O objetivo é atirar nas três aranhas com o robô. Para programar o equipamento, basta selecioná-lo no cenário e clicar no botão {..} na barra de ferramentas inferior (Figura 4).  Nós podemos criar vários scripts de execução para cada robô. Veja que ao lado esquerdo do botão {..} nós encontramos os itens 1, 2, 3 e 4: Solution. O Solution é o nome do script, que nesse caso é a solução da primeira missão.

 


Figura 3. Primeira missão

 


Figura 4. Barra de ferramentas

 

A linguagem de programação

Como mencionado anteriormente, a linguagem é própria e um misto de C/C++, Java e Cobol. A utilização do game como ferramenta de aprendizado pode parecer um tanto estranha a princípio, mas acaba criando um determinado interesse no aluno em aprender mais e mais comandos. Vejamos a solução do primeiro problema na Listagem 1 e que também poder ser vista na Figura 5 diretamente no editor de códigos.

 

Listagem 1. Solução o primeiro problema

01 extern void object::Solution()

02 {

03   aim(0);

04   fire(1);

05

06   turn(90);

07   fire(1);

08

09   turn(-180);

10   fire(1);

11

12 }

 

Nas linas 3 e 4 ativamos o robô e disparamos um tiro.  Como nossa próxima aranha está a esquerda do robô 90°, então usamos o método turn() passando para ele o grau que queremos para girar o personagem. Atiramos novamente e viramos 180 graus para a direita para pegarmos a última aranha. Como vemos, a programação é simples, mas não se empolgue, porque dependendo da missão você que digitar um pouco mais de código ou talvez mais instruções, como podemos visualizar na Listagem 2.

 


Figura 5. Editor de códigos

 

Listagem 2. Código de controle de motor

extern void object::Solution( ){

  while (true){

    object front, left, right;

 

    front = radar(Barrier,   0, 45, 0, 5);

    left  = radar(Barrier,  90, 45, 0, 5);

    right = radar(Barrier, -90, 45, 0, 5);

 

    if (front == null){

      move(5);

      continue;

    }

    if (left == null){

      turn(90);

      continue;

    }

    if (right == null){

      turn(-90);

      continue;

    }

    break;

  }

}

 

Conclusão

Como vimos até brincando é possível aprender a desenvolver sistemas. Como o Colobot, a empresa Epsitec, desenvolvedora do game, possui outros programas nos mesmos moldes e que tem o mesmo objetivo. Eu particularmente já vi outros programas semelhantes a esse ensinando outras linguagens, como o Java por exemplo. O download de demonstração do Colobot pode ser encontrado no link www.ceebot.com/colobot/load-e.php.
Um forte abraço e até a próxima.





    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Adriano Santos

(asrsantos@gmail.com)é especialista Delphi e PHP. Foi editor chefe e colunista da revista ClubeDelphi e WebMobile. Atua como Product Manager na SPK Tecnologia. Possui mais de 30 vídeo-aulas e mais de 70 artigos publicados na revista ClubeDelphi e outros 20 no portal Devmedia. Membro fundador do gr...


Space do autor
Estatísticas #
Favorito:
Comentários:
Feedback:
Utilidade:
0   1
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível somente para quem possui Créditos DevMedia. (Ele não está associado a nenhuma publicação DevMedia).


  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03