Joo, muistin vissiin väärin että samasta aiheesta olisi ollut aikaisemminkin juttua mutta en nyt haulla löytänyt joten kysyn.
Eli olen tehnyt kartan näytölle ja luen sen muistiin.
OldMap on kartta ja OldMapC on väri. On dimmattu jnejnejne..
SUB Readmap FOR i = 1 TO 48 FOR i2 = 1 TO 78 OldMap(i, i2) = SCREEN(i, i2) OldMapC(i, i2) = SCREEN(i, i2, 1) NEXT NEXT
Ja nyt haluaisin tulostaa näytölle osan siitä kartasta. Laitetaan vaikkapa 10*10 alue.
Sub DrawMap x = "keskipiste x akselilla" y = "keskipiste y akselilla" FOR q = x - 5 TO x + 5 FOR w = y - 5 TO y + 5 COLOR OldMapC(q, w): LOCATE q, w: PRINT CHR$(OldMap(q, w)) NEXT NEXT
Joo, "LOCATE q,w: PRINT CHR..." tulostaa halutun paikan mutta tulostaa sen sinne missä se oli näytöllä kun se OldMappiin luettiin. Pitäisi siis saada tulostettua se aina niin että tulostus alkaa riviltä 10 ja jatkuu siitä alaspäin.
Etkö voi muuttaa paikkaa ihan vain lisäämällä q:hun ja w:hen jotain?
COLOR OldMapC(q, w): LOCATE q + 10, w: PRINT ...
Ei se oikein onnistu. Siis paikka (10*10 "boksi") on vakio kohdassa ruutua ja kartasta pitäisi aina tulostaa tietty osa siihen boksin alueelle.
edit:
Njoo, muuttujien oikeasta käytöstä se vain kiinni olikin.
Aika sekasotku mutta tulipa tehtyä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.