Saturday, December 15, 2012

O Livro

Você viu a última postagem?

Eu coloquei uma parte do primeiro capítulo.

Todo o livro se baseia em um diálogo entre um professor e um aluno. E por que um diálogo entre eles?

A história desse professor e aluno começa assim:

"Era uma vez um aluno muito estudioso......"  (Não... talvez nem tanto estudioso! rs    Mas muito interessado!!!)

"... e que queria criar seus próprios jogos. Ele não queria ficar apenas jogando, ele queria mais... ele queria MUITO MAIS!!!!!    Ele queria colocar suas ideias em prática, e fazer seus próprios games. Mostrar que ele conseguia programar e também se divertir. Mas ele não sabia como e nem por onde começar... 
Foi aí que um dia o seu colégio participou das Olimpíadas de Games nas Escolas. O projeto rodava diversas escolas e colégios de vários estados do país. E estava ficando famoso. Várias empresas começavam a querer patrocinar o projeto. 
Finalmente, nosso amigo teria sua oportunidade em aprender a fazer seu jogo e poder mostrá-lo! Foi até a secretaria da escola e se inscreveu. É claro que chegou lá e enfrentou uma fila bem grande. Aliás, nem ele sabia que havia tantos interessados em fazer e mostrar seu próprio jogo. Será que todos eles sabiam programar? Como é que ele nunca soube disso? 
Ele percebeu que havia um aluno que chamava muita atenção.  Havia até uma pessoa entrevistando ele. 
- Quem seria ele? Eu nunca o vi na escola? 
Mais tarde soube que era um aluno vindo de outro colégio, e ele fora o ganhador das Olimpíadas por dois anos consecutivos. 
- Ora, nem sabia que haveria um ganhador e um prêmio... 
A cada ano, aumentava a participação das escolas nas Olimpíadas de Games nas Escolas, e com o número crescente de participantes estudantis, pode-se criar uma premiação para os melhores jogos e seus criadores. Os jogos seriam escolhidos pela maioria dos alunos e por uma banca, que deveria examinar alguns itens: jogabilidade, interesse dos alunos, criatividade, e programação... Não era fácil escolher um jogo, mas aquele aluno havia sido brilhante em suas decisões de jogos. Os jogos não precisariam ser originais, mas a cada ano era escolhido um tema, como acontece na maioria dos concursos de games por aí... 
Depois de inscrito, nosso aluno saiu correndo para casa, e começou a procurar várias coisas na internet.... Entrava de fórum em fórum perguntando: "como faço um jogo?"; "quero aprender a programar..."; "por onde começo?"... 
As respostas? Ué. Tente você colocar essas perguntas, e veja o que acontece! Teve até um de boa vontade que colocou um link muito interessante. Mas quando ele começou a ler... "gameloop"; "thread"; "gamedesign"; "verifique a colisão de dois sprites"; "basta fazermos uma comparação usando o if"; e mais um monte de códigos prontos.... bem.... Não teve jeito, o desânimo o pegou. E os cursos que indicaram a ele? Não teria tempo! Ele devia apresentar um jogo em no máximo 2 meses! 
Até que um dia ele entrou em uma sala de informática de seu colégio, e para sua surpresa havia um professor jogando um videogame. Então ele perguntou: 
- Você pode jogar aqui nesta sala? 
- Jogar? Não. Não estou jogando para me divertir. Eu estou testando o meu jogo. 
- Testando seu jogo? Que maneiro! Foi você quem fez? 
− Foi. 
− Eu também quero fazer um. Será que eu consigo? 
− Claro que consegue! Qualquer um pode fazer. Mas você já sabe programar? 
− Programar? Não. Como faço isso? 
− Bem, você tem que aprender o que é e como programar para fazer um jogo. 
− Eu quero aprender, você me ensina? 
− Claro que sim!
" 
 O resto vocês já conhecem...
Posted by Coderz LAB at 4:50 PM No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Labels: Concurso de Games, Escolas, Olimpíadas de Games nas Escolas

CAPÍTULO 1 - APFJOGOS











− Que maneiro esse jogo! Foi você quem fez?
− Foi.
− Eu também quero fazer um. Será que eu consigo?
− Claro que consegue! Qualquer um pode fazer. Mas você já sabe programar?
− Programar? Não. Como faço isso?
− Bem, você tem que aprender o que é e como programar para fazer um jogo.
− Eu quero aprender, você me ensina?
− Claro que sim.

O que nos interessa no computador?
São os programas, ou aplicativos, que nos interessam! Sem eles o computador não serve para nada além de enfeitar a sala, o quarto, ou o escritório. Isso se você acreditar que um computador realmente enfeita algo. Exemplos de aplicativos são os jogos, a calculadora, o navegador de internet (browser), o editor de texto, programas de bate-papo (chat), e até mesmo o próprio sistema operacional instalado em sua máquina. São estes que nos entretêm, nos divertem, ou nos ajudam a escrever um texto, a calcular, ou a fazer projetos... Enfim, uma série de atividades que a cada dia não conseguimos mais nos separar dessa coisa chamada computador.

E o que todos esses aplicativos têm em comum? É que todos esses foram feitos por alguém: o programador. Geralmente, não uma única pessoa, mas várias equipes de programadores construindo um único programa.

O que é programar?


Programar é colocar, em uma sequencia lógica, códigos que o computador entenda, para que ele possa interpretar e executar determinadas tarefas.

O programador é quem escreve esses códigos, e tais códigos pertencem a uma determinada linguagem de programação. Quando aprendemos uma linguagem de programação, na verdade aprendemos que códigos são esses e como eles são conectados em uma sequencia lógica para executar um determinado objetivo.

Vejamos um exemplo de como usar uma linguagem para realizar uma determinada tarefa. Imagine que você está vendo TV e quer mudar de canal usando o controle remoto que se encontra ao lado do aparelho de televisão. Você tem que ir até a TV, pegar o controle, apontá-lo para a televisão, e, finalmente, escolher o canal desejado. Agora, imagine que você esteja impossibilitado de pegar o controle remoto e que ao seu lado esteja um amigo. Você quer pedir-lhe para mudar de canal. Simplesmente você diria: “por favor, pegue o controle ao lado da televisão e mude de canal”. Ou, com mais detalhes, você diria tais comandos: “levante-se, vá até a televisão, pegue com suas mãos o controle que está ao lado dela, aponte-o para a TV, aperte o botão de mudança de canal para cima até eu dizer para parar”. Pronto, aqui já temos uma sequencia lógica de comandos, e a linguagem usada seria o português.

Neste exemplo, podemos extrair algumas informações:
Objetivo da Tarefa: “mudar o canal da televisão pelo controle remoto”
Linguagem usada: português
Código Usado (Instruções ou Comandos):“levante-se, vá até a televisão, pegue com suas mãos o controle que está ao lado dela, aponte-o para a TV, aperte o botão de mudança de canal para cima até eu dizer para parar”.
Programador: você
Quem executou? Seu amigo.

Caso seu amigo não entenda português, então você deve dizer os comandos na língua que ele entenda (inglês, francês, javanês, língua do p, ou qualquer outra), caso contrário, ele não saberá o que você está dizendo e assim não poderá executar a tarefa de mudar o canal da televisão por você.
− Então saber programar é saber escrever os comandos ao computador?
− Basicamente é isso. Só que não basta sabermos os comandos, temos que saber como usá-los, e saber como e onde escrevê-los. E cada linguagem tem suas características individuais e sua maneira de escrever.

Veja na próxima tabela uma mesma tarefa escrita em duas línguas diferentes.



Português
Inglês
1)      levante-se;
2)      vá até a televisão;
3)      pegue com suas mãos o controle que está ao lado dela;
4)      aponte-o para a TV;
5)      aperte o botão de mudança de canal para cima até eu dizer para parar.
1)      get up;
2)       go to the television;
3)      get with your hands the control that is beside it;
4)       point it to the TV;
5)      press the channel`s button to up until I said stop.
Tabela 1.1 – comparação entre duas línguas diferentes

Na computação é a mesma coisa. Devemos escolher uma determinada linguagem de programação para que possamos nos comunicar com o computador. Temos diversas linguagens de programação: Pascal, C, Java, Python, PHP, JavaScript, Scala, Basic, Assembly, e muitas outras.

Assim, podemos escolher em qual linguagem vamos programar para executar uma determinada tarefa. No próximo capítulo veremos um exemplo disso.

O que devemos saber é que o computador tem limites, isto é, só executa o que está previamente escrito na linguagem que ele conhece. O computador, como alguns ainda poderiam imaginar, não é uma máquina pensante como nós! Ele não consegue adivinhar ou abstrair as ideias e achar conclusões por si só. Esse é o grande limite da máquina chamada computador. Conhecer esse limite é o primeiro passo para ser um bom programador.

E em que consiste esse limite?

O Computador é uma Máquina Muito Obediente!

Para entender o que se quer dizer com conhecer o limite do computador, devo explicar que o computador é uma máquina muito obediente, mas muito obediente mesmo! O computador não fará nada que não for dito para ele fazer. Ou melhor, ele só fará aquilo que realmente está escrito (programado) para se fazer.

Todo computador segue uma sequencia de instruções (códigos) para executar uma determinada tarefa. Sem estas instruções o computador não é nada, apenas um monte de peças, ferros, plásticos, etc... Ele não pensa por si mesmo. Se você perceber algo no computador que dá a impressão de que ele está pensando é, na verdade, uma execução de códigos pré-escritos por alguém (programador).
− Ãh?! Não entendi!
− Lembra-se do exemplo do controle remoto? Quando você pede ao seu amigo para pegar o controle ao lado da TV (“pegue com suas mãos o controle que está ao lado dela”), você não explica em qual lado da televisão o controle está e nem diz como é este controle, pois você acredita que seu amigo (que é o executor da tarefa) saiba interpretar o seu comando e achar por si só qual é o controle da televisão e em qual lado ele está. Evidentemente, ele vai procurar nos dois lados da televisão para pegar o controle, mesmo que você não perceba isso.

Já com a máquina chamada computador só isso não funciona, pois ela executa exatamente aquilo que você definiu em códigos. Você deve dizer exatamente como é o controle da televisão, ou seja, como reconhecer o controle, e informar exatamente em qual lado da TV ele está. E estes comandos, ou instruções, são feitos através de códigos que a máquina consiga interpretar e executar corretamente tal tarefa. Toda essa lógica deve ser escrita por você, programador, na linguagem que ela reconheça.

Nunca se esqueça: o computador é uma máquina MUITO OBEDIENTE. Ele só faz algo de acordo com os comandos escritos pelo programador.

Quando acontece um evento no computador, tais como digitar ao teclado, ligá-lo ou acessar um arquivo, o computador reage executando comandos específicos. Por exemplo, quando você quer abrir uma imagem clicando com o mouse em um arquivo, o sistema operacional vai executar uma série de códigos que provavelmente irá verificar se o arquivo que você está clicando é realmente uma imagem, e, se sim, irá reconhecer que tipo de imagem é e chamar o aplicativo correto para abrir tal imagem na tela. Por sua vez, o aplicativo chamado irá carregar o arquivo para a memória do computador e vai abrir uma janela para mostrar a imagem na tela. Para cada evento executado no computador, ele executa uma determinada tarefa específica, ocasionando uma mudança de estado.
− Ei, espera aí! Estamos falando de computação ou de geografia?
− De computação, é claro!






Posted by Coderz LAB at 4:16 PM No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

O início

- Aprender a programar fazendo jogos????? OBA!!!!!



Tenho tido muita aceitação sobre o meu projeto APFJogos.

APFJogos é a abreviação de Aprenda a Programar Fazendo Jogos. É uma coleção de livros, voltada para diversas linguagens. É separada por nível de aprendizagem: Básico, Intermediário, Avançado, e ainda há outro volume chamado Complementar.

É a união de 2 (dois) mundos:

  • APRENDER A PROGRAMAR;   e
  • APRENDER A FAZER JOGOS!

É voltada principalmente para o público jovem, ou para aquele que ainda não tem conhecimento de programação, ou que ainda esteja começando a aprender a arte de programar. Não importa se você tem 12, 18, ou mais de 20; basta querer aprender, e usar o seu raciocínio lógico...

Muitos jovens querem começar por algum lugar, mas os artigos e textos na internet, livros, não são muito convidativos. Geralmente expõem muita teoria, e pouca prática. E abordando temas que não são tão interessantes e divertidos.

Atualmente, a coleção está em fase de produção, e decidimos por uma estratégia de divulgação que está crescendo muito por aqui no Brasil: o crowd funding. Usar uma plataforma de crowd funding não serve apenas para angariar dinheiro para colocar o projeto no ar, mas é vista atualmente como uma grande troca entre expor sua ideia e oferecer ao seu público vantagens promocionais! E é dessa maneira que estamos pensando. Por isso, vamos divulgar qual plataforma (site) usar. Estamos estudando a plataforma, e escolhendo também a melhor época para se colocar no ar.

Também temos um site em fase de produção (aguardem!). Neste site, você poderá participar de fóruns para tirar dúvidas específicas da leitura do livro, trocar ideias com outros programadores experientes, trocar ideias com outros iniciantes (e quem sabe não formar uma equipe?), expor ideias de jogos, colocar seus próprios jogos, e servir de vitrine para outras empresas. Quem sabe se alguém não contrata você para fazer jogos comerciais? Quem sabe você não entra nesse mundo?

Espero que realmente gostem da nossa coleção. E para aguçar um pouco vocês, veja uma de nossas capas (volume Básico para a linguagem Pascal, utilizando Lazarus ou Delphi):




Em breve, mais postagens sobre a nossa coleção.

Carlos Augusto Correia


Posted by Coderz LAB at 3:44 PM No comments:
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)
Powered by Blogger.

Blog Archive

  • ►  2014 (22)
    • ►  February (14)
    • ►  January (8)
  • ►  2013 (11)
    • ►  August (1)
    • ►  July (1)
    • ►  May (1)
    • ►  April (4)
    • ►  February (4)
  • ▼  2012 (21)
    • ▼  December (3)
      • O Livro
      • CAPÍTULO 1 - APFJOGOS
      • O início
    • ►  March (1)
    • ►  February (17)
  • ►  2010 (11)
    • ►  July (11)

Como Fazer um Jogo Fácil e Rápido - DOWNLOAD GRÁTIS