[Aula 3] variáveis e operadores
Círculo que "quica" na tela.
ORIENTAÇÕES:
- Criar um programa que desenhe na tela um círculo em posição inicial aleatória.
- Utilizar como cor interna do círculo uma variável do tipo color.
- Fazer com que o círculo se mova nos eixos x e y de forma uniforme.
- Faça com que toda vez que o programa for executado o círculo se mova em velocidade diferente.
- Faça com que o círculo possa se mover para frente ou para trás, para cima ou para baixo
- Imprima no console a posição x e y do círculo a cada frame.
EXECUÇÃO:
- Define-se primeiro o tamanho da tela, na função setup, para que possa criar as variáveis seguintes com base em seu tamanho.
- Criam-se as variáveis do tipo inteiro que serão as posições iniciais do círculo e seus incrementos.
Cria-se a variável do tipo cor por meio da definição no sistema RGB. Estas foram criadas fora das funções Setup e Draw por terem características globais.
- Dentro da função Setup atribuem-se os valores para as funções Posição X (posiX), Posição Y (posiY), velocidade X (veloX) e velocidade Y (veloY) com valores randômicos ditados pela função random(), com conversão de valor de float para int. As velocidades variam de 0 a 10, enquanto as posições variam de 0 até a altura ou largura da tela.
Extra:
- Criam-se variáveis do tipo int, de nome R, G e B que serão os valores de outra variável do tipo color, de nome cor2.
- Na função Draw utiliza-se do recurso de sobreposição do plano de fundo branco para que se escondam os rastros de frames anteriores.
- Dentro do Draw cria-se um elipse, com as posições iniciais já declaradas na função Setup, executada antes da função Draw. Posições iniciais randômicas, diâmetro 50.
- Preenche o elipse com uma cor próxima ao ciano.
- Adiciona à posição da elipse o incremento de pixels da velocidade, que é randômica. Quanto mais altos forem os pixels, mais rápido a elipse irá se mover e vice-versa.
- Dá-se valor às variáveis randômicas do tipo int, de nome R, G e B para servirem de valores para outra variável color.
- Dá-se valor à variável cor2. A cada novo frame, essa cor muda.
- Indicam-se condições para o movimento da elipse:
- Se a posição X for maior que a Largura menos o valor de seu raio OU se sua posição for menor que o seu raio:
Sua velocidade se inverterá e a variável cor receberá o valor da variável cor 2
A elipse "quicará" para o lado e mudará de cor.
- Se a posição Y for maior que a Altura menos o valor de seu raio OU se sua posição for menor que seu raio:
Sua velocidade se inverterá e a variável cor receberá o calor da variável cor 2.
A elipse "quicará" para cima e mudará de cor.
- Exibe-se a posição X e Y no monitor a cada frame da repetição da função Draw até que o programa seja encerrado.
Código no Processing:
/*
- Criar um programa que desenhe na tela um círculo em posição inicial aleatória. /ok
- Utilize como cor interna do círculo uma variável do tipo color. /ok
- Faça com que o círculo se mova nos eixos x e y de forma uniforme. /ok
- Faça com que toda vez que o programa for executado o círculo se mova em velocidade
diferente. /ok
- Faça com que o círculo possa se mover para frente ou para trás, para cima ou
para baixo /ok
- Imprima no console a posição x e y do círculo a cada frame. /ok
*/
color cor, cor2;
cor = color(0,200,255);
int posiX, posiY, veloX, veloY, R,G,B;
void setup (){
size (500,500);
posiX = (int)random(25,width);
posiY = (int)random(25,height);
veloX = (int)random(10);
veloY = (int)random(10);
}
void draw(){
background (255);
fill(cor);
ellipse(posiX,posiY,50,50);
posiX = posiX + veloX;
posiY = posiY + veloY;
//extra
R = (int)random(255);
G = (int)random(255);
B = (int)random(255);
cor2 = color(R,G,B);
if (posiX > width-25 || posiX < 25) {
veloX = -veloX;
cor = cor2;
}
if (posiY > height-25 || posiY < 25) {
veloY = -veloY;
cor = cor2;
}
println ("Posição X = "+posiX+" Posição Y = "+posiY);
}//draw
ORIENTAÇÕES:
- Criar um programa que desenhe na tela um círculo em posição inicial aleatória.
- Utilizar como cor interna do círculo uma variável do tipo color.
- Fazer com que o círculo se mova nos eixos x e y de forma uniforme.
- Faça com que toda vez que o programa for executado o círculo se mova em velocidade diferente.
- Faça com que o círculo possa se mover para frente ou para trás, para cima ou para baixo
- Imprima no console a posição x e y do círculo a cada frame.
EXECUÇÃO:
- Define-se primeiro o tamanho da tela, na função setup, para que possa criar as variáveis seguintes com base em seu tamanho.
- Criam-se as variáveis do tipo inteiro que serão as posições iniciais do círculo e seus incrementos.
Cria-se a variável do tipo cor por meio da definição no sistema RGB. Estas foram criadas fora das funções Setup e Draw por terem características globais.
- Dentro da função Setup atribuem-se os valores para as funções Posição X (posiX), Posição Y (posiY), velocidade X (veloX) e velocidade Y (veloY) com valores randômicos ditados pela função random(), com conversão de valor de float para int. As velocidades variam de 0 a 10, enquanto as posições variam de 0 até a altura ou largura da tela.
Extra:
- Criam-se variáveis do tipo int, de nome R, G e B que serão os valores de outra variável do tipo color, de nome cor2.
- Na função Draw utiliza-se do recurso de sobreposição do plano de fundo branco para que se escondam os rastros de frames anteriores.
- Dentro do Draw cria-se um elipse, com as posições iniciais já declaradas na função Setup, executada antes da função Draw. Posições iniciais randômicas, diâmetro 50.
- Preenche o elipse com uma cor próxima ao ciano.
- Adiciona à posição da elipse o incremento de pixels da velocidade, que é randômica. Quanto mais altos forem os pixels, mais rápido a elipse irá se mover e vice-versa.
- Dá-se valor às variáveis randômicas do tipo int, de nome R, G e B para servirem de valores para outra variável color.
- Dá-se valor à variável cor2. A cada novo frame, essa cor muda.
- Indicam-se condições para o movimento da elipse:
- Se a posição X for maior que a Largura menos o valor de seu raio OU se sua posição for menor que o seu raio:
Sua velocidade se inverterá e a variável cor receberá o valor da variável cor 2
A elipse "quicará" para o lado e mudará de cor.
- Se a posição Y for maior que a Altura menos o valor de seu raio OU se sua posição for menor que seu raio:
Sua velocidade se inverterá e a variável cor receberá o calor da variável cor 2.
A elipse "quicará" para cima e mudará de cor.
- Exibe-se a posição X e Y no monitor a cada frame da repetição da função Draw até que o programa seja encerrado.
Código no Processing:
/*
- Criar um programa que desenhe na tela um círculo em posição inicial aleatória. /ok
- Utilize como cor interna do círculo uma variável do tipo color. /ok
- Faça com que o círculo se mova nos eixos x e y de forma uniforme. /ok
- Faça com que toda vez que o programa for executado o círculo se mova em velocidade
diferente. /ok
- Faça com que o círculo possa se mover para frente ou para trás, para cima ou
para baixo /ok
- Imprima no console a posição x e y do círculo a cada frame. /ok
*/
color cor, cor2;
cor = color(0,200,255);
int posiX, posiY, veloX, veloY, R,G,B;
void setup (){
size (500,500);
posiX = (int)random(25,width);
posiY = (int)random(25,height);
veloX = (int)random(10);
veloY = (int)random(10);
}
void draw(){
background (255);
fill(cor);
ellipse(posiX,posiY,50,50);
posiX = posiX + veloX;
posiY = posiY + veloY;
//extra
R = (int)random(255);
G = (int)random(255);
B = (int)random(255);
cor2 = color(R,G,B);
if (posiX > width-25 || posiX < 25) {
veloX = -veloX;
cor = cor2;
}
if (posiY > height-25 || posiY < 25) {
veloY = -veloY;
cor = cor2;
}
println ("Posição X = "+posiX+" Posição Y = "+posiY);
}//draw

Comentários
Postar um comentário