Este documento descreve o trabalho de conclusão de disciplina de um grupo sobre algoritmos e programação de computadores. O grupo desenvolveu uma animação de um velocímetro e conta-giros em movimento em um painel de instrumentos de carro usando a biblioteca gráfica Allegro em C. O objetivo foi obter conhecimentos para desenvolver um jogo de corrida no próximo semestre.
O documento apresenta um resumo de três capítulos sobre paradigmas de linguagens de programação. No capítulo 1, introduz conceitos básicos como programa, linguagem de programação, compiladores e interpretadores. No capítulo 2, descreve o paradigma imperativo, incluindo tipos de dados, expressões, comandos e abstrações. Finalmente, no capítulo 3, aborda o paradigma orientado a objetos, focando em tipos abstratos de dados, herança, polimorfismo e a linguagem Python.
O documento apresenta um resumo sobre computação gráfica e processamento de imagem. Aborda brevemente a história da área, aplicações, dispositivos gráficos, sistemas de coordenadas e conceitos como resolução gráfica. O índice aponta para capítulos subsequentes sobre conversão matricial de curvas, transformações geométricas, modelagem geométrica, curvas e superfícies, fundamentos de cor e processamento de imagem.
O documento fornece uma introdução à biblioteca Allegro para programação de jogos, cobrindo tópicos como instalação, esqueleto básico de programa, configuração de áudio, vídeo, teclado, mouse, uso de sprites, animações e mais. É fornecido um guia passo-a-passo para iniciar o desenvolvimento de jogos 2D usando a biblioteca Allegro.
Slides usados no treinamento de Python para Maemo ministrado pela Triveos Tecnologia Ltda (http://triveos.com) em parceria com o Instituto Nokia de Tecnologia (INdT)
O documento fornece instruções para instalar o Ubuntu em uma placa Gumstix Overo, incluindo gerar uma imagem do sistema operacional, preparar o cartão de memória, estabelecer comunicação serial durante o boot e configurar a rede wireless.
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamAndré Espeiorin
O documento resume as principais características do Cocos2d, uma framework para desenvolvimento de jogos 2D para plataformas Apple. Ele descreve que o Cocos2d é open source, multiplataforma e possui uma grande comunidade. Também explica conceitos básicos como cenas, layers e sprites utilizados no desenvolvimento de jogos com Cocos2d.
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5Willian Molinari
O documento fornece uma introdução aos principais recursos e ferramentas para desenvolvimento de jogos em HTML5, incluindo canvas, SVG, WebGL, armazenamento offline, WebSockets e frameworks. É destacado o uso crescente de HTML5 para jogos e a possibilidade de criar jogos complexos utilizando estas tecnologias.
Este documento discute as APIs da Web e como elas permitem que aplicativos acessem recursos de dispositivos móveis de forma multiplataforma. Ele apresenta exemplos de como APIs como bateria, vibração, luz ambiente, proximidade, orientação e localização permitem que aplicativos interajam com esses recursos. O documento também mostra como APIs de notificação permitem que aplicativos enviem notificações push para usuários.
O documento apresenta um resumo de três capítulos sobre paradigmas de linguagens de programação. No capítulo 1, introduz conceitos básicos como programa, linguagem de programação, compiladores e interpretadores. No capítulo 2, descreve o paradigma imperativo, incluindo tipos de dados, expressões, comandos e abstrações. Finalmente, no capítulo 3, aborda o paradigma orientado a objetos, focando em tipos abstratos de dados, herança, polimorfismo e a linguagem Python.
O documento apresenta um resumo sobre computação gráfica e processamento de imagem. Aborda brevemente a história da área, aplicações, dispositivos gráficos, sistemas de coordenadas e conceitos como resolução gráfica. O índice aponta para capítulos subsequentes sobre conversão matricial de curvas, transformações geométricas, modelagem geométrica, curvas e superfícies, fundamentos de cor e processamento de imagem.
O documento fornece uma introdução à biblioteca Allegro para programação de jogos, cobrindo tópicos como instalação, esqueleto básico de programa, configuração de áudio, vídeo, teclado, mouse, uso de sprites, animações e mais. É fornecido um guia passo-a-passo para iniciar o desenvolvimento de jogos 2D usando a biblioteca Allegro.
Slides usados no treinamento de Python para Maemo ministrado pela Triveos Tecnologia Ltda (http://triveos.com) em parceria com o Instituto Nokia de Tecnologia (INdT)
O documento fornece instruções para instalar o Ubuntu em uma placa Gumstix Overo, incluindo gerar uma imagem do sistema operacional, preparar o cartão de memória, estabelecer comunicação serial durante o boot e configurar a rede wireless.
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr JamAndré Espeiorin
O documento resume as principais características do Cocos2d, uma framework para desenvolvimento de jogos 2D para plataformas Apple. Ele descreve que o Cocos2d é open source, multiplataforma e possui uma grande comunidade. Também explica conceitos básicos como cenas, layers e sprites utilizados no desenvolvimento de jogos com Cocos2d.
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5Willian Molinari
O documento fornece uma introdução aos principais recursos e ferramentas para desenvolvimento de jogos em HTML5, incluindo canvas, SVG, WebGL, armazenamento offline, WebSockets e frameworks. É destacado o uso crescente de HTML5 para jogos e a possibilidade de criar jogos complexos utilizando estas tecnologias.
Este documento discute as APIs da Web e como elas permitem que aplicativos acessem recursos de dispositivos móveis de forma multiplataforma. Ele apresenta exemplos de como APIs como bateria, vibração, luz ambiente, proximidade, orientação e localização permitem que aplicativos interajam com esses recursos. O documento também mostra como APIs de notificação permitem que aplicativos enviem notificações push para usuários.
Este documento fornece um guia prático para iniciantes sobre o Microsoft XNA. Ele explica como configurar o ambiente de desenvolvimento, criar um projeto básico, preparar métodos, entender o mundo 3D, configurar efeitos gráficos e desenhar o primeiro triângulo na tela definindo vértices e cores.
O documento fornece uma introdução ao sistema operacional Android, descrevendo sua história, arquitetura e ferramentas de desenvolvimento. Em suma: (1) Android foi lançado em 2008 pela Open Handset Alliance para dispositivos móveis; (2) Sua arquitetura inclui componentes como Activity, Content Provider e Broadcast Receiver; (3) Ferramentas como Android SDK e Eclipse ADT permitem aos desenvolvedores criarem aplicativos para a plataforma.
O documento fornece uma introdução sobre como iniciar o desenvolvimento de aplicativos Android usando a plataforma Android Studio. Ele explica como instalar as ferramentas de desenvolvimento Android, criar um primeiro projeto de aplicativo de calculadora simples e entender os principais componentes de uma aplicação Android como activities e ciclo de vida.
1. O documento descreve o perfil técnico e experiência de Alessandro de Oliveira Faria.
2. Alessandro tem mais de 30 anos de experiência no mercado de software e é membro ativo de várias comunidades de código aberto.
3. Ele mantém vários projetos de código aberto relacionados a realidade aumentada e desenvolvimento para Android.
O documento fornece diretrizes para a criação de uma arquitetura front-end robusta e flexível, abordando tópicos como pré-processadores CSS, variáveis, mixins, modularização, princípios de programação e frameworks JavaScript.
Processing é um ambiente de programação open-source utilizado para aprendizagem, prototipagem e produção que permite a construção de programas interativos 2D e 3D. Arduino é uma placa open-source com microcontrolador que permite a criação de projetos de computação física e interação homem-máquina. Este documento apresenta exemplos de programação utilizando Processing e Arduino individualmente e em conjunto, controlando um LED no Arduino através de botões na interface do Processing.
O documento descreve o que é OpenCV, onde é usado e como instalá-lo. OpenCV é uma biblioteca de visão computacional open source usada para reconhecimento facial, de objetos e movimentos. Ele pode ser instalado em sistemas Linux e utilizado para exibir imagens e vídeos, detectar contornos e objetos.
O documento descreve o VisuAlg, um programa que permite executar algoritmos em pseudocódigo de forma similar a uma linguagem de programação. Explica os principais componentes da interface do programa, como o editor de texto, quadro de variáveis e barra de status, além de detalhar os menus e opções disponíveis para executar, depurar e formatar pseudocódigos.
O documento fornece uma visão geral dos principais produtos e soluções da Siemens para automação industrial, incluindo controladores SIMATIC S7/C7/M7, software STEP 7, linguagens de programação como LAD, FBD, SCL, ferramentas gráficas como S7-GRAPH e S7-HiGraph, soluções de comunicação industrial SIMATIC NET e ferramentas de engenharia como S7-PLCSIM, S7-PDIAG e DOCPRO.
Este documento fornece uma introdução ao Pygame, uma biblioteca gráfica para Python que permite a criação de jogos. Ele explica como funcionam os principais componentes de um jogo no Pygame, incluindo eventos de mouse e teclado, módulos para imagens, sons, sprites e tempo.
O documento fornece uma visão geral dos sistemas de automação da Siemens, incluindo controladores SIMATIC S7/C7/M7, software STEP 7, ferramentas de programação como S7-GRAPH e CFC, e comunicação industrial como PROFIBUS e Industrial Ethernet.
O documento apresenta conceitos sobre desenvolvimento para iOS. Ele discute sobre a plataforma iOS, pré-requisitos, ferramentas e recursos para desenvolvedores como Xcode, Interface Builder, UIKit e Objective-C. Imagens, elementos de controle como botões, sliders e segmentos são apresentados com ênfase na interface gráfica.
Este documento descreve como criar um driver de dispositivo USB no kernel Linux para controlar displays USB. Ele explica como usar um driver de caracter para enviar e receber caracteres do dispositivo e como usar arquivos no diretório sysfs para permitir que programas no espaço do usuário comuniquem com o driver.
Este documento descreve um projeto que tem como objetivo implementar métodos para projetar e fabricar peças de forma integrada através da internet, considerando padronização e qualidade. O projeto usa o padrão STEP-NC para gerar arquivos físicos a partir de modelagem de peças e planejamento de processo, e gera códigos ISO 6983 para fabricação em máquinas CNC.
Titanium é um framework open source que permite construir aplicações móveis e desktop nativas usando JavaScript, HTML e CSS. Ele suporta plataformas como iOS, Android, BlackBerry e Windows e permite reuso de código entre plataformas. O framework fornece APIs para elementos de interface, armazenamento local, multimídia e serviços como geolocalização e mapas.
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)Juliana Chahoud
O documento apresenta a nova linguagem de programação Swift da Apple, descrevendo suas principais características como moderna, rápida e segura. É demonstrado como criar um aplicativo simples para a Copa do Mundo usando Swift e integrando com Objective-C, como classes, storyboards e APIs. A integração com CocoaPods e recursos visuais como deinit e propriedades também são explicados.
Este documento fornece um guia prático para iniciantes sobre o Microsoft XNA. Ele explica como configurar o ambiente de desenvolvimento, criar um projeto básico, preparar métodos, entender o mundo 3D, configurar efeitos gráficos e desenhar o primeiro triângulo na tela definindo vértices e cores.
O documento fornece uma introdução ao sistema operacional Android, descrevendo sua história, arquitetura e ferramentas de desenvolvimento. Em suma: (1) Android foi lançado em 2008 pela Open Handset Alliance para dispositivos móveis; (2) Sua arquitetura inclui componentes como Activity, Content Provider e Broadcast Receiver; (3) Ferramentas como Android SDK e Eclipse ADT permitem aos desenvolvedores criarem aplicativos para a plataforma.
O documento fornece uma introdução sobre como iniciar o desenvolvimento de aplicativos Android usando a plataforma Android Studio. Ele explica como instalar as ferramentas de desenvolvimento Android, criar um primeiro projeto de aplicativo de calculadora simples e entender os principais componentes de uma aplicação Android como activities e ciclo de vida.
1. O documento descreve o perfil técnico e experiência de Alessandro de Oliveira Faria.
2. Alessandro tem mais de 30 anos de experiência no mercado de software e é membro ativo de várias comunidades de código aberto.
3. Ele mantém vários projetos de código aberto relacionados a realidade aumentada e desenvolvimento para Android.
O documento fornece diretrizes para a criação de uma arquitetura front-end robusta e flexível, abordando tópicos como pré-processadores CSS, variáveis, mixins, modularização, princípios de programação e frameworks JavaScript.
Processing é um ambiente de programação open-source utilizado para aprendizagem, prototipagem e produção que permite a construção de programas interativos 2D e 3D. Arduino é uma placa open-source com microcontrolador que permite a criação de projetos de computação física e interação homem-máquina. Este documento apresenta exemplos de programação utilizando Processing e Arduino individualmente e em conjunto, controlando um LED no Arduino através de botões na interface do Processing.
O documento descreve o que é OpenCV, onde é usado e como instalá-lo. OpenCV é uma biblioteca de visão computacional open source usada para reconhecimento facial, de objetos e movimentos. Ele pode ser instalado em sistemas Linux e utilizado para exibir imagens e vídeos, detectar contornos e objetos.
O documento descreve o VisuAlg, um programa que permite executar algoritmos em pseudocódigo de forma similar a uma linguagem de programação. Explica os principais componentes da interface do programa, como o editor de texto, quadro de variáveis e barra de status, além de detalhar os menus e opções disponíveis para executar, depurar e formatar pseudocódigos.
O documento fornece uma visão geral dos principais produtos e soluções da Siemens para automação industrial, incluindo controladores SIMATIC S7/C7/M7, software STEP 7, linguagens de programação como LAD, FBD, SCL, ferramentas gráficas como S7-GRAPH e S7-HiGraph, soluções de comunicação industrial SIMATIC NET e ferramentas de engenharia como S7-PLCSIM, S7-PDIAG e DOCPRO.
Este documento fornece uma introdução ao Pygame, uma biblioteca gráfica para Python que permite a criação de jogos. Ele explica como funcionam os principais componentes de um jogo no Pygame, incluindo eventos de mouse e teclado, módulos para imagens, sons, sprites e tempo.
O documento fornece uma visão geral dos sistemas de automação da Siemens, incluindo controladores SIMATIC S7/C7/M7, software STEP 7, ferramentas de programação como S7-GRAPH e CFC, e comunicação industrial como PROFIBUS e Industrial Ethernet.
O documento apresenta conceitos sobre desenvolvimento para iOS. Ele discute sobre a plataforma iOS, pré-requisitos, ferramentas e recursos para desenvolvedores como Xcode, Interface Builder, UIKit e Objective-C. Imagens, elementos de controle como botões, sliders e segmentos são apresentados com ênfase na interface gráfica.
Este documento descreve como criar um driver de dispositivo USB no kernel Linux para controlar displays USB. Ele explica como usar um driver de caracter para enviar e receber caracteres do dispositivo e como usar arquivos no diretório sysfs para permitir que programas no espaço do usuário comuniquem com o driver.
Este documento descreve um projeto que tem como objetivo implementar métodos para projetar e fabricar peças de forma integrada através da internet, considerando padronização e qualidade. O projeto usa o padrão STEP-NC para gerar arquivos físicos a partir de modelagem de peças e planejamento de processo, e gera códigos ISO 6983 para fabricação em máquinas CNC.
Titanium é um framework open source que permite construir aplicações móveis e desktop nativas usando JavaScript, HTML e CSS. Ele suporta plataformas como iOS, Android, BlackBerry e Windows e permite reuso de código entre plataformas. O framework fornece APIs para elementos de interface, armazenamento local, multimídia e serviços como geolocalização e mapas.
Swift, a nova linguagem de programação da Apple (CocoaHeads Sao Paulo)Juliana Chahoud
O documento apresenta a nova linguagem de programação Swift da Apple, descrevendo suas principais características como moderna, rápida e segura. É demonstrado como criar um aplicativo simples para a Copa do Mundo usando Swift e integrando com Objective-C, como classes, storyboards e APIs. A integração com CocoaPods e recursos visuais como deinit e propriedades também são explicados.
2. TRABALHO DE CONCLUSÃO DE DISCIPLINA
INTEGRANTES:
CÉSAR MARTINS
DIÓGENES VIDAL
ROMOALDO MATTOS
THAIS FRANCIELLE
3. TRABALHO DE CONCLUSÃO DE DISCIPLINA
TEMA: VELOCÍMETRO COM CONTA GIROS
O tema da animação desenvolvida pelo grupo foi fazer
com que a ilustração do painel de instrumentos de um
carro fosse animada com os movimentos dos ponteiros
do velocímetro e do conta giros.
4. TRABALHO DE CONCLUSÃO DE DISCIPLINA
OBJETIVO:
O objetivo do grupo para este semestre foi obter a base
de conhecimentos necessários para desenvolver no
próximo semestre uma aplicação onde haja
interatividade com o usuário, com foco em um jogo de
arrancada de carros.
5. TRABALHO DE CONCLUSÃO DE DISCIPLINA
INTERFACE:
A interface da animação foi baseada no painel do
Hyundai Veloster:
6. TRABALHO DE CONCLUSÃO DE DISCIPLINA
INTERFACE:
Foram adicionados ponteiros que se movimentam
indicando a velocidade e o giro do motor a fim de
mostrar a relação entre a velocidade do carro, o giro
do motor.
7. TRABALHO DE CONCLUSÃO DE DISCIPLINA
CÓDIGO:
int main()
{ /* Inicia o programa */
allegro_init(); /* Inicia as funções da biblioteca */
install_keyboard(); /* Interpreta os valores do teclado */
set_color_depth(32); /* Profundidade de cores */
set_gfx_mode(GFX_AUTODETECT_WINDOWED,800,600,0,0); /* força
janela para criação tela Allegro */
MIDI *musica;
//Carega a música inicio.mid e começa a tocá-la (com loop de repetição)
musica = load_midi("musicas/inicio.mid");
play_midi(musica, TRUE);
8. TRABALHO DE CONCLUSÃO DE DISCIPLINA
CÓDIGO:
if(install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL))
{
allegro_message(allegro_error);
exit(-1);
}
// Variáveis
BITMAP *img[30];/* variavel do ponteiro img de i e j(vetor) */
BITMAP *buffer;/* Variavel para criação de outra tela */
BITMAP *img1 = load_bitmap("images/tit.bmp",NULL); /* carrega imagem de
titulo do jogo*/
BITMAP *img2 = load_bitmap("images/veloster.bmp",NULL); /*carrega imagem
do painel do carro*/
int i= -2; // variavel para criação de vetor para ponteiros do contagiros
int j= -1; // variavel para criação de vetor para ponteiros da velocidade
9. TRABALHO DE CONCLUSÃO DE DISCIPLINA
CÓDIGO:
// Carrega Imagens do ponteiro do velocímetro
img[0] = load_bitmap("images/v1.bmp",NULL);
img[1] = load_bitmap("images/v2.bmp",NULL);
img[2] = load_bitmap("images/v3.bmp",NULL);
img[3] = load_bitmap("images/v4.bmp",NULL);
img[4] = load_bitmap("images/v5.bmp",NULL);
img[5] = load_bitmap("images/v6.bmp",NULL);
img[6] = load_bitmap("images/v7.bmp",NULL);
img[7] = load_bitmap("images/v8.bmp",NULL);
img[8] = load_bitmap("images/v9.bmp",NULL);
img[9] = load_bitmap("images/v9.bmp",NULL);
img[10] = load_bitmap("images/v9.bmp",NULL);
buffer = create_bitmap(800,600); /* Cria tela igual a tela Screen */
// esc sai da animação
while(!key[KEY_ESC]){
10. TRABALHO DE CONCLUSÃO DE DISCIPLINA
CÓDIGO:
// Condição do vetor para os ponteiros
girarem
if (i <=17)
{
i = i + 2;
}
if (j <=17)
{
j = j + 1;
}
11. TRABALHO DE CONCLUSÃO DE DISCIPLINA
CÓDIGO:
draw_sprite(buffer, img1, 200,20); /* Exibe no buffer o titulo */
draw_sprite(buffer, img2, 0, 100 ); /* Exibe no buffer o painel
do carro*/
draw_sprite(buffer, img[i], 25, 120 ); /* Exibe no buffer as
imagens do ponteiro contagiros */
draw_sprite(buffer, img[j], 337, 120 ); /* Exibe no buffer as
imagens do ponteiro da velocidade */
draw_sprite(screen,buffer,0,0); /* Exibe o BITMAP para a
screen e depois joga as BITMAP na tela buffer*/
blit(buffer, screen, 0, 0, 0, 0, 800, 600); //Copia o buffer para o
scrren
rest(2000);
}
12. TRABALHO DE CONCLUSÃO DE DISCIPLINA
FONTES:
Material de apoio disponível no moodle em:
http://eadprof.com.br/kesede/mod/folder/view.php?id=338
Manuais descritivos no web site da biblioteca Allegro:
http://www.allegro.cc/manual/
13. TRABALHO DE CONCLUSÃO DE DISCIPLINA
Conclusão:
Obtivemos conhecimento em linguagem C,
principalmente na biblioteca gráfica Allegro e pudemos
desenvolver conceitos de lógica de programação.
14. TRABALHO DE CONCLUSÃO DE DISCIPLINA
BLOG:
Mais informações sobre o nosso trabalho estão
disponíveis no endereço:
http://velozter12.blogspot.com.br/