Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Предлагаю немного поиграть.
Смысл игры:
Решить задание (написать самому, выложить своё решение, спереть наиболее шустрое решение из опен-сорс источников) одну из задач часто использующихся в повседневности. Победит тот, чей вариант будет наиболее шустро работать на всех целевых платформах (GP2X F-серий, Wiz, Caanoo, Dingoo, под разными SDL-ами). Заодно померим промежуточно производительность подобных простых операций.
Результат должен быть оформлен в виде процедуры с именем в формате приведенном в задании.
Игра 1 :
- задание 1. Очистка экрана.
Цель - максимально быстро очистить область экрана закрасив его черным цветом
bool Cls(void);
- задание 2. Заполнение экрана.
Цель - максимально быстро заполнить область экрана закрасив его произвольным цветом
bool FillScreen(short color16);
- задание 3. Печать пикселя по координатам X,Y, цветом color16
bool PutPixel(int X, int Y, short color16);
- задание 4. Получение цвета пикселя по координатам X,Y
short GetPixel(int X, int Y);
Считаться всё будет путем многократного повторения этого кода в связке с другим кодом, который не даст вашему коду всё время выполняться из кеша. _________________ Просто Вовк
Последний раз редактировалось: Hahahoj (Пт Янв 14, 2011 6:28 pm), всего редактировалось 2 раз(а) |
|
Вернуться к началу |
|
|
ainu
Местный
Возраст: 37 Зарегистрирован: 13.11.2010 Сообщения: 133
Группы: Нет
|
|
Сложная игра=)
Предлагаю (просто ради итогового сравнения с идеальными C и C++ решениями) выполнить тоже самое на benny Gd и php. |
|
Вернуться к началу |
|
|
EugeneP
Местный
Возраст: 43 Зарегистрирован: 04.06.2009 Сообщения: 170
Группы:
|
|
ainu писал(а): | Сложная игра=)
Предлагаю (просто ради итогового сравнения с идеальными C и C++ решениями) выполнить тоже самое на benny Gd и php. |
На бене это "в честную" слабо реализуемо.
Алсо short GetPixel(int X, int Y, short color16);
Алсо условия игры надо явно дополнить:
1) языками программирования (C, C++, asm?)
2) используемыми либами (sdl, libcastor?)
3) условием: к моменту пуска кода экран проиициализирован следующим образом: <кусок кода> |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
1) кто что хочет тот на том и пишет
2) sdl или libcastor не важно - есть ссылка на
3) экранная поверхность создана в памяти и представлена в нативном для средства разработки виде.
Нативные параметры 320х240, 16битный цвет (R5G6B5) _________________ Просто Вовк |
|
Вернуться к началу |
|
|
EugeneP
Местный
Возраст: 43 Зарегистрирован: 04.06.2009 Сообщения: 170
Группы:
|
|
На Bennu:
Код: |
import "mod_key"
import "mod_map"
import "mod_video"
import "mod_wm"
import "mod_draw"
function InitScreen()
begin
set_mode( 320, 240, 16 );
end
function Cls( void )
begin
map_clear( 0, 0, 0 );
end
function FillScreen( word color16 )
begin
map_clear( 0, 0, color16 );
end
function PutPixel(int X, int Y, word color16 )
begin
map_put_pixel( 0, 0, X, Y, color16 );
end
function word GetPixel(int X, int Y)
begin
return map_get_pixel( 0, 0, X, Y );
end
local
word col1, col2;
int i;
end
begin
InitScreen();
col1 = rgb( 100, 200, 255 );
col2 = rgb( 0, 0, 0 );
FillScreen( col1 );
for( i=0 ; i < 240 ; i++ )
PutPixel( i, i, col2 );
PutPixel( 240-i, i, GetPixel( i, i ) );
end
while( ! key( _SPACE ) && !exit_status )
frame;
end
end
|
|
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
ainu, мы ждем твой ход _________________ Просто Вовк |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Что же. В соревновании безоговорочно победил Евгений. Приз будет ему выслан, как только он вновь появится на нашем форуме или гп-инетах. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
EugeneP
Местный
Возраст: 43 Зарегистрирован: 04.06.2009 Сообщения: 170
Группы:
|
|
А что за прииз то был? О_о |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Ты б в Аську б вылез, чтоли.
Приз - ключи на скачку нескольких аркад с FUNGP и 5000 поинтов на твой фангп-шный аккаунт. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
EugeneP
Местный
Возраст: 43 Зарегистрирован: 04.06.2009 Сообщения: 170
Группы:
|
|
Аска всё. Пиши в скайп и жабер |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
В Скайпе с жабой тебя также не наблюдаю. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
Robotex
Постоялец
Пол: Возраст: 35 Зарегистрирован: 14.06.2011 Сообщения: 80
Группы: Нет
|
|
А где почитать как компилировать под консоль? |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Вернуться к началу |
|
|
Robotex
Постоялец
Пол: Возраст: 35 Зарегистрирован: 14.06.2011 Сообщения: 80
Группы: Нет
|
|
Hahahoj писал(а): | http://www.lazyfoo.net/SDL_tutorials/ |
Это изучал, но компилил всегда для x86. А как откомпилить приложение для Кену и запустить его? |
|
Вернуться к началу |
|
|
Hahahoj
Site Admin
Пол: Возраст: 51 Зарегистрирован: 08.10.2008 Сообщения: 1848
Группы:
|
|
Естественно использовать преднастроенные SDK на начальном этапе:
вариант с архива:
Винда: http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,15,577
Линукс: http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,17,631
вариант с гита:
Линукс: http://git.fungp.com/index.html
самый правильный вариант - варинт с дева:
http://dev.fungp.com/dev/
На деве так же лежат инструкции по программированию на консоль и документы для разработчиков.
Во всех архивах лежит достаточное количество примеров приложений,которые компилируются мейкфайлами которые тоже присутствуют в архивах. _________________ Просто Вовк |
|
Вернуться к началу |
|
|
|