I need to make this

The place for codemasters or beginners to talk about programming any language for the Spectrum.
Ralf
Dynamite Dan
Posts: 1306
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: I need to make this

Post by Ralf » Fri Jul 19, 2019 8:39 am

I always believed and still believe Spectrum Basic is quite good.

You can easily mix text and graphics. You can easily use colour. You can declare your variables anywhere with any names.
You can use UGD. Believe me it's not granted and many Basic dialects miss this or that functionality.
4 x

User avatar
ZXDunny
Manic Miner
Posts: 242
Joined: Tue Nov 14, 2017 3:45 pm

Re: I need to make this

Post by ZXDunny » Fri Jul 19, 2019 1:36 pm

I have to agree to disagree with AndyC - Sinclair BASIC served me very well for years and I loved it. Yes, it was slow but being able to produce programs with similar graphics to the games (with character movement and general slowness etc) was amazing.

I loved it so much, I remade the BASIC for PCs. I still love it.
0 x

User avatar
1bvl109
Dizzy
Posts: 52
Joined: Tue Jun 04, 2019 8:00 pm

Re: I need to make this

Post by 1bvl109 » Fri Jul 19, 2019 2:20 pm

ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
You could explain that a value in binary equates to a value in decimal.
No need. There are simply bits and they go into an array of the computer we can see. In two steps.

And the Great Programmer said, Let there be 1: and there was 1. And the Great Programmer saw the 1, that it was good: and the Great Programmer divided the 1 from the 0*. And the Great Programmer called the 1 white, and the 0 he called Black. And the evening and the morning were the first day of your class schedule.
ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
You could explain that the screen is just a region of memory, that it sits at $4000 but you can't actually POKE $4000, you have to convert to decimal.
I'm not using POKE, it's a false God invented by the Decimalist sect. May the Great Programm have mercy on them, though them Perverts surely don't deserve any mercy, for they are wicked in their hearts. But this just shows how incredible merciful he is.
ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
And then finally explain that they need to go back to the thirds/8 pixel gap ...
It is a common misconception that us true members of the Great Assembly of the Great Assembly refuse to use code we have not written. We are not even recursive at all times, because we are only recursive in times in which we are recursive.

Maybe you are not asked to explain, some sinister PLOT - where do you even get the idea, that toddlers know of such things? Gunpowder and treason be on you! -, but how things move on the screen. There is thing called INC (or use the opcode, if you don't want to bother the kid with the somewhat strange concept of letters) this INC gives us the position right of the former one. We already know how to make patterns appear. Now the pattern has doubled. So we use our power of making black and white in His name, to white the left one out. .

And what actually is INC. Well it is simply an add ... aaaah ... you are not getting me that easily.

INC simply is replacing the 0 that is in the rightmost position with 1.
There most be a 0, 'cus otherwise there'd be a 1. And there cant' be a 1 because ... oh sh*t**.
Ok, this can actually happen. Than we change the 1 to a 0, and see, if we can a execute our cunning plan on the 0 on the left hand side. WHAT? Yeah ... yeah ... that actually could be 1, but look, just how probable ... ok ... ok we set it to 0 and we set the 0 left to this one to ... Oh come on now! You are just doing this on purpose. I don't have to respond to these obscene demands. Oh every gracious Great Programmer help me, as I'm tortured by evil spirited BASICERS. Yeah, that's a pleonasm. So what? ... Back to the the facts now please, for we of the Great Assembly feel only abhorrence towards pompous talk. Well, you just do as described with the 0 left to that and - ha! I foresaw this chicanery - if there should be a 1 you go one like this What? Still question? What if all the bits are 1s? Your' done. And that's that.

Simply believe me that solves an awful lot of problems, at least you will instantly feel better.
ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
Or you could explain that PLOT x,y will do the same job.
To give the job description the child already has to understand Cartesian coordinates.
They are not even the target audience.

And honestly, how often did you see a child ask you how to draw a line between points on the screen instead of - say - asking how a video game works. And if the question is about lines, will you hear decimal numbers or will they point to the screen?
ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
Disclaimer: I'm teaching my seven year old son to code; there's no way he'll grasp asm when he is just now figuring out how binary works. BASIC first, then the hard stuff (machine code) much later.
Because he already accepted decimal as the norm. Shouldn't us freaks know best that BCD is a senseless complicated way to internally represent numbers, only of value in special cases e.g. if you have a character oriented numerical display to serve like here Image. And IIRC this one is actually based on a matrix like the Spectrums keyboard.

Foornotes
* not "by the 0". This is a common misconception by nonbelievers, which causes literally infinite trouble.
** with small kids of course I always talk asterixed.
0 x
"Truth would quickly cease to be stranger than fiction, once we got used to it." - H.L. Mencken

User avatar
Spud
Microbot
Posts: 193
Joined: Sun Nov 12, 2017 8:50 pm

Re: I need to make this

Post by Spud » Fri Jul 19, 2019 2:36 pm

Nope, sorry, you lost me totally.
0 x

User avatar
1bvl109
Dizzy
Posts: 52
Joined: Tue Jun 04, 2019 8:00 pm

Re: I need to make this

Post by 1bvl109 » Fri Jul 19, 2019 3:16 pm

AndyC wrote:
Fri Jul 19, 2019 6:01 am
You can learn BASIC faster than assembly, that is literally the point of it.
It is faster to learn. Than FORTRAN.

"The new language was heavily patterned on FORTRAN II; statements were one-to-a-line, numbers were used to indicate the target of loops and branches, and many of the commands were similar or identical. However, the syntax was changed wherever it could be improved. For instance, the difficult to remember DO loop was replaced by the much easier to remember FOR I = 1 TO 10 STEP 2, and the line number used in the DO was instead indicated by the NEXT I.[a] Likewise, the cryptic IF statement of Fortran, whose syntax matched a particular instruction of the machine on which it was originally written, became the simpler IF I=5 THEN GOTO 100. These changes made the language much less idiosyncratic while still having an overall structure and feel similar to the original FORTRAN."

https://en.wikipedia.org/wiki/BASIC
AndyC wrote:
Fri Jul 19, 2019 6:01 am
But Sinclair BASIC is a crap implementation, ...
I'm not sure.

Show of hands please. Why didn't more people learn assembler?
Was it
1. their satisfaction with basic
2. no literature provided with the computer
3. no IDE provided with the computer
4. no possibility of sensible debugging, instead
5. a machine which hangs on the slightest error?

I don't opt for Nr. 1.
0 x
"Truth would quickly cease to be stranger than fiction, once we got used to it." - H.L. Mencken

User avatar
Spud
Microbot
Posts: 193
Joined: Sun Nov 12, 2017 8:50 pm

Re: I need to make this

Post by Spud » Fri Jul 19, 2019 3:18 pm

Show of hands please. Why didn't more people learn assembler?
Was it
1. their satisfaction with basic
2. no literature provided with the computer
3. no IDE provided with the computer
4. no possibility of sensible debugging, instead
5. a machine which hangs on the slightest error?

I don't opt for Nr. 1.
It was most likely:

6. Too busy playing Jet Set effing Willy.
1 x

User avatar
R-Tape
Site Admin
Posts: 2580
Joined: Thu Nov 09, 2017 11:46 am

Re: I need to make this

Post by R-Tape » Fri Jul 19, 2019 3:47 pm

1bvl109 wrote:
Fri Jul 19, 2019 3:16 pm
Show of hands please. Why didn't more people learn assembler?
Was it

2. no literature provided with the computer
3. no IDE provided with the computer
BITD my experience of assmebler* and machine code were just mystical lists that no normal human could possibly understand. But getting beyond that, I guess 2 & 3 would have applied most if I was a bit older and willing to try. With good reading material and an easy way to get the code into the Spectrum (thank god for the SPIN assmebler!) - it's surprisingly do-able.
Spud wrote:
Fri Jul 19, 2019 3:18 pm
6. Too busy playing Jet Set effing Willy.
Heh. And this^ of course.

...and this:

7. Too busy playing Microbot.

*I keep typing that by mistake, I'm going to stop correcting it.
0 x

Ralf
Dynamite Dan
Posts: 1306
Joined: Mon Nov 13, 2017 11:59 am
Location: Poland

Re: I need to make this

Post by Ralf » Fri Jul 19, 2019 3:51 pm

INC simply is replacing the 0 that is in the rightmost position with 1.
There most be a 0, 'cus otherwise there'd be a 1. And there cant' be a 1 because ... oh sh*t**.
Ok, this can actually happen. Than we change the 1 to a 0, and see, if we can a execute our cunning plan on the 0 on the left hand side. WHAT? Yeah ... yeah ... that actually could be 1, but look, just how probable ... ok ... ok we set it to 0 and we set the 0 left to this one to ... Oh come on now! You are just doing this on purpose. I don't have to respond to these obscene demands. Oh every gracious Great Programmer help me, as I'm tortured by evil spirited BASICERS. Yeah, that's a pleonasm. So what? ... Back to the the facts now please, for we of the Great Assembly feel only abhorrence towards pompous talk. Well, you just do as described with the 0 left to that and - ha! I foresaw this chicanery - if there should be a 1 you go one like this What? Still question? What if all the bits are 1s? Your' done. And that's that.
Man, I don't know what you're smoking but I want it too :D
0 x

User avatar
ZXDunny
Manic Miner
Posts: 242
Joined: Tue Nov 14, 2017 3:45 pm

Re: I need to make this

Post by ZXDunny » Fri Jul 19, 2019 4:24 pm

1bvl109 wrote:
Fri Jul 19, 2019 2:20 pm
ZXDunny wrote:
Thu Jul 18, 2019 9:55 pm
Or you could explain that PLOT x,y will do the same job.
To give the job description the child already has to understand Cartesian coordinates.
They are not even the target audience.

And honestly, how often did you see a child ask you how to draw a line between points on the screen instead of - say - asking how a video game works. And if the question is about lines, will you hear decimal numbers or will they point to the screen?
They'll point to the screen. My son did. I taught him about DRAW, which is fine. He already knows about cartesian coordinates, as they've done graphs in their maths lessons. Strangely enough, they haven't been taught binary, register usage, esoteric display layouts or bit-patterns. As I said, he's 7 years old.

He is drawing circles with PLOT and trig, not because he understands SIN/COS (and try teaching him how to do that in asm) but because I gave him the formula for drawing a circle.

I started teaching him to code because he wanted to know how games are made. And without getting the BASICs down first, there's no way on earth he will understand assembler.
0 x

User avatar
1bvl109
Dizzy
Posts: 52
Joined: Tue Jun 04, 2019 8:00 pm

Re: I need to make this

Post by 1bvl109 » Fri Jul 19, 2019 5:04 pm

R-Tape wrote:
Fri Jul 19, 2019 3:47 pm
Spud wrote:
Fri Jul 19, 2019 3:18 pm
6. Too busy playing Jet Set effing Willy.
Heh. And this^ of course.
So we have reached common ground, At long last.
R-Tape wrote:
Fri Jul 19, 2019 3:47 pm
*I keep typing that by mistake, I'm going to stop correcting it.
Everyone has personal quirks. Mine is, that I don't have them.

Some people even have the quirk of believing I have the quirk of not being able to perceive the other few dozens or so quirks, I presumably have. People are strange. But I must be very important if so many people have a quirk which relates especially to me.
0 x
"Truth would quickly cease to be stranger than fiction, once we got used to it." - H.L. Mencken

Post Reply