User Tag List

Показано с 1 по 10 из 151

Тема: Ретро-ЯП Millfork для Atari, Apple II, ZX Spectrum, MSX, CP/M, NES, Game Boy и MS-DOS

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    11.02.2005
    Адрес
    【RB】
    Сообщений
    3,877
    Спасибо Благодарностей отдано 
    128
    Спасибо Благодарностей получено 
    130
    Поблагодарили
    81 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    Exclamation

    Ну шо, таки допилил Онимацию, теперь почти настоящий боудер получился



    Как обычно сырки:

    boulder.mfk:
    Код:
    import stdio
    
    
    import sprites
    
    
    array titleStr = "Boulder Dash ]["
    
    
    array(byte) heroSpr0a = [0,$24,$3c,$5a,$5a,$3c,$18,$3c,$42,$18,0,$18,0]
    array(byte) heroSpr0b = [0,$24,$3c,$7e,$5a,$3c,$18,$3c,$42,$18,0,$18,0]
    array(byte) heroSpr0c = [0,$24,$3c,$7e,$7e,$3c,$18,$3c,$42,$18,0,$18,0]
    array(byte) heroSpr1a = [0,$18,$42,$18,0,$18,0,0,$66,0]
    array(byte) heroSpr1b = [0,$18,$24,$18,0,$18,0,0,$66,0]
    array(byte) heroSpr1c = [0,$18,$24,$18,0,$18,0,$60,$06,0]
    array(byte) heroSpr2a = [0,$24,$24,$24,0]
    array(byte) heroSpr2b = [0,$24,$24,$04,0]
    
    
    array(pointer) aFrames0 = [
    	heroSpr0a, heroSpr0b, heroSpr0c,
    	heroSpr0a, heroSpr0b, heroSpr0c,
    	heroSpr0a, heroSpr0b, heroSpr0c,
    	heroSpr0a, heroSpr0a, heroSpr0a, heroSpr0a,
    	heroSpr0a, heroSpr0a, heroSpr0a, heroSpr0a,
    	heroSpr0a, heroSpr0a, heroSpr0a, heroSpr0a
    ]
    array(pointer) aFrames1 = [
    	heroSpr1a, heroSpr1a, heroSpr1a,
    	heroSpr1a, heroSpr1a, heroSpr1a,
    	heroSpr1a, heroSpr1a, heroSpr1a,
    	heroSpr1b, heroSpr1c, heroSpr1b, heroSpr1c,
    	heroSpr1b, heroSpr1c, heroSpr1b, heroSpr1c,
    	heroSpr1b, heroSpr1c, heroSpr1b, heroSpr1c
    ]
    array(pointer) aFrames2 = [
    	heroSpr2a, heroSpr2a, heroSpr2a,
    	heroSpr2a, heroSpr2a, heroSpr2a,
    	heroSpr2a, heroSpr2a, heroSpr2a,
    	heroSpr2a, heroSpr2b, heroSpr2a, heroSpr2b,
    	heroSpr2a, heroSpr2b, heroSpr2a, heroSpr2b,
    	heroSpr2a, heroSpr2b, heroSpr2a, heroSpr2b
    ]
    array(byte)    aTime  = [
    	150, 3,  3,
    	150, 3,  3,
    	150, 3,  3,
    	10,  10, 10, 10,
    	10,  10, 10, 10,
    	10,  10, 10, 10
    ]
    
    
    byte color0 = $56
    byte color1 = $0e
    byte color2 = $c6
    
    
    noinline asm void wait(byte register(a) f) {
      clc
      adc os_RTCLOK.b2
      .rt_check:
      cmp os_RTCLOK.b2
      bne .rt_check
      rts
    }
    
    
    void printAt(byte x, byte y, byte i) {
    	poke(84, y)
    	poke(85, x)
    
    
    	putword(i)
    	putstrz("   "z)
    }
    
    
    void main() {
    	byte pX
    	byte pY
    	byte joy
    
    
    	byte posFrame
    	byte curTime
    
    
    	word curFrame0
    	word curFrame1
    	word curFrame2
    	
    	sprInit()
    
    
    	putstr(titleStr , titleStr.length)
    	new_line()
    	putstrz("Use JoyStick, LOOK!"z)
    	new_line()
    
    
    	pX = 120
    	pY = 116
    	putstrz("PosX: "z)
    	putword(pX)
    	new_line()
            putstrz("PosY: "z)
    	putword(pY)
    	new_line()
    	joy = peek(632)
    	putstrz("JoyStick: "z)
    	putword(joy)
    
    
    	posFrame = 0
    	curTime = aTime[posFrame]
    	curFrame0 = aFrames0[posFrame]
    	curFrame1 = aFrames1[posFrame]
    	curFrame2 = aFrames2[posFrame]
    
    
    	sprShow(0, curFrame0, heroSpr0a.length, color0, pX, pY)
    	sprShow(1, curFrame1, heroSpr1a.length, color1, pX, pY+7)
    	sprShow(2, curFrame2, heroSpr2a.length, color2, pX, pY+11)
    
    
    	while (true) {
    		wait(1)
    		joy = peek(632)
    
    
    		if (joy == 11 || joy == 10 || joy == 9) {
    			pX -= 1
    		} else if (joy == 7 || joy == 6 || joy == 5) {
    			pX += 1
    		}
    		if (joy == 14 || joy == 10 || joy == 6) {
    			pY -= 1
    		} else if (joy == 13 || joy == 9 || joy == 5) {
    			pY += 1
    		}
    		if (joy != 15) {
    			sprShow(0, curFrame0, heroSpr0a.length, color0, pX, pY)
    			sprShow(1, curFrame1, heroSpr1a.length, color1, pX, pY+7)
    			sprShow(2, curFrame2, heroSpr2a.length, color2, pX, pY+11)
    			printAt(8, 2, pX)
    			printAt(8, 3, pY)
    			printAt(12, 4, joy)
    		} else {
    			printAt(12, 4, joy)
    		}
    
    
    		curTime -= 1
    		if (curTime == 0) {
    			posFrame += 1
    			if (posFrame == aTime.length) {
    				posFrame = 0
    			}
    			curTime = aTime[posFrame]
    			curFrame0 = aFrames0[posFrame]
    			curFrame1 = aFrames1[posFrame]
    			curFrame2 = aFrames2[posFrame]
    			
    			sprShow(0, curFrame0, heroSpr0a.length, color0, pX, pY)
    			sprShow(1, curFrame1, heroSpr1a.length, color1, pX, pY+7)
    			sprShow(2, curFrame2, heroSpr2a.length, color2, pX, pY+11)
                    }
    
    
    	}
    
    
    
    
    }
    блок спрайтов без изменений
    Вложения Вложения
    • Тип файла: zip anima.zip (3.3 Кб, Просмотров: 75)

    Эти 2 пользователя(ей) поблагодарили breeze за это полезное сообщение:

    andrews(26.10.2024), Oleg N. Cher(07.09.2024)

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

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

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

Похожие темы

  1. Ответов: 11
    Последнее: 08.12.2023, 17:18
  2. Bad Apple для MSX/MSX2
    от Pyhesty в разделе MSX
    Ответов: 4
    Последнее: 31.05.2021, 21:45
  3. Перенос игр с Game Boy на ZX Spectrum
    от CityAceE в разделе Программирование
    Ответов: 104
    Последнее: 14.02.2019, 10:56
  4. Game Boy Advance
    от megabyte в разделе Nintendo
    Ответов: 8
    Последнее: 22.05.2006, 14:48
  5. Game Boy Advance в Питере.
    от Surfin_Bird в разделе Nintendo
    Ответов: 10
    Последнее: 21.08.2005, 09:50

Ваши права

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