Jump to content
Jet Set Willy & Manic Miner Community

Random Topic - Random colours and routines


Spider

Recommended Posts

Both excellent. Does make my head spin a bit though 😄

I have one too that is a modified version of something I found on a Blog (but I can't find it again and I was not using my own computer I mailed myself a text copy of it!) , so I'll see about posting that tomorrow, once I've 'fixed' it. Its vaguely similar to Norman's 'Shape' , except its written in Basic.

Link to comment
Share on other sites

17 hours ago, Norman Sword said:

I took the visual idea of above and wrote the code in assembler. 

I'm flattered.

You assembler guys really make every byte count. ½kbyte is impressive.

 

Edit:

I found something cute in BASIC.

    2 POKE 23693,0: BORDER 0: CLS : PAPER 8: LET f=USR "b": LET y=32767: FOR x=0 TO 7: LET h=INT (y/256): POKE f-1-x,h: POKE f+7-x,y-256*h: POKE f+16+x,255-h: POKE f+8+x,255-y+256*h: LET y=INT (y/4): NEXT x: LET d=2: LET r=1: FOR j=0 TO 1 STEP 0: LET t=r+2: LET l=r+1: PRINT AT y,x; INK t;"\a\b\d\c";AT y+1,x; PAPER t; INK l;"\d\c"; INK r;"\a\b";AT y+2,x; PAPER l; INK l;"**"; INK r; PAPER r;"**";AT y+3,x; INK 8; PAPER l;"\d\c"; PAPER r;"\a\b": FOR k=0 TO 1 STEP 0: LET v=-2: LET w=1: IF d=0 THEN LET v=0: LET w=-2
    4 IF d=2 THEN LET v=2
    5 LET e=d: IF y+w<0 OR y+w>18 OR x+v<0 OR x+v>28 OR RND>.9 THEN FOR z=0 TO 1 STEP 0: LET e=INT (RND*3): IF e=d THEN NEXT z
    6 IF d<>e THEN LET d=e: NEXT k
    7 LET x=x+v: LET y=y+w: LET r=5-r: NEXT j

 

block.tap

Edited by JianYang
Avoid double post
Link to comment
Share on other sites

1 hour ago, MtM said:

Almost QBert that JianYang!

Have vague memories of it from the arcade. I did find Spellbound (Beyond Software) which is a similar clone and not a bad game all-in-all.

 

On topic:

10 BORDER 0 : PAPER 0 : INK 7 : CLS
20 LET T=0
30 LET X=RND*255 : LET Y=RND*175
40 IF (RND*10) > 3 THEN LET T=1
50 PLOT INK RND*7 ; INVERSE T ; X,Y
60 GOTO 20

Preview:

stars.gif

Tape:

stars.tap

Not efficiently written. Wrote it in a moment while thinking what to put after my opening sentence as I wanted to 'add something'. Will be better in assembly by a long margin (plus that means ease of lower screen plotting via direct altering of 16384-22527) however for now run emulation at high speed perhaps. 🙂

Link to comment
Share on other sites

On 6/3/2021 at 7:42 PM, Norman Sword said:

The real purpose of writing this was to show the size difference between C and assembler.

Do you have some irrational anger against C? That's not meant as an allegation. I have some irrational anger against Java and Python myself.

3 hours ago, MtM said:

Almost QBert that JianYang!

It was meant as an homage to "isometric" spectrum games like Ant Attack, Knight Lore and Head Over Heels. I guess by making it more colourful, I ruined that a bit.

2 hours ago, Spider said:

I did find Spellbound (Beyond Software) which is a similar clone and not a bad game all-in-all.

There are too many games called Spellbound for the speccy.

Do you have a specific purpose for these eye candy programs? I remember you starting a similar thread on WOS, about type-ins for unwatched spectrums (that's where the block thing originated, I could never get it short enough though).

Your stars demo reminded me of blinkenlights, so I tried to maximize that impression by aligning everything to a 2x2 grid. I don't know if it helped.

blinkenlights.tap

Link to comment
Share on other sites

15 hours ago, JianYang said:

There are too many games called Spellbound for the speccy.

Only three, potentially two. ? 🙂 Quite possible have missed one out, I'm -sure- there was some early text adventure with this title, but it may well of been on another platform entirely.

Spellbound (Beyond) the QBert type of game

Spellbound (Mastertronic) Magic Knight etc

Spellbound Dizzy (CodeMasters) platformy game. Never tried it!

15 hours ago, JianYang said:

Do you have a specific purpose for these eye candy programs? I remember you starting a similar thread on WOS, about type-ins for unwatched spectrums (that's where the block thing originated, I could never get it short enough though).

Not really other than its a bit of harmless fun. No routine in this topic would be laughed at for being too crude or poorly written, if it works it works.

The topic died a death on WOS, eons ago. I did consider a new one on SpectrumComputing but thought "what the hell, I might as well have one here" as it is chat for both on and off topic subjects, plus it gives those who may not frequent too many other forums the chance to see/comment on things here. 🙂

15 hours ago, JianYang said:

Your stars demo reminded me of blinkenlights, so I tried to maximize that impression by aligning everything to a 2x2 grid. I don't know if it helped.

Oh it does. I like it! 🙂 I did consider doing something a bit larger but gave up on it.

Link to comment
Share on other sites

Just another quick one 😉

"Quarter Graphics"

Using the built in graphics codes for a quarter 8x8 cell fill:

129 = Upper Right

130 = Upper Left

132 = Lower Right

136 = Lower Left

Routine firstly chooses a random block from the choice of four above, then picks a random colour ink. At this stage a further test is made. If a random number between 0 and 10 is higher than 7 then the ink is set to black to 'blot out' the cell to be printed.

Next, a small loop is entered with a random number of iterations, between 1 and 3 (to determine how many of which colour to draw) and then in the loop itself a location on screen (0-23 / 0-31) is chosen at random and a further check is done, if the x column is higher than 21 a separate printing routine is called, otherwise its printed simply with AT x,y as normal. The loop then repeats for 1-3 cycles with that same random colour, then the whole code runs again.

Note: This was written quickly, without thought to much speed or efficient Basic. I could write it much neater and with probably a bit more execution speed and certainly without such an untidy layout, however it "does do the job"

I do realise its only pseudo random. The method used to 'print' on lines 22 and 23 does tend to work fine unless certain pieces of addon hardware are present and its far 'safer' than setting 23659 to zero temporarily as well as a risk of a crash that only really allows you to use 22.

Preview pic and tape file:

quarter_attributes.png

quarter_attributes.tap

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.