sexta-feira, maio 29, 2009

Gerador de Classes C# FireBird

Fusion! FireBird Class Generator, mais um aplicativo de minha autoria. Por enquanto ele gera as classes e os metodos SAVE e LOAD.

segunda-feira, maio 25, 2009

Snippet Generator

Um dos meus projetos é um gerador de snippet, ele cria trechos de codigos que seguem um padrão e que são usados no dia a dia. O gerador conta com a ajuda do Subsonic que gera as classes do banco de dados para acessar as propriedades dos objetos e criar formulários tipados e com suas principais caracteristicas. Veja abaixo exemplos de códigos gerados.

Snippet Generator

SALVAR - Utilizando a estrutura do Subsonic, faz conversão para os tipos.



HTML - Cria formulários com os campos e suas propriedades, adiciona resources, validators, tamanho do campo, verifica vinculo com tabelas e adiciona dropdownlist.


sexta-feira, maio 22, 2009

Crystal Reports C# Custom DataSource

Aqui vai uma dica para quem estiver começando a usar o Crystal Reports no Asp.Net. 

Na maioria dos exemplos da web é mostrado usando os componentes CrystalReportViewer, CrystalReportSource e SqlDataSource. Mas infelizmente nem sempre é possível utilizar um comando SQL no SQLDataSource. As vezes é preciso tratar o retorno da pesquisa ou até adicionar campos extras. Para estes casos é possível criar uma tabela temporária para passar as informações para o reporte, observe o código abaixo:

DataSet ds = new DataSet();
DataTable t = ds.Tables.Add("Cliente");
t.Columns.Add("ClienteID", Type.GetType("System.Int32"));
t.Columns.Add("Nome", Type.GetType("System.String"));

DataRow r;
// O select abaixo é feito usando o Subsonic
List<Cliente> colecaoCliente = new Select().From(Cliente.Schema).ExecuteTypedList<Cliente>();

foreach (Cliente c in colecaoCliente)
{
r = t.NewRow();
r["ClienteID"] = c.ClienteID;
r["Nome"] = c.Nome;
t.Rows.Add(r);
}

ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("~/reports/RelatorioCliente.rpt"));
rpt.SetDataSource(ds.Tables[0]);
crv.ReportSource = rpt;


E não esqueça de criar o CrystalReportView!
<CR:CrystalReportViewer ID="crv" runat="server" AutoDataBind="true" />


Alguns links pesquisados e muito uteis.

quinta-feira, maio 21, 2009

Zombie Chaos Project

Ontem comentei do meu jogo de cartas no estilo ArcoMage, agora vou mostrar um pouco do outro projeto que iniciou em um curso de games em que eu ministrei.

Como eu gosto de jogos de zumbi, resolvi criar um jogo simples que eu pudesse usar de exemplo na aula. Já que o jogo seria 2D não compliquei fazendo objetivos complexos, a unica coisa que o jogador precisava fazer era defender a casa da horda de zumbi. Bem, pelo menos essa foi a idéia inicial.

Logo após o curso decidi implementar outras idéias no jogo, como: coletar dinheiro, passar de fase, criar hordas randomicas, comprar munição e futuramente comprar armas e veículos. A idéia pareceu tão legal que resolvi contratar uma pessoa experiente para criar os gráficos do jogo. Foi ae que descobri um desenhista de games.

Resolvi então desembolsar uns trocos pra fazer a arte final da capa e ver a qualidade do trabalho. Eu curti muito a arte final, realmente muito profissional.


Agradeço a Rodrigo Castro Pereira que fez a arte da tela inicial do jogo.

Atualmente o jogo está parado, gostaria de continuar mas infelizmente não tenho recursos pra continuar bancando a arte. Estou atras de um patrocinador ou algum colaborador. No mais, vou dar um tempo e assim que sobrar uns pilas vou investir mais um pouco para ver até onde vai a idéia e se consigo chegar ao ponto de vender o jogo em caixas e tudo mais.

Encerrando, para quem gosta de jogos de zumbi, segue o link do site zombie games com vários jogos em flash.

quarta-feira, maio 20, 2009

O preço do conhecimento

Sempre que procuro a solução de um problema diferente, seja ele novo, dificil ou até raro, as vezes me deparo com um site que vai contra meu coceito de compartilhar conhecimento e evoluir.

Estava procurando algo trivial mas que não sabia como descrever para o google achar. Foi então que digitei cento e novecentas palavras e achei um link que era o que eu procurava!

Procurei por "how to call child user control page load before parant page page ..." o primeiro link era exatamente o que eu precisava, mas então... O site é o Experts Exchange, odeio esse site, ele cobra pelo conhecimento. Resolvi procurar mais um pouco e então achei a solução no forum do codeguru.

E o melhor de tudo, é FREE!

Real Wolverine Claws

É, realmente algumas pessoas tem muito tempo sobrando pra fazer uma coisa dessas.
Uma coisa é certo, é uma criança feliz!


Programação de jogos em XNA

Opa!

Achei interessante a ideia de começar a escrever um pouco para assim poder divulgar mais meus trabalhos que faço nas horas vagas. Em especial os jogos de XNA que estou me dedicando cada vez mais.

ArcoMage
Atualmente estou desenvolvendo a engine de um jogo de cartas parecido com ArcoMage, um jogo que tem dentro do jogo Might & Magic 7 e 8.

A idéia do jogo é destruir a torre do adversário ou aumentar a torre o mais alto possivel. Para isso o jogador deve usar cartas para elevar a torre, criar muro, atacar o adversário e elevar seus recursos.

Na versão atual já é possivel sortear as cartas e o baralho inicial dos jogadores. Assim que tiver um tempo, posto uma imagem do jogo e quando estiver jogavel, uma versão beta.