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

User Tag List

Показано с 1 по 8 из 8

Тема: Алгоритм "вдаль к горизонту"

  1. #1
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Алгоритм "вдаль к горизонту"

    Подскажите, плиз, кто знает как реализовать такой алгоритм "земли" как в Moonsweeper.
    Т.е. чтоб как-бы вдаль уходила.
    Можно на бейсике.
    Нарисовать - получается, а вот чтоб двигалось (вперёд-назад) да ещё и рекурсивно (без "прыжков") - не могу сообразить как.

    jerri пытался мне втолковать (даже пример давал, но не наглядный), и я всё равно не въехал.

    P.S. Во вложении примеры игр (снапшоты) с такой поверхностью.
    (два архива, rar и zip, оба с одинаковым содержимым, кому какой нравится)
    Вложения Вложения
    • Тип файла: rar e.rar (67.8 Кб, Просмотров: 100)
    • Тип файла: zip e.zip (70.4 Кб, Просмотров: 102)

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

  3. #2
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,435
    Спасибо Благодарностей отдано 
    191
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    61 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Подскажите, плиз, кто знает как реализовать такой алгоритм "земли" как в Moonsweeper.
    Так игры разные.

    Накодить полоски и шахматку, не одно и тоже, не говоря уже о текстурах.

    А полноценную текстуру с поворотами натянуть не хочешь?

  4. #3
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от newart Посмотреть сообщение
    Так игры разные.
    Ну принцип "движемся к горизонту" один и тот-же.

    Цитата Сообщение от newart Посмотреть сообщение
    Накодить полоски и шахматку, не одно и тоже, не говоря уже о текстурах.
    Вообще-то полоски в шахматку совсем не трудно превратить.
    (рисовать сплошняки через одну, а потом полоски поперек тоже через одну и по XOR - вот тебе и шахматка)

    Цитата Сообщение от newart Посмотреть сообщение
    А полноценную текстуру с поворотами натянуть не хочешь?
    Не, это пока без надобности.
    Если приспичит - буду читать твой трёп с AloneCoder`ом

    ---------- Post added at 02:57 ---------- Previous post was at 02:55 ----------

    Кое-что по сабжу кстати начало получатся, но по моему до совершенства далеко.

    Пример на purebasic:

    Скрытый текст


    Код:
    Procedure Ris(arg.f)
            StartDrawing(CanvasOutput(0))
                Box(0,0,256*3,192*3,0)
                horiz = 192/2
                Box(0, horiz*3, 256*3, 3, RGB(255,255,255))
                
                y.f = 0: ystp.f = arg
                Repeat
                    Box(0, horiz*3+y*3, 256*3, 3, RGB(255,255,255))
                    y = y + ystp
                    ystp = ystp + 2
                Until y>191
            StopDrawing()
    ProcedureReturn
    EndProcedure
    
        If OpenWindow(0, 0, 0, 256*3, 192*3, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
            If CanvasGadget(0, 0, 0, 256*3, 192*3)
            quit.a = 0
            yp.f = 0.5
        Repeat
            Event = WaitWindowEvent(10)
            
                Ris(yp)
                
                yp = yp + 0.3
                
                If yp>2
                    yp = 0
                EndIf
                
                
            If Event = #PB_Event_CloseWindow
                quit = 1
            EndIf
            quit = quit | GetAsyncKeyState_(#VK_ESCAPE)
            
        Until quit
            EndIf
        EndIf
    End
    [свернуть]

  5. #4
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Destr, log x
    Последний раз редактировалось Hacker VBI; 18.06.2013 в 11:50.
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

  6. #5
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    Destr, log x
    Так и что с ним делать?

  7. #6
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Пока что получается вот так:
    Код:
    ORG #8000
    	DI:LD SP,#8000
    	CALL INIT	; инициализируем табличку координат
    START
    	HALT
    	LD BC,#0000
    	CALL RIS	; затираем старые линии
    
    	LD HL,(STP)	; смещаемся
    	LD DE,(SPD)
    	ADD HL,DE
    	RES 2,H
    	LD (STP),HL
    
    	LD BC,#FFFF
    	CALL RIS	; рисуем новую позицию
    	JR START
    
    STP	DW 0		; текущий шаг
    SPD	DW #0040; скорость "полёта"
    
    RIS	EXX
    	LD (RIS0+1),SP
    	LD HL,0
    	LD DE,(STP)
    RIS1
    	LD A,H
    	EXX
    	CP #60
    	JR NC,RIS0
    	ADD A,A
    	LD L,A
    	LD H,high TAB_COOR
    	LD A,(HL)
    	INC L
    	LD H,(HL)
    	LD L,A
    	LD SP,HL
    	
    	REPT 16
    		PUSH BC
    	ENDR
    	EXX
    	ADD HL,DE
    	INC D
    	INC D
    	INC D
    	INC D
    
    	JR RIS1
    RIS0	LD SP,0
    	RET
    
    TAB_COOR		EQU #C000
    
    INIT	LD DE,#489F
    	LD HL,TAB_COOR
    	LD B,#60
    INI1	INC DE
    	LD (HL),E
    	INC HL
    	LD (HL),D
    	INC HL
    	DEC DE
    	CALL DINC
    	DJNZ INI1
    	RET
    
    DINC
    	INC D
    	LD A,D
    	AND 7
    	RET NZ
    	LD A,E
    	SUB #E0
    	LD E,A
    	SBC A,A
    	AND #F8
    	ADD A,D
    	LD D,A
    	RET
    Но в moonsweeper`е всё равно красивше
    (во вложении два снапшота для сравнения)
    Вложения Вложения

  8. #7
    Veteran Аватар для Hacker VBI
    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Destr, вот статейка по этому поводу.
    спасибо передавай Гоблину.
    "наличие готового программного обеспечения для нового компьютера в наши дни имеет мало смысла."
    "Еще вопрос - почему на Спектруме большинство звуков на AY булькающие ? Как это исправить ?"
    (c) zst

  9. #8
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,800
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    86 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hacker VBI Посмотреть сообщение
    Destr, вот статейка по этому поводу.
    спасибо передавай Гоблину.
    Наверное статья неплохая, но по английски малопонятна, а уж если перевести на русский (сказав "Перевести" в ответ на предложение браузера) - то вообще ей дорога в камеди-клаб.
    Одни только "Лешие и данных" (Sprites and Data) чего стоят

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

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