- 注册时间
- 2005-1-15
- 最后登录
- 1970-1-1
|
当初在高中时一直在编BAS游戏,经常到各大论坛上看,后来升大学了,由于有了手机,就把文曲星搁浅了。
前几天手机丢失,英语四级考试在即,于是又拿起了文曲星,发现里面以前编的程序,突然又有做游戏的激情了,可是发现自己忘了很多东西。
于是到各论坛,想查找相关的资料,发现文曲星空间站在维修,而主站和易码都换了风格,很多附件丢失,文字也有错,根本无从查找。
=================
注:我的文曲星是NC3000
=================
1)有比较全面一点的NC3000的PEEK,CALL表吗?
2)有比较详细点的批量法或速读法的教程吗?具体如何操作能详细说说吗?
比如说我在屏幕上画了一幅画,如何才能让这个滚屏读图器读取?
10 DATA (数据)
20 DATA (数据)
30 DATA (数据)
40 FOR I=20480 TO 20529:READ A: POKE I,A:FOR I=20560 TO 20571:READ A: POKE I,A
50 NEXT GRAH
60 INPUT "START PIC NUM:";SPN:INPUT "END PIC NUM:";EPN:CLS: POKE 801,SPN: POKE 802 EPN+1
70 OPEN "L" FOR RANDOM AS#1 LEN=20
80 FIELD #1,1 AS A$:SPN=PEEK(801):EPN=PEEK(802):FOR I=704 TO 803: POKE I,O:NEXT
90 FOR K=SPN*80-79 TO EPN*80-81
100 GET #1,K:CALL 20560:CALL 20480
110 NEXT K:GET #1,80*EPN-80:CALL 20560
3)如果我把一幅图片以以上读图器能读的格式存到DAT文件中,如何在它后面继续存N幅图片?好像不能用APPEND吧?最多能存多少幅?
4)在红色激情的《我是大角》中,可以在任意指定为止显示自己画的地图块,好像是16*16的吧?那能不能在任意位置显示任意大小的图块呢?如果不行,那有哪些大小的可以?(有32*32和8*8的最好)
5)关于2和3,还有个问题,当初好像用那种方法可以在BAS上实现灰度图,应该是连续在屏幕上显示图片吧。请问那个程序该怎么编?
================================
我看了以下的文章,附加一个:
================================
GVB显图4法(总结) --shuyufeng
注:仅测试过NC2600c
地址说明:
6592~8191: (图形缓冲区)
24575~24575-N: (GVB数据存储区.N为数据长度.注:该区数据由尾至头存储)
1.直接读取: (极速显图法)
如:
10 OPEN "XXX" FOR RANDOM AS#1 LEN=100
20 POKE 26254,192: POKE 26258,25:REM 读到图片显存
30 POKE 26262,64: POKE 26267,6:REM 每次读的大小
40 P=LOF(1)/1600-1:REM 图片张数
50 FOR Q=0 TO P
60 SE=Q*1600:REM 读文件的位置.当SE以20为步长递增或递减时可以实现滚图(SE=定值*1600+N:N=N+20)
70 H=INT(SE/256): L=SE-H*256
80 POKE 47446,L: POKE 47447,H:CALL 26207
90 NEXT:GOTO 20
注:贼快的方法.简单强大.显示b16图片效果也不错.该法单图DATA文件大小:1600
2.批量法(有点难度.被我称为欺骗法)
说明:当GVB中出现A$="XXX"等语句时GVB会把A$写入缓存.并记录A$的地址.此法要做的就是改变GVB记下的A$地址.
例:
10 CLEAR:CLS
20 A$="":B$=""
30 A=47302: DS=PEEK(A)+PEEK(A+1)*256:REM DS---第20条语句中A$&B$等的开始地址
40 POKE DS+2,200:REM A$的字符串长度
50 POKE DS+3,LD: POKE DS+4,HD:REM HD*256+LD=字符串开始地址
60 POKE DS+7,200: REM B$字符串的长度
70 POKE DS+8,192: POKE DS+9,2:REM 2*256+192=704(字符缓存开始地址)
80 LEST B$=A$: POKE 914,1: PRINT: POKE 914,0:END
注: POKE 914,1(显示小字体)POKE 914,0(显示大字体.GRAPH模式下不可用)DATA文件大小1600
3.矩行作图法: (研究中...)
10 POKE 34731,9
20 POKE X+Y*256,N:REM POKE图片数据到内存.X+Y*256为地址
30 POKE 152,X: POKE 153,Y:REM 2k6c好像要POKE 146,X: POKE 147,Y
40 BOX X,Y,X+XX,Y+YY,1,0:REM XX&YY为图片宽与高
=========================
要把以上的方法改为NC3000能用的,要如何修改?
========================
[ 本帖最后由 hdjackie 于 2008-5-18 07:50 编辑 ] |
|