Вокруг ZX Spectrum 1991 г.

Программа «Мультипликатор»


Программа предназначена для создания, просмотра и записи на магнитофон мультфильмов. Управляющие клавиши: Q - движение курсора вверх. А - движение курсора вниз. О - движение курсора влево. Р - движение курсора вправо. Курсор - это мигающая точка, в начале работы находится в левом нижнем углу экрана. CapsShift+U - установка курсора по координатам; CapsShift+K - запись кадра в память. По этой команде запоминаются все изменения произошедшие на экране со времени предыдущего выполнения этой команды. CapsShift+P - режим перемещения курсора без изменения экрана; CapsShift+R - режим рисования; Т - режим ускоренного перемещения курсора без изменения экрана; CapsShift+T - выход из режима ускоренного перемещения; CapsShift+Z - запись на магнитофон составленного мультфильма или его части (запись предлагается также при переполнении буфера). CapsShift+I - изменение цвета (цвет вводится номером 0 - 7). CapsShift+L - просмотр мультфильма. CapsShift+C - очистка экрана. Пример составления простою мультфильма. В мультфильме нужно изобразить человека взмахивающего рукой. Сначала рисуем человека в исходном состоянии и записываем этот кадр в память (CapsShift+K). Далее стираем у него руку и рисуем ее в новом положении. Записываем в память этот кадр. И таким-же образом еще несколько кадров. При просмотре (CapsShift+L) вы увидите человека у которого изменяется положение руки. Примечание. В программе не предусмотрены проверки при вводе цвета и координат, поэтому их неправильный ввод может вызвать ошибку. 1 DATA 65000,4 2 DATA «64010000798479842178691100400100131 ABE280F77E52AEEFD73237223772313» 3 DATA «22EEFDE123130B78B120E6C921004011 786901001BEDB0C90179842AEEFDEB211B» 4 DATA «00007AB820047BB928060303032318 F2ED4BE8FD1807ED4BE8FD2AEAFDEB2179DD» 5 DATA «84C5C1C50B78B120FB7AB3280 A4E2346237E23021В18EBC1C900A2» 6 PRINT "wait": GO SUB 9990 19 CLEAR 26999: LET rf=1: LET w=20: LET c=0: CLS: LET n=199: LET x=0: LET y=0: LET i=0 20 RANDOMIZE USR 65044 60 LET a$=INKEY$ 65 IF a$="t" THEN LET rf=10: LET zxc=n: LET n=990 66 IF a$="T" THEN LET rf=l: LET n=zxc 70 IF a$="U" THEN GO SUB 350: GO TO 60 75 IF a$="K" THEN GO SUB 4000: GO TO 60 77 IF a$="L" THEN RANDOMIZE USR 65056: GO TO 60 80 IF a$=”C" THEN CLS: GO TO 60 85 IF a$=”Z" THEN GO SUB 5000: GO TO 60 90 IF a$="R" THEN LET n=199: GO TO 60 100 IF a$="S" THEN LET n=230: GO TO 60 110 IF a$="I” THEN GO SUB 360: GO TO 60 115 IF a$=”P” THEN LET n=990: GO TO 60 120 IF a$="H” THEN FOR x=l TO 13: PRINT #0; AT 0,0;q$(x): PAUSE 0: NEXT x 130 IF a$="q” THEN LET y=y+rf 140 IF a$=”o" THEN LET x=x-rf 150 IF a$="a" THEN LET y=y-rf 160 IF a$="p" THEN LET x=x+rf 180 LET asw=22528+(x/8)+32+((192-y)/8): LET attr=PEEK asw 181 IF y<0 THEN LET y=174 182 IF y>175 THEN LET y=0 183 IF x>255 THEN LET x=0 184 IF x<0 THEN LET x=255 190 LET asw=22528+INT (x/8)+32*INT ((175-y)/8): LET attr=PEEK asw 196 GO TO n 197 GO SUB 990 199 PLOT INK i;x,у 205 PRINT #0;AT 0,0;« »,« » 210 PRINT #0;AT 0,0;x,y 225 GO TO 60 230 GO SUB 990 232 PLOT INVERSE l;x,у 245 PRINT #0;AT 0,0;" "," " 250 PRINT #0;AT 0,0;x,y 255 GO TO 60 350 PRINT #0;AT 0,0;"WWEDITE KOORDINATY ";: PAUSE 0: INPUT x,y: RETURN 360 PRINT #0;AT 0,0;«WWEDITE CWET»;: PAUSE 0: INPUT i; RETURN 990 LET fg=POINT (x,y): LET w=20: LET c=0 992 LET a$=INKEY$ 993 IF w>0 THEN LET w=w-l: GO TO 1000 995 LET w=20: LET c=l-c 1000 PLOT INVERSE c;x,у 1005 IF a$<>”" THEN GO TO 1020 1010 GO TO 992 1030 PLOT INVERSE l-fg;x,y: IF N=990 THEN GO TO 60 1040 RETURN 4000 IF PEEK 65006+256*PEEK 65007>63G00 THEN GO SUB 5000 4010 RANDOMIZE USR 65008 4030 RETURN 5000 LET adr=PEEK 65004+256*PEEK 65005: LET adrl=PEEK 65006+256*PEEK 65007: SAVE «cod»CODE adr,adrl-adr 5020 POKE 65006,PEEK 65004: POKE 65007,PEEK 65005: RETURN 9990 RESTORE 1 9993 READ a,S: FOR f=1 TO S 9994 READ 1$: LET 1=LEN 1$: LET s=0: LET k=2 9995 LET a$=l$(k-l): LET b$=l$(k) 9996 LET c=(CODE a$-48-(7*(a$>"@")))*16+CODE b$-48-(7* (b$>"@">) 9997 IF k<1 THEN POKE a,c: LET s=s+c: LET k=k+2: LET a=a+1: GO TO 9995 9998 IF s-256*INT (s/256)<>c THEN PRINT "error in string";f+l: STOP 9999 NEXT f: RETURN Текст программы просмотра мультфильма, записанного на магнитофон 1 DATA 60000,6 2 DATA «С30ВЕВ1103003EFFB737DD2131EB08F33E 0FD3FE213F05E5DBFE1FE620CD6F3CEB» 3 DATA «BFC0CDE70530FA21690010FE2B7CB520F9 CDE30530EB069CCDE30530E43EC6B866» 4 DATA «30E02420F106C9CDE70530D578FED430F4C DE705D079EE034F260006B0181F089D» 5 DATA «2007300FDD7500180FCB11ADC0791F4F 131807DD7E00ADC0DD231B0806B22E0113» 6 DATA «CDE305D03ECBB8CB1506B0D2E0EA7CAD6 77AB320CAE53A33EB2A31EB77DD213148» 7 DATA «EB110300E108DD750018CD111200DD2117 EBAF37C356050046» 20 GO SUB 9993 40 RANDOMIZE USR 60000 50 RANDOMIZE USR 60003 60 GO TO 40 9993 READ a,S: FOR f=1 TO S 9994 READ 1$: LET 1=LEN 1$: LET s=0: LET k=2 9995 LET a$=1$(k-1): LET b$=1$(k) 9996 LET c=(CODE a$-48-(7*(a$>"@")))*16+CODE b$-48-(7*(b$>"@")) 9997 IF k<1 THEN POKE a,c: LET s=s+c: LET k=k+2: LETa=a+1: GO TO 9995 9998 IF s-256*INT (s/256)<>c THEN PRINT "error in string";f+1: STOP 9999 NEXT f: RETURN


СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Железяки - Доработанная схема подмены ПЗУ на КЭШ.
ZX-Обоз - Ирландские частушки - лимерики.
Enlight'96 - Kano рассказывает о будущих проектах и своих протеже.
Crack`em all - Эффективное иcпользование "теневика"
Введение - Создание Technology insys.

В этот день...   29 апреля