quarta-feira, 31 de agosto de 2011

Alguém já jogou Trilha?


Sabe aqueles pacotes de jogos de tabuleiro antigos que a maioria das distribuidoras de brinquedos vende?

Eu tinha um! :)

Era um pacote que continha Ludo (eu nunca entendi este jogo...), Damas e Trilha.

Acho que a maioria sabe o que são Damas e como são suas regras (pelo menos, 90% das pessoas...). :P

Mas, desses jogos, o que eu mais gostava era Trilha.

A pergunta que a maioria de vocês devem fazer:
"O que diabos é Trilha?"

Explicando:

Trilha é um jogo que consiste em um tabuleiro, 9 peças pretas e 9 peças brancas.
O tabuleiro é composto por 3 quadrados, um dentro do outro, interligados por linhas que estão bem no meio de cada vertice.
O tabuleiro inicialmente esta vazio e cada jogador (das peças pretas e das peças brancas) vai colocando alternadamente a peça nas intersecções entre as linhas.
Se o jogador formar uma trinca na vertical ou horizontal, pode-se retirar uma peça do adversário que não esta em uma trinca (caso não exista, pode-se retirar a peça da trinca).
Quando todas as peças estiverem no tabuleiro, é possivel mover qualquer peça do tabuleiro uma casa para formar uma nova trinca.
Perde o jogador que ficar com somente duas peças.

Parece complexo, mas é bem fácil.

Por que estou falando disso?

Por causa que terminei meu projeto final de IOS e fiz um jogo de Trilha. :P

Legal, não?

Existem deuses entre nós?

Sabe, algumas vezes acho que pessoas misturam admiração com "endeusamento"...

E isso me dá medo...

Sei lá, pode ser preconceito ou loucura da minha parte, mas percebo algumas coisas exageradas, tipo:

Passo fome, não pago a luz e nem aluguel pois quero ir ao show do Justin Bieber (seja lá quem for esse cara...).

Exemplo forçado este acima não? (apesar de acreditar que tem gente que fez isso...) :P

Mas falando sério, uma vez ouvi de uma pessoa:

"Coitado do Steve Jobs (ex-presidente da Apple), ele não merecia isso (a doença que atualmente ele tem) por ser o cara que ele é (ele criou o iPhone, iPad e outras coisas mais)".

Não vou dizer que não vou ter pena (eu sei o que é ter uma doença...), realmente ter uma doença não é fácil e claro que eu espero que ele melhore, mas só por que ele criou o iPhone, ele não merecia ficar doente?

E as pessoas que trabalham duro, sustentam a família e ganham aquele salário mínimo, merecem?

Sei lá, eu preferia ser o Steve Jobs doente do que um trabalhador brasileiro doente na fila do INSS... :P

Está bem, estou sendo bem ao pé-da-letra na frase que a pessoa disse, mas é que demonstra o "endeusamento" do "cara"...

Claro, eu admiro o Steve Jobs, que realmente tem uma grande equipe com idéias geniais e que, com isso, conseguiram "ressuscitar" a Apple. Mas não acho que ele deve ser exemplo a ser seguido (ou copiado), principalmente, por que eu não faço a menor idéia de quem ele seja (e, acredito, que a maioria também não...).

Eu não fico achando que Bill Gates deveria ser morto para que Steve Jobs vive-se...

Esta bem, forcei a amizade. :P

Sei lá, coisas para se pensar...

segunda-feira, 29 de agosto de 2011

Dicas de Programação: Lendo um arquivo-texto em C

Sei lá, estou realmente sem assunto...
Para ler um arquivo-texto em C, basta abrir o arquivo para leitura com o comando fopen:

//Abre o arquivo para leitura
FILE* arq = fopen("<nome_do_arquivo>","r");

Para pegar linha por linha, basta utilizar o comando fgets:
//Enquanto não chegar no fim do arquivo
while(!feof(arq)) {
char linha[256];
//Lê uma linha do arquivo
fgets(linha, 255, arq);
//Imprime a linha no prompt
printf("%s\n", linha);
}

Ai, é só fechar o arquivo (senão, ele fica preso e não poderá ser aberto de novo...).
//Fecha o arquivo
fclose(arq);

Acho que é isso...

Até mais!

sábado, 27 de agosto de 2011

Alguém se lembra de Autorama?


Quando criança, eu sempre quis um Autorama da Estrela, mas nunca tive (na época, era um brinquedo caro...).
Mas tive um amigo que tinha. :P
Era muito legal fazer disputas na casa dele.
Sei lá, me deu saudades de "jogar" (apesar de não me lembrar direito como funciona...).

Para quem quiser lembrar, existe uma casa de Autorama em Vinhedo, chamado Autorama Café:
http://www.autoramacafe-net.com.br/

Nunca fui lá (e não, eu não conheço o dono :P), mas deve ser bacana para matar as saudades.

Até mais!

terça-feira, 23 de agosto de 2011

Dicas de Programação: Upload de arquivo com DWR

DWR é um framework Java que simula chamadas de métodos Java em Javascript.

Legal, não? :)

Aqui, vou mostrar um exemplo de upload de uma imagem...

Primeiro, a gente cria a classe que vai fazer o upload:

package com.blogspot.blogdotakemura.test;

import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;

public class UploadFile {

public String uploadImage(BufferedImage image) {
try {
File file = new File("teste.png");
ImageIO.write(image, "png", file);
return file.toURI().toString();
} catch (Exception e) {
e.printStackTrace();
return "";
}
}

}

Depois, crio o arquivo dwr.xml em WEB-INF e adiciono as seguintes linhas:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">

<dwr>
<allow>
<!-- file upload -->
<create creator="new">
<param name="class" value="com.blogspot.blogdotakemura.test.UploadFile"/>
</create>
</allow>
</dwr>

Agora, é só criar a página JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type='text/javascript' src='/DWRTest/dwr/engine.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/util.js'></script>
<script type='text/javascript' src='/DWRTest/dwr/interface/UploadFile.js'></script>
<title>Upload test</title>
<script>

function uploadFile() {
var imageData = dwr.util.getValue("imageUpload");
UploadFile.uploadImage(imageData, function(data) {
alert(data);
});
}

</script>
</head>
<body>
<form method="post" enctype="multipart/form-data">
<input type="file" name="imageUpload" id="imageUpload"/>
<input type="button" value="Send" onclick="uploadFile();"/>
</form>
</body>
</html>

Se tudo der certo, agora você pode fazer upload de imagens com javascript!!!!

Uau! :P

Obs.: Para que isso funcione, é preciso configurar o dwr corretamente na aplicação web.

terça-feira, 16 de agosto de 2011

World YoYo Contest 2011

Shinji Saito foi campeão da A2 na World YoYo Contest 2011:



Poxa, não sou tão bom quanto ele (para falar a verdade, eu só conseguia fazer, no máximo, a manobra "pendulo" ou "balanço"...), mas me deu saudades dos ioios da Coca-cola que eu tinha:


Nisso, era bom ser filho de dono de buteco. :)

Obs.: O ioio preto da Coca-cola era do tipo "Master" (não sei qual era a diferença, mas me diziam que era o mais fo...rte :) ).

Valeu ao pessoal da YoyoFactory!
Congratulations to YoyoFactory team!

Até mais!

quinta-feira, 11 de agosto de 2011

Dicas de Programação: Métodos inline em C++

Saiba que dá para escrever código no header (.h ou .hpp) do C++?
Pois é, para isso a gente utiliza a palavra reservada "inline" na declaração:
//inline.hpp
#ifndef INLINE
#define INLINE
class Inline {
public:
int soma(int a, int b);
};

inline int Inline::soma(int a, int b) {
return a + b;
};

#endif

Ou coloca-se diretamente o código na declaração do método:

#ifndef INLINE
#define INLINE
class Inline {
public:
int soma(int a, int b){
return a + b;
};
};

#endif

Não sei se isso ajuda alguém, mas é que estou meio sem assunto ultimamente... :P

Até mais!

segunda-feira, 8 de agosto de 2011

Google Developer Day 2011

Prepare-se para a mais famosa reunião de nerds do Brasil (ou do mundo, dependendo do caso...).
As inscrições, para o evento de São Paulo, deverão ser abertas hoje (dia 08/08/2011).

Para saber mais do evento acesse:
http://www.google.com/events/developerday/2011/sao-paulo/

Aos que forem, um bom evento á todos. :)

Até mais!

quarta-feira, 3 de agosto de 2011

Alguém já jogou Combate?

Combate é um jogo de tabuleiro, distribuído no Brasil pela Estrela, onde o objetivo final é capturar a bandeira adversária, que é protegida por outras peças, que são geralmente representadas por "patentes do exército".

Era divertido jogar, principalmente quando a peça "espião" captura o "marechal" (é como se um peão captura-se a dama no jogo de xadrez :) ).

Puxa, eu tinha 10 anos quando joguei... Será que ainda existe o jogo? :P

É... estou ficando velho...

Até mais!

terça-feira, 2 de agosto de 2011

Dicas de Programação: Como "chamar" o telefone no iPhone em Objective C?

Pelo que me disseram (tentei testar no emulador, mas não funciona... :P), é só criar uma "URL" com o protocolo "tel:" mais o número do telefone. Exemplo:

...
//Cria o objeto NSURL com uma String ("protocolo:numero_do_telefone")
NSURL* phoneURL = [NSURL URLWithString: @"tel:1234567890"];
//Chama a aplicação externa para abrir a URL
[[UIApplication sharedApplication] openURL: phoneURL];
...

Também é possivel criar uma página web para iPhone, com o mesmo protocolo:

...
<a href="tel:1234567890">Ligue-me</a>
...

Sei lá, tomara que isso ajude alguém... :)

Até mais!