A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013

Apresentações semelhantes


Apresentação em tema: "CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013"— Transcrição da apresentação:

1 CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013
Capítulo VI Desenhos e Animação

2 Arquivos fornecidos para a aula:
CES10 Prat ppt: Slides da aula lab_6_ces10_2013.doc: proposta do Lab 6 Graficos_DevCpp.pdf: instruções do Prof. Paulo André para utilização do modo gráfico (Aba Artigos da página do prof) Graficos_DevCpp.zip: arquivos com código de rotinas gráficas para incluir no Dev (Aba Códigos da página do prof) Instrucoes_CONIO2.pdf: instruções do Prof. Paulo André para controle do cursor no modo texto do Dev (Aba Artigos da página do prof) conio2.zip: arquivos para a biblioteca conio2 a ser utilizada no Dev (Aba Códigos da página do prof)

3 Programa 6.1: Posicionamento do cursor no vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int col, lin; char c; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); printf ("Posicionar cursor? (s/n): "); c = getche(); while (c == 's' || c == 'S') { printf ("\rDigite a coluna e a linha: "); scanf ("%d%d", &col, &lin); gotoxy (col, lin); getche (); gotoxy (1, 1); printf (" "); printf ("\rPosicionar cursor? (s/n): "); c = getche(); } Copiar, salvar e executar no Borland clrscr (conio.h): apaga a tela \r: reescreve a 1ª linha da tela Posiciona o cursor nas coordenadas desejadas – digitar um caractere Posiciona o cursor na coluna e linha 1 Apaga a 1ª linha \r: reescreve a 1ª linha da tela Para executar no Dev, devem ser copiados os arquivos referentes ao conio2.h

4 Programa 6.2: Desenho de segmentos de retas com ‘*’
#include <stdio.h> #include <conio.h> void main () { int a, b, i; printf ("Maximize a tela e digite algo!"); getche (); clrscr (); for (a=1, b=1, i=1; i<=10; a+=8, b+=2, i++) { gotoxy (a, b); printf ("********"); } printf ("\n\nDigite algo para encerrar: "); getch (); Copiar, salvar e executar no Borland Sempre posiciona o cursor na posição [a, b] Inicialmente [a, b] = [1, 1] A cada repetição a+=8 e b+=2 Na tela

5 Programa 6.3: Determinação dos limites do gotoxy
#include <stdio.h> #include <conio.h> void main () { int i; printf ("Maximize a tela e digite algo!"); getche (); clrscr (); for (i=1; i<=80; i++) { gotoxy (i, i); printf ("%d", i%10); } printf ("\n\nDigite algo para encerrar: "); getch (); Copiar, salvar e executar no Borland O programa vai tentar escrever o valor de i%10 na diagonal de uma tela 80x80 Ver resultado a seguir

6 Limites: Coluna 80 Linha 44

7 Programa 6.4: Passeio do ‘*’ pelo vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int i, j, demora = ; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); for (i = 10; i <= 60; i++) { gotoxy (i, 5); printf (" *"); for (j = 1; j <= demora; j++); } for (i = 6; i <= 40; i++) { gotoxy (61, i-1); printf (" "); gotoxy (61, i); printf ("*"); printf ("\n\nDigite algo para encerrar: "); getch (); Copiar, salvar e executar no Borland

8 Programa 6.4: Passeio do ‘*’ pelo vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int i, j, demora = ; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); for (i = 10; i <= 60; i++) { gotoxy (i, 5); printf (" *"); for (j = 1; j <= demora; j++); } for (i = 6; i <= 40; i++) { gotoxy (61, i-1); printf (" "); gotoxy (61, i); printf ("*"); printf ("\n\nDigite algo para encerrar: "); getch (); Para i = 10, na linha 5: Escreve ‘ ’ na coluna 10 e ‘*’ na coluna 11 Para i = 11, na linha 5: Escreve ‘ ’ na coluna 11, apagando ‘*’ Escreve ‘*’ na coluna 12 Dá a impressão de movimento do ‘*’ uma posição p/direita Para i = 60, ‘*’ vai para a coluna 61

9 Programa 6.4: Passeio do ‘*’ pelo vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int i, j, demora = ; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); for (i = 10; i <= 60; i++) { gotoxy (i, 5); printf (" *"); for (j = 1; j <= demora; j++); } for (i = 6; i <= 40; i++) { gotoxy (61, i-1); printf (" "); gotoxy (61, i); printf ("*"); printf ("\n\nDigite algo para encerrar: "); getch (); Faz ‘*’ permanecer numa posição durante um t perceptível O valor para ‘demora’ é experimental Esse valor pode variar com o computador

10 Programa 6.4: Passeio do ‘*’ pelo vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int i, j, demora = ; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); for (i = 10; i <= 60; i++) { gotoxy (i, 5); printf (" *"); for (j = 1; j <= demora; j++); } for (i = 6; i <= 40; i++) { gotoxy (61, i-1); printf (" "); gotoxy (61, i); printf ("*"); printf ("\n\nDigite algo para encerrar: "); getch (); Para i = 6, na coluna 61: Escreve ‘ ’ na linha 5, apagando ‘*’ Escreve ‘*’ na linha 6 Dá a impressão de movimento do ‘*’ uma posição p/baixo Para i = 40, ‘*’ vai para a linha 40

11 Programa 6.4: Passeio do ‘*’ pelo vídeo-texto
#include <stdio.h> #include <conio.h> void main () { int i, j, demora = ; printf ("Maximize a tela e digite algo: "); getche (); clrscr (); for (i = 10; i <= 60; i++) { gotoxy (i, 5); printf (" *"); for (j = 1; j <= demora; j++); } for (i = 6; i <= 40; i++) { gotoxy (61, i-1); printf (" "); gotoxy (61, i); printf ("*"); printf ("\n\nDigite algo para encerrar: "); getch (); Também faz ‘*’ permanecer numa posição durante um t perceptível

12 Rotinas gráficas: Rotinas gráficas são necessárias para vários programas profissionais A Linguagem C padrão não define rotinas gráficas Foram criados independentemente vários conjuntos de rotinas gráficas, tais como o Microsoft C/C++ para DOS e o Borland Graphics Interface (BGI) Nestas aulas será utilizada a BGIm, que é uma versão da BGI para o ambiente Dev C++

13 Instalação da Biblioteca BGI no ambiente Dev C++:
Arquivos necessários (compactados em Graficos_DevCpp.zip): graphics.h: copiar em C:\Dev-Cpp\include libbgi.a: copiar em C:\Dev-Cpp\lib Uso de projetos: Para trabalhar em modo gráfico será necessário utilizar o conceito de projeto Projeto é um container que armazena todos os elementos (arquivos) que compõem um programa

14 Criando um novo projeto no ambiente Dev-C++:
Clicar no menu "File" e selecionar "New", "Project... " Escolher "Empty Project" e certificar-se de que a opção "C++ project" está selecionada Escolher um nome para o projeto Pode-se dar qualquer nome válido para um arquivo O nome do projeto será o nome do executável a ser gerado Após escolher o nome, clicar "OK " O Dev-C++ irá perguntar onde salvar o projeto: Escolher um diretório apropriado e salvar o projeto

15 Criando ou adicionando arquivos ao projeto:
Duas formas: Clicar no menu "File" e selecionar "New Source File" ou Clicar no menu "Project" e selecionar "New File" Então é só editar o arquivo com o programa e salvar

16 Configuração do uso da biblioteca gráfica no projeto:
Criado o projeto, é preciso mandar o Dev-C++ utilizar a biblioteca BGIm (que implementa a BGI para o Dev-C++) Isto é feito através da janela "Project Options" A seguir, um conjunto de passos para realizar essa tarefa

17 Passos para a configuração do uso da BGIm:
Clicar no menu "Project" e escolher "Project Options" Clicar na tab "Geral" e selecione "Win32 GUI" Clicar na tab "Parameters" No campo "Linker", digite o seguinte texto: -lbgi -lgdi32 -lcomdlg32 -luuid -loleaut32 -lole32 Clicar OK

18 Programa 6.5: Desenho simples no vídeo-gráfico
#include <stdio.h> #include <graphics.h> int main () { int i, j, left, top, bottom, right; initwindow (700, 500, "Primeiro Programa Grafico"); getch (); left = 10; right = 600; top = 10; bottom = 200; for (i = top; i <= bottom; i++) for (j = left; j <= right; j++) putpixel (j, i, MAGENTA); closegraph ( ); } - Criar projeto - Adicionar este arquivo ao projeto - Configurar o projeto para o uso da BGI - Salvar e executar

19 Programa 6.5: Desenho simples no vídeo-gráfico
#include <stdio.h> #include <graphics.h> int main () { int i, j, left, top, bottom, right; initwindow (700, 500, "Primeiro Programa Grafico"); getch (); left = 10; right = 600; top = 10; bottom = 200; for (i = top; i <= bottom; i++) for (j = left; j <= right; j++) putpixel (j, i, MAGENTA); closegraph ( ); } Abre uma janela com título, de 700 colunas e 500 linhas Colore o pixel [j, i] com a cor MAGENTA

20 Lista de cores disponíveis na BGI:

21 Programa 6.6: Desenho de várias figuras
#include <stdio.h> #include <graphics.h> int main () { int i, j, left, top, bottom, right; /* Abrir janela grafica */ initwindow (700, 500, "Varias Figuras"); /* Colorir uma area quadrada de pixels */ getch (); left = 160; right = 400; top = 80; bottom = 320; for (i = top; i <= bottom; i++) for (j = left; j <= right; j++) putpixel (j, i, RED);

22 /* Desenhar as bordas de um quadrado */
getch (); setcolor (YELLOW); rectangle (left, top, right, bottom); /* Desenhar as bordas de um circulo */ setcolor (LIGHTBLUE); circle (280, 200, 120); /* Desenhar um segmento de reta */ setcolor (WHITE); line (40, 480, 640, 80);

23 Mais detalhes sobre rotinas gráficas:
/* Preencher um retangulo com textura e cor */ getch (); left = 80; right = 560; top = 400; bottom = 420; setfillstyle(11, LIGHTBLUE); bar (left, top, right, bottom); /* Escrever um texto */ setbkcolor(BROWN); outtextxy(50, 250, "Teste"); /* Fechar janela grafica */ closegraph ( ); } Mais detalhes sobre rotinas gráficas: Manual do Prof. Paulo André Castro Sites da Internet


Carregar ppt "CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013"

Apresentações semelhantes


Anúncios Google