ARDUINO GAME BOX PROJESİ
- muhammed ali balkaya
- 28 Kas 2018
- 1 dakikada okunur
Tek kişilik ilerlemeli basit bir oyun modük projesidir. Bu tür oyunların sürükleyici olmasının en öenmli özelliği basit yapıya sahip olmasıdır. Bu kodların tam olarak çalışması için uygun kütüphaneleri ekleyiniz.

Proje Kodu
#include "LiquidCrystal.h"
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
class object
{
public:
int obj_x, obj_y;
object()
{
byte block[8] = {
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111,
0b11111
};
lcd.createChar(0, block);
}
~object() {};
void lose_y()
{
obj_y = random(0, 2);
}
void move()
{
obj_x--;
}
bool colision(int x, int y)
{
if (obj_x == x && obj_y == y)
return true;
else
return false;
}
void draw()
{
lcd.setCursor(obj_x, obj_y);
lcd.print((char)0);
}
};
class player
{
public:
int ply_x, ply_y, score, speed;
bool pause;
player()
{
ply_x = 0;
ply_y = 0;
score = 0;
pause = false;
byte outffit[8] = {
0b01110,
0b01110,
0b00100,
0b01110,
0b10101,
0b00100,
0b01010,
0b10001
};
lcd.createChar(1, outffit);
};
~player() {};
void time()
{
switch (score)
{
case 0:
speed = 400;
break;
case 10:
speed = 300;
break;
case 25:
speed = 200;
break;
case 50:
speed = 100;
break;
default:
speed = speed;
break;
}
}
int keybords()
{
enum keys
{
NONE,
RIGHT,
UP,
DOWN,
LEFT,
SELECT
};
int key_adc = 0, key_id = 0;
key_adc = analogRead(A0);
if (key_adc > 750) key_id = keys::NONE;
if (key_adc < 750) key_id = keys::SELECT;
if (key_adc < 500) key_id = keys::LEFT;
if (key_adc < 350) key_id = keys::DOWN;
if (key_adc < 150) key_id = keys::UP;
if (key_adc < 50) key_id = keys::RIGHT;
switch (key_id)
{
case 2:
{
ply_y = 0;
break;
}
case 3:
{
ply_y = 1;
break;
}
case 5:
{
if (pause == true) pause = false;
else if (pause == false) pause = true;
break;
}
}
}
void draw()
{
lcd.setCursor(ply_x, ply_y);
lcd.print((char)1);
}
};
player gamer;
const int enemy = 1;
object tab[enemy];
bool game = true;
int start = millis();
int end = millis();
bool pauza(int time)
{
if (end - start > time)
{
start = millis();
return true;
}
else
{
end = millis();
return false;
}
}
void setup()
{
}
void loop()
{
}
Comentários