• Axe Greyscale Tutorial 5 1
Currently:

### Author Topic: Axe Greyscale Tutorial  (Read 9183 times)

0 Members and 1 Guest are viewing this topic.

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Axe Greyscale Tutorial
« on: February 20, 2011, 09:36:05 am »
Introduction
When I was new to Axe programming, I thought greyscale was reserved for extreme coders. I thought that making a greyscale game was really hard and I couldn't possibly do it. However, I noticed most games were greyscale and decided to try to make my first greyscale program. This is a quick guide and tutorial to help you with Axe greyscale.

The first think you need to know is that there are two types of greyscale in Axe. You can have three levels greyscale and four levels greyscale. The first one has three colours: Black, Grey and White. The second one has four colours: Black, Dark Grey, Light Grey and White.

Note: When I say white, I mean nothing, empty, the LCD colour.

We're starting off with three level greyscale since it is more simple and easy to understand.

I assume you've had previous experience in Axe programming, otherwise it will be difficult for you to understand the tutorial from now on.

The basics

Let's start by making your first greyscale program.

I'll post the code right here and then explain:

Code: [Select]
.GRS[FFFFFFFFFFFFFFFF]->Pic15->Y40->XRepeat getKey(15)Pt-On(X,Y,Pic1)rLine(0,63,95,63If Y<55Y+1->YEndDispGraphrClrDrawrEnd
This is what this program will create:

It's a simple program that has greyscale and a gravity engine. It's a small grey square falling until it reaches the black line.

How did I achieve this?

3 Level Greyscale
Most drawing commands in Axe have a similar command followed by an 'r'. This 'r' can be found in 2ND+APPS+3.

The calculator can be divided in two parts, the main buffer (or front buffer) and the back buffer. It's a bit like layers, the back buffer's images will be displayed behind the main buffer's images. The back buffer is also a way to draw greyscale images.

If you had already drawn images on Axe, you probably did something like this:

Pt-On(X,Y,Pic

This draws pictures in the front buffer. The next one draws them in the back buffer:

Pt-On(X,Y,Pic)r

To display mono (black and white) images, you'd use:

DispGraph

For greyscale images you use:

DispGraphr

This is very simple, but where's the greyscale?

Code: [Select]
-----           Black         Grey         WhiteMain Buffer      X                                Back Buffer      X             X
If I draw something to the back buffer only it will be grey, if I don't draw nothing, it'll be white.

If I draw something in the main buffer, it will be black. If I draw something both in the main and the back buffer it'll be black too (example):

Code: [Select]
Pt-On(10,30,Pic1)rPt-On(10,30,Pic1
In three level greyscale, we always use DispGraphr to display images..

Now let's make a four level greyscale program.

4 Level Greyscale

Now that I've thought you the basics, four level greyscale is very easy to understand.

First of all, we use DispGraphrr to display images.

Now, how do we make black, light grey or dark grey images?

Code: [Select]
DispGraphrr:Buffer        BackBuffer        Color                              White               X              Light GreyX                             Dark GreyX              X              Black
Here's an example of a black sprite, a light grey sprite and a dark grey sprite in order:

Code: [Select]
Pt-On(50,40,Pic1)rPt-On(50,40,Pic1Pt-On(0,0,Pic2)rPt-On(0,40,Pic3

When you want to clear the back buffer, you also need to use the r:

ClrDrawr

Conclusion

I want to thank BuilderBoy who taught me greyscale originally (he doesn't know he did, but he did).

If you have any doubts, you can PM me or respond to the topic, someone or me will help you out.

Attachments

Attached is Zip File with the source and executable program we made here in the first place and the screenshot.
« Last Edit: February 20, 2011, 09:46:36 am by Scout »

#### Happybobjr

• James Oldiges
• LV11 Super Veteran (Next: 3000)
• Posts: 2325
• Rating: +128/-20
• Howdy :)
##### Re: Axe Greyscale Tutorial
« Reply #1 on: February 20, 2011, 10:27:16 am »
wow, that is a simple gravity engine
« Last Edit: February 20, 2011, 10:27:32 am by Happybobjr »
School: East Central High School

Axe: １.０.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe Greyscale Tutorial
« Reply #2 on: February 20, 2011, 11:07:36 am »
wow, that is a simple gravity engine

Thanks

I should make a .pdf too.

#### p2

• Posts: 848
• Rating: +51/-11
• I'm back :)
##### Mistake in Tutoreal?
« Reply #3 on: June 21, 2011, 12:57:36 pm »
http://www.omnimaga.org/index.php?action=articles;sa=view;article=55
That's the Tutoreal for Greyscale

Code: [Select]
.GRS[FFFFFFFFFFFFFFFF]->Pic15->Y40->XRepeat getKey(15)[size=12pt][font=Verdana][b]Pt-On(X,Y,Pic1)r[/b][/font][/size]Line(0,63,95,63If Y<55Y+1->YEndDispGraphrClrDrawrEndThat's what it should do:

But I thought Pkt-on( isn't possible in Axe and that it must be Pxl-On(
What's correct, now?

And what's the r in  Pt-On(X,Y,Pic1)r ??
Is it a special command, and if it is, where can I find it?

*insert supercool signature*

#### ztrumpet

• The Rarely Active One
• CoT Emeritus
• LV13 Extreme Addict (Next: 9001)
• Posts: 5712
• Rating: +364/-4
• If you see this, send me a PM. Just for fun.
##### Re: Axe Greyscale Tutorial
« Reply #4 on: June 21, 2011, 12:58:48 pm »
New topic merged with "official" discussion topic.
« Last Edit: June 21, 2011, 01:00:45 pm by ztrumpet »
If I'm wrong, please correct me!
Unfinished Projects:
 Elmgon 14% Basic Movement Demo Homescreen Game Pack 80% Basic Latest Release Cube Droid Saves the Galaxy 65% Axe Demo Detonate 70% Axe
Completed Projects:
Exodus | Midnight |Drifter | Axe Snake | Jump! | Factory Theta | Spider | Plot Drop | Papi Jump | Numb3rs | Nibbler | Boost | Duel Tile Map Editor | Homescreen Map Editor | Key Group Check | Oasis

#### Michael_Lee

• LV9 Veteran (Next: 1337)
• Posts: 1019
• Rating: +124/-9
##### Re: Axe Greyscale Tutorial
« Reply #5 on: June 21, 2011, 01:01:20 pm »
Nope, it's correct.

Pxl-On turns on a single pixel on the screen.

Pt-On draws an 8x8 sprite (basically, a small image) on the screen.

Also, the 'r' is the small r that floats in the air.  You can find it by pressing [2ND] [ANGLE] [3].
(You can find the [ANGLE] button in blue over [APPS]).
My website: Currently boring.

Projects:
Axe Interpreter
> Core: Done
> Memory: Need write code to add constants.
> Graphics: Rewritten.  Needs to integrate sprites with constants.
> IO: GetKey done.  Need to add mostly homescreen IO stuff.
Croquette:
> Stomping bugs
> Internet version: On hold until I can make my website less boring/broken.

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe Greyscale Tutorial
« Reply #6 on: June 21, 2011, 01:04:12 pm »
The tutorial in the tutorial page has a few errors with the BB Code, like lack of code tags and has a huge space below tutorial.

#### Jonius7

• python! Lua!
• LV10 31337 u53r (Next: 2000)
• Posts: 1918
• Rating: +82/-18
• Still bringing new dimensions to the TI-nspire...
##### Re: Axe Greyscale Tutorial
« Reply #7 on: October 14, 2011, 07:23:44 am »
I read it the first time a few months ago when this tutorial was kinda new and didn't really get it. Now I read it properly and it actually sounds really simple! This is a great tutorial for Axe and a pretty important one too.
 Programmed some CASIO Basic in the pastDJ Omnimaga Music Discographist DJ Omnimaga DiscographyMy Own Music!
My Released Projects (Updated 2015/05/08)
 TI-nspire BASICTI-nspire Hold 'em Health Bar Scissors Paper Rock TI-nspire LuaNumstrat TI-nspire Hold 'em LuaTransport ChooserSecret Project (at v0.08.2 - 2015/05/08) Spoiler For Extra To-Be-Sorted Clutter: Spoiler For Relegated Projects: TI-nspire BASICBattle of 16s (stalled) | sTIck RPG (stalled) | Monopoly (stalled) | Cosmic Legions (stalled)Axe ParserDoodle God (stalled while I go and learn some Axe)

#### Stefan Bauwens

• Creator of Myst 89 - סטיבן
• LV10 31337 u53r (Next: 2000)
• Posts: 1799
• Rating: +162/-24
• 68k programmer
##### Re: Axe Greyscale Tutorial
« Reply #8 on: October 18, 2011, 05:37:53 am »
Quote
Code: [Select]
Pt-On(50,40,Pic1)rPt-On(50,40,Pic1Pt-On(0,0,Pic2)rPt-On(0,40,Pic3
Very nice tutorial and very easy to understand! But what I don't understand on the above is why we have different pics(pic1,pic2 and pic3). If they do have different values what are they?

Very proud Ticalc.org POTY winner (2011 68k) with Myst 89!
Very proud TI-Planet.org DBZ winner(2013)

Interview with me

#### Yeong

• Not a bridge
• LV12 Extreme Poster (Next: 5000)
• Posts: 3739
• Rating: +278/-12
• Survivor of Apocalypse
##### Re: Axe Greyscale Tutorial
« Reply #9 on: October 18, 2011, 06:19:15 am »
Pic1 is meant to be a monochrome data,so you put same sprite data at both buffer. The other one is meant to be a greyscale, so different sprite data at both buffer.
Sig wipe!

#### Munchor

• LV13 Extreme Addict (Next: 9001)
• Posts: 6199
• Rating: +295/-121
• Code Recycler
##### Re: Axe Greyscale Tutorial
« Reply #10 on: October 18, 2011, 10:17:25 am »

#### turiqwalrus

• Posts: 840
• Rating: +51/-2
• Wheeeeeee~!
##### Re: Axe Greyscale Tutorial
« Reply #11 on: October 18, 2011, 10:37:26 am »
But I thought Pkt-on( isn't possible in Axe and that it must be Pxl-On(
What's correct, now?
And what's the r in  Pt-On(X,Y,Pic1)r ??
Is it a special command, and if it is, where can I find it?
Pt-On(Xlocation,Ylocation,sprite data in hexadecimal) is the format, I believe(it's for drawing sprites.)
the r means to draw the sprite in the 'backbuffer', and it is found in the angle menu([2nd][APPS][3])
let me know if that helps
« Last Edit: October 18, 2011, 10:37:52 am by turiqwalrus »

#### Jonius7

• python! Lua!
• LV10 31337 u53r (Next: 2000)
• Posts: 1918
• Rating: +82/-18
• Still bringing new dimensions to the TI-nspire...
##### Re: Axe Greyscale Tutorial
« Reply #12 on: October 20, 2011, 09:39:25 am »
The r is also used to display 3 colour greyscale: DispGraphr. rr which is used to show 4 colour greyscale: DispGraphrr
« Last Edit: October 21, 2011, 12:33:52 am by Jonius7 »
 Programmed some CASIO Basic in the pastDJ Omnimaga Music Discographist DJ Omnimaga DiscographyMy Own Music!
My Released Projects (Updated 2015/05/08)
 TI-nspire BASICTI-nspire Hold 'em Health Bar Scissors Paper Rock TI-nspire LuaNumstrat TI-nspire Hold 'em LuaTransport ChooserSecret Project (at v0.08.2 - 2015/05/08) Spoiler For Extra To-Be-Sorted Clutter: Spoiler For Relegated Projects: TI-nspire BASICBattle of 16s (stalled) | sTIck RPG (stalled) | Monopoly (stalled) | Cosmic Legions (stalled)Axe ParserDoodle God (stalled while I go and learn some Axe)

#### p2

• Posts: 848
• Rating: +51/-11
• I'm back :)
##### Re: Axe Greyscale Tutorial
« Reply #13 on: October 20, 2011, 11:54:54 am »
How many "r"s can you max. use?
DispGraphrrrrrrrrrrrrrrrrrrrrr isn't possible, right?
*insert supercool signature*

#### Yeong

• Not a bridge
• LV12 Extreme Poster (Next: 5000)
• Posts: 3739
• Rating: +278/-12
• Survivor of Apocalypse
##### Re: Axe Greyscale Tutorial
« Reply #14 on: October 20, 2011, 11:55:23 am »
2
Sig wipe!