Важная информация

User Tag List

Страница 10 из 10 ПерваяПервая ... 678910
Показано с 91 по 97 из 97

Тема: С чего начать

  1. #91
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В общем, я утащил концепцию, карту и спрайты у SfS (который наверно тоже стянул у известной игры) и написал на ZX Like Pascal такой же Lode Runner, для сравнения.
    Качнуть компилятор и исходник можно тут
    .
    Скомпилированный SNA в этом сообщении.

    Полный текст исходника, кому лень качать:

    Код:
    program lode_runner;
    const
    	volume_devils=7;
    	treasures_max=5;
    	xmax=32;
    	ymax=22;
    var
    	i,j : byte;
    	map: array[1..22,1..32] of byte =[
    0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    1,1,1,1,1,1,1,3,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,0,0,0,1,1,3,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,0,0,0,1,1,3,0,0,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,
    0,0,0,0,0,0,0,3,0,0,0,1,1,3,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,3,0,0,0,1,1,3,0,0,0,0,0,0,0,0,0,5,3,0,0,0,0,0,0,0,
    1,3,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,
    0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
    0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
    0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
    0,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,3,0,0,0,0,0,0,0,0,0,0,0,
    0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,3,
    0,0,0,0,0,0,0,0,0,5,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,5,0,0,0,0,0,3,
    0,0,0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,3,
    0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,
    0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,3,
    1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];
    
    {0-проход, 1-кирпич неуничтожимый, 2-кирпич уничтожимый,
    3-лестница, 4-канат, 5-сундук, 6-герой, 7-черт}
    
    	x_hero: byte = 17;
    	y_hero: byte = 19;
    	treasures_hero: byte = 0;
    
    	devil: array[1..7,1..3] of byte
    	=[1,1,1, 17,6,2, 32,6,3, 17,9,4, 32,9,1, 6,13,2, 32,18,3];
    
    	key1,key2: byte;
    	x_devil,y_devil,d_devil,flag1: byte;
    
    begin
    
    border(0);
    textbackground(0);
    textcolor(6);
    VirtScreenClear;
    gotoxy(0,22);
    write('TREASURES: ',treasures_hero);
    textcolor(4);
    gotoxy(0,23);
    write('Demo Game of ZX Like Pascal');
    textcolor(6);
    MapSet(map,map_sprites,0,0,32,22);
    
    repeat
    
    MapPut1x1(1,1);
    
    SpritePutClear(HERO_SPRITE,x_hero-1,y_hero-1);
    for i:=1 to volume_devils do
    	SpritePutClear(DEVIL_SPRITE,devil[i,1]-1,devil[i,2]-1);
    
    VirtScreenPut;
    
    ReadKey(key1,key2);
    if y_hero<ymax then
    	if map[y_hero,x_hero]<>4 and map[y_hero,x_hero]<>3 then
    		if map[y_hero+1,x_hero]=0 then
    			begin
    				y_hero:=y_hero+1;
    				key1:=0;
    			end;
    
    case key1 of
    	79:
    		if x_hero>1 then
    			if map[y_hero,x_hero-1]<>1 and map[y_hero,x_hero-1]<>2
    				then x_hero:=x_hero-1;
    	80:
    		if x_hero<xmax then
    			if map[y_hero,x_hero+1]<>1 and map[y_hero,x_hero+1]<>2
    				then x_hero:=x_hero+1;
    	81:
    		if y_hero>1 then
    			if map[y_hero,x_hero]=3
    				then y_hero:=y_hero-1;
    	65:
    		if y_hero<ymax then
    			if map[y_hero+1,x_hero]=0 or map[y_hero+1,x_hero]=3 or map[y_hero+1,x_hero]=4
    				then y_hero:=y_hero+1;
    end;
    
    if map[y_hero,x_hero]=5 then
    	begin
    		SoundEffect(1,100,255);
    		map[y_hero,x_hero]:=0;
    		treasures_hero:=treasures_hero+1;
    		gotoxy(0,22);
    		write('TREASURES: ',treasures_hero);
    	end;
    
    for i:=1 to volume_devils do
    	begin
    		flag1:=0;
    		x_devil:=devil[i,1];
    		y_devil:=devil[i,2];
    		d_devil:=devil[i,3];
    
    		if y_devil<ymax then
    			if map[y_devil,x_devil]<>4 and map[y_devil,x_devil]<>3 then
    				if map[y_devil+1,x_devil]=0 then
    					begin
    						y_devil:=y_devil+1;
    						flag1:=1;
    					end;
    
    		if flag1=0 and d_devil=1 then
    			if x_devil>1 then
    				if map[y_devil,x_devil-1]<>1 and map[y_devil,x_devil-1]<>2 then
    					begin
    						x_devil:=x_devil-1;
    						flag1:=1;
    					end;
    
    		if flag1=0 and d_devil=3 then
    			if x_devil<xmax then
    				if map[y_devil,x_devil+1]<>1 and map[y_devil,x_devil+1]<>2 then
    					begin
    						x_devil:=x_devil+1;
    						flag1:=1;
    					end;
    
    		if flag1=0 and d_devil=2 then
    			if y_devil>1 then
    				if map[y_devil,x_devil]=3 then
    					begin
    						y_devil:=y_devil-1;
    						flag1:=1;
    					end;
    
    		if flag1=0 and d_devil=4 then
    			if y_devil<ymax then
    				if map[y_devil+1,x_devil]=0 or map[y_devil+1,x_devil]=3 or map[y_devil+1,x_devil]=4 then
    					begin
    						y_devil:=y_devil+1;
    						flag1:=1;
    					end;
    
    		if flag1=0 then
    			begin
    				d_devil:=d_devil+1;
    				if d_devil>4 then d_devil:=1;
    			end;
    
    		devil[i,1]:=x_devil;
    		devil[i,2]:=y_devil;
    		devil[i,3]:=d_devil;
    
    	end;
    
    
    until treasures_hero=treasures_max;
    
    ScreenThaw;
    VirtScreenClear;
    gotoxy(28,12);
    write('ПОБЕДА!');
    VirtScreenPut;
    
    end.
    
    
    MAP_SPRITES
    	defb	0, #00,#00,#00,#00,#00,#00,#00,#00
    	defb	2, #00,#fb,#fb,#fb,#00,#df,#df,#df
    	defb	2, #00,#fb,#fb,#fb,#00,#df,#df,#df
     	defb	7, #42,#42,#7e,#42,#42,#42,#7e,#42
    	defb	7, #00,#ff,#00,#00,#00,#00,#00,#00
    	defb	6, #00,#38,#2c,#7e,#42,#42,#7e,#00
    HERO_SPRITE
    	defb	1
    	defb	0,0,71, #5a,#52,#3c,#10,#10,#18,#14,#14
    DEVIL_SPRITE
    	defb	1
    	defb	0,0,3, #5a,#52,#3c,#10,#10,#18,#14,#14
    Вложения Вложения

  2. #91
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #92
    Master
    Регистрация
    27.01.2005
    Сообщений
    888
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    163
    Поблагодарили
    131 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прикольно)
    Ухожу в отпуск. Так что не теряйте. буду следующие три недели тут редко)

  4. #93
    Veteran
    Регистрация
    29.12.2010
    Адрес
    Москва
    Сообщений
    1,858
    Спасибо Благодарностей отдано 
    130
    Спасибо Благодарностей получено 
    104
    Поблагодарили
    62 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хорошо тебе отдохнуть! Я тоже в отпуск на след.неделе. И так пищи для размышлений много дали

  5. #94
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,908
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    89
    Поблагодарили
    31 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Шынни Посмотреть сообщение
    какого рода? почти все есть.
    Нет бродилки\копировщика trd\scl\tap\Интернет. Нет плеера saa. Нет универсального вьювера, который может казать все.
    ZX Evolution Rev C + ZXM-SoundCard Extreme + NeoGS.

  6. #95
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,121
    Записей в дневнике
    36
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    10 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Нет плеера saa
    saa - это от СэмКуп?


    Цитата Сообщение от Alex Rider Посмотреть сообщение
    Нет универсального вьювера, который может казать все
    если речь о Total Commander, то по мне хватает. Все настраиваемо.

  7. #96
    Master
    Регистрация
    27.01.2005
    Сообщений
    888
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    163
    Поблагодарили
    131 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    После отпуска началась работа и никак не отпустит. Но что-то меня заинтересовала тема коммуникаций на любом ZX малой кровью. Для этого я начал делать библиотеку на базе протокола SLIP, чтобы обмениваться между Z80 и коммуникационным процессором ESP8266. Пока все на С. Сегодня наконец сделал кросс-Makefile и засунул это в SDCC-NOINIT.

    https://github.com/salextpuru/sdcc-noinit

    Первый тестик простой работает. Для PC и ESP8266 все компилируется. Надеюсь, что скоро что-нибудь взлетит.

    Ещё я выпилил из SDCC-NOINIT кучу мусора, который там болтался ниочёмно.

    Эх.. Мечта - сделать лодераннер на два игрока по сети))) Во было бы круто! Но до этого как до пекина.

  8. #97
    Master
    Регистрация
    27.01.2005
    Сообщений
    888
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    163
    Поблагодарили
    131 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Наконец-то дошли руки до теста SLIP-протокола на живом спеке. Скорости хватает, но размер кода на С несколько удручает. Да и фиг с ним. Если уложусь в страницу - это будет прекрасно. Оптимизировать можно и потом.

Страница 10 из 10 ПерваяПервая ... 678910

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. БК-0011: С чего начать, или вопросы нуба
    от BYTEMAN в разделе БК-0010/0011
    Ответов: 82
    Последнее: 13.06.2021, 22:20
  2. Голая Амига с чего начать
    от alex51 в разделе Amiga
    Ответов: 335
    Последнее: 22.02.2016, 00:26
  3. Электроника МС 0511 с чего начать?
    от AHTuXPuCT в разделе ДВК, УКНЦ
    Ответов: 16
    Последнее: 22.11.2012, 14:30
  4. sdcc. с чего начать.
    от ALKO в разделе Программирование
    Ответов: 42
    Последнее: 16.09.2012, 15:49
  5. C чего начать геймдэв для горбатыша?
    от ALKO в разделе Для начинающих
    Ответов: 69
    Последнее: 24.01.2012, 15:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •