O jogo Drunk Drive é um jogo de sobrevivência, aonde o carro é controlado pelo acelerômetro do macbook e seu objetivo é passar de fase, desviando dos objetos que aparecerem na pista, como cones, outros carros e pedestres. Porém haverão também garrafas de bebida alcóolica para desviar. Passando por cima da bebida, o seu grau etílico sobe, tornando a direção cada vez mais difícil. Ficando cada vez mais difícil de desviar dos obstáculos e tambem aumentará a dificuldade de guiar através do percurso. A visão ficará turva e o tempo de resposta do carro ficara ainda mais lento e confuso. Pode-se ainda ver objetos duplicados na pista sem saber qual é o real e qual não é.Ao contrario de jogos como esse: http://clickjogos.uol.com.br/Jogos-online/Esportes/Drunk-Driver/ , que utilizam os comandos do teclado, e com isso não traduzindo a realidade da dificuldade de se dirigir alcoolizado, o jogo Drunk Drive visa utilizar a movimentação corporal para imergir o jogador na experiência. Assim podendo vivenciar melhor as dificuldades encontradas na direção com alcool, e não só utilizar meios comuns para demonstrar isso (como as setas do mouse).
Imagens do jogo:
Tela de jogo, mostra o personagem em boa situação com alguns obstáculos a serem desviados
Personagem com certo nivel de embriaguez após algumas batidas, avatar é atualizado.
Situação 3, jogador atropela uma pessoa sóbrio.
Situação 4, jogador atropela a garrafa e fica um pouco embreagado.import sms.*;
// Global variables for the ball
float ball_x;
float ball_y;
float ball_dir = 2; // Velocidade da bola
float ball_size = 15; // Radius
float dy = 0; // Direction
// Global variables for the paddle
int paddle_width = 10;
int paddle_height = 20;
int dist_wall = 40;
void setup()
{
size(640, 360);
noStroke();
smooth();
ball_y = height;
ball_x = width/2;
}
void draw()
{
int Meux = Unimotion.getSMSX();
int Meuy = Unimotion.getSMSY();
//essa parte mostra os valores de Meux e Meuy
println("Meux="+Meux);
println("Meuy="+Meuy);
background(51);
//aqui to mudando a direção da bola
ball_x = ball_x + dy;
ball_y = ball_y + ball_dir;
// se a bola sair da tela ela volta pra cima
if(ball_y > 360) {
ball_x = 320;
ball_y = 0;
dy = 0;
}
// Posicao do paddle. troquei x por y. Constrain to screen
float paddle_x = Meux + 300;
// Test to see if the ball is touching the paddle, PAREI AQUI!!!!
// Colidir a bola com paddle
if(ball_y >= 325
&& ball_y > paddle_x - paddle_height - ball_size
&& ball_y <>
ball_dir *= 0;
}
// If ball hits paddle or back wall, dont reverse
if(ball_y < ball_dir ="="">
ball_dir *= 0;
}
// If the ball is touching top or bottom edge, reverse direction
if(ball_y > height-ball_size) {
dy = dy * -1;
}
if(ball_y <>
dy = dy * -1;
}
// Draw ball
fill(255);
ellipse(ball_x, ball_y, ball_size, ball_size);
fill(255);
rect(45,45,35,35);
fill(153);
triangle(20,20,20,200,45,200);
// Draw the paddle
fill(153);
rect(height-dist_wall,paddle_x, paddle_width, paddle_height);
}