Да помогнем на бягащия динозавър да мине през всички препятствия с помощта на малко „изкуствен интелект“.
T-Rex Runner Hack
Преди време написах код, който ми помага да „надхитря“ тази игра вградена в Google Chrome браузъра.
Това е много интересен проект защото комбинира програмиране, физика и математика в едно, както и нуждата от изобретателност и сръчност, за да постигнем целта си.
… а тя е:
Да накараме Тинузавър да играе вместо нас.
Идеята е много проста: всеки път когато сензора за светлина (фоторезистор в нашия случай) засече преминаване на кактус на екрана, задейства серво двигателя, който пък натиска клавиша „интервал“ и динозавър подскача, като по този начин избягва препятствието.
Ето фрагмент от кода написан на езика C
for (;;) { // The infinite main loop //
uint16_t adcx_result = 0;
for (uint8_t n = 32; n > 0; n--) {
adcx_result += adcx_read();
_delay_us(500);
}
adcx_result = (adcx_result >> 5);
adcx_resultd = adcx_result - adcx_result2;
adcx_result2 = adcx_result;
if (adcx_resultd > 30) {
PORTB |= (1 << SHIELD_EDUX4IO_LED); // Turn the LED on.
servolibtiny_pos(265);
servolibtiny_pos(400);
// _delay_ms(10);
} else {
PORTB &= ~(1 << SHIELD_EDUX4IO_LED); // Turn the LED off.
}
// shield_edu4xio_buzzer_tone(adcx_result, 4);
_delay_ms(80);
}
Съвсем скоро ще напиша същия код и на Блоктину за да може да бъде разбран по-лесно и от най-начинаещите.
Ако вече сте правили подобен проект напишете коментар по-долу. 🙂