Author Topic: Axe tutorial  (Read 12409 times)

0 Members and 2 Guests are viewing this topic.

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Axe tutorial
« on: January 13, 2016, 04:56:27 pm »
When I was learning Axe I couldn't find a good tutorial. All I had to go off of was the included documentation and the command list.
Honestly both were confusing and I had a hard time getting started.
I think if we could put together a good tutorial or at least a little article on each command and how to use it.
There aren't any good tutorials probably because it is too large for anyone, if members could post the articles individually it will be much easier.
Hopefully a good how-to will attract more programmers!

I was thinking an article would look a lot like:

Command: Disp (string),(string)...
Example:
:.EXAMPLE
:Disp "HI!"
 When this is compiled and run it shows:
HI!

... Or something like that...
Is this a good idea or won't it come to anything?

I'm still around... kind of.

Offline Sorunome

  • Fox Fox Fox Fox Fox Fox Fox!
  • Support Staff
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 7920
  • Rating: +374/-13
  • Derpy Hooves
    • View Profile
    • My website! (You might lose the game)
Re: Axe tutorial
« Reply #1 on: January 13, 2016, 04:59:48 pm »
Well, an Axe tutorial would be nice indeed, but what you just said is IMO more like a description of every command, rather than a tutorial, which explains how to use the language and some programming aspects and stuff.

THE GAME
Also, check out my website
If OmnomIRC is screwed up, blame me!
Click here to give me an internet!

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #2 on: January 13, 2016, 05:01:58 pm »
I was thinking to have an intro article explaining pointers and various other things, since once you can grasp the basics all you need is a good explanation of the commands and experience to make cool games and other programs!
I'm still around... kind of.

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Axe tutorial
« Reply #3 on: January 13, 2016, 05:18:59 pm »
This sounds like a good idea! I am hoping to learn Axe and could really use some help! :)
Does this qualify as a signature?
The answer is "Sure."

Offline TIfanx1999

  • ಠ_ಠ ( ͡° ͜ʖ ͡°)
  • CoT Emeritus
  • LV13 Extreme Addict (Next: 9001)
  • *
  • Posts: 6173
  • Rating: +191/-9
    • View Profile
Re: Axe tutorial
« Reply #4 on: January 13, 2016, 05:28:51 pm »
@E37 I think a lot of people would get good use out of something like this.

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #5 on: January 13, 2016, 06:02:38 pm »
Hopefully this is a group effort and not just me.
I will try to add one each day, is anyone willing to do the basics?
I'm still around... kind of.

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Axe tutorial
« Reply #6 on: January 16, 2016, 07:08:10 pm »
Seems like no one is willing to do the basics. I would, but I'm the student, not the teacher, sensei, or guru.
Does this qualify as a signature?
The answer is "Sure."

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #7 on: January 16, 2016, 08:25:33 pm »
Here are the basics:
Numbers in Axe aren’t the nice as-big-as-you-want-with-decimals, rather they are an integer with a range of 0-255 for an 8 bit number or 0-35565 for a 16 bit.
If a number is greater than its max it will loop back to 0.
You can simulate negative numbers though. 255 can act as -1. For example if you add 1 and 255 it will loop back to 0 just like 1 + -1 = 0. This trick works for all numbers, -2 = 254…
In Axe (and a lot of other languages) variables don’t hold numbers, rather they hold a pointer.
A pointer is like a direction to a location. The variable bossHp would contain some number (you don’t need to know what it is) that points the place where the computer stores the number for the boss’s health.
However rather than think about what they are the letter variables (and a few others) act just the way you think they should. If you ask it to display the value of A it will tell you it’s value NOT its pointer.
The most important thing in Axe is lists or as I will call them, arrays. Arrays are just lists of 8 bit numbers (range 0-255). L1 is a pointer to an area of FREE RAM. Free ram is basically areas of memory that the calc uses for various reasons that the ordinary user can’t use. However in programs you can use them. Some areas contain information and using them could produce weird results, I will be using L1 which is actually named saveSScreen which contains no important information.
The first line of code is ALWAYS a period then the name of the program once it is compiled.
Here is how you use them (example code):
:.EXAMPLE
:5->{L1}
:Disp {L1} >Dec
:2 -> {L1+1}
:Disp {L1] >Dec
Once this is compiled and run it will display:
5
2
Okay… so what did I just do? You probably got the 5 and the 2 are the same ones displayed, but what are the {} and the +1 and L1?
L1 is the pointer to the area of memory I want to use, it tells the program where to store the data.
The {} tell the program that I want the value stored there, NOT the pointer.
Finally, the +1 means I want the 2nd item on the list, that way I am not overwriting the first value.
Now, if you didn’t get the correct result here are some reasons what could be wrong…
>Dec is one token it is found under the math menu.
Did you compile the program?
Did you run prgmEXAMPLE ?
Is there a period in front of EXAMPLE (in the program)?
You need to use the Asm( prgmCompliedProgramName) to run the compiled program.

Some things to remember…
The source code (the part you edit) and the executable (the part you run) are separate.
There is a limit on the size of all areas of free ram (nothing has unlimited memory) for L1 / saveSScreen is 712. If you try to modify {L1 + 1000} bad things will happen.
What are those bad things? Well, it will probably corrupt you RAM. What is that? You can tell if your RAM is corrupted if you go to the memory menu (I won’t spell out how to get there) and go to the 2nd option: “Mem Mgmt/Del” and scroll down. There will be a nice list of all your programs apps and appvars but if something is wrong you will notice some impossibly large entries. For example it might say that Y1 is 61592 bytes large (the total amount of ram is only about 24000) so, it can’t logically exist. The only way to fix it is, well… a RAM wipe. You need to archive everything important and reset you RAM. If you look back the weird files should be gone.
What to do if your calculator freezes: There isn’t really much you can do, your only option is to open the battery case and remove one of the batteries and put it back in. This will cause the calc to reset RAM. Note: you don’t get to archive your files so if they are in RAM they will be lost!
I recommend some kind of shell like Doors CS 7 as it lets you edit a program in archive and run programs without using the Asm( command as well as a LOT of other functions.
If your program doesn’t work as expected it probably isn’t Axe’s fault. I know I sometimes blame Axe in frustration. Look closer. I have never found a problem that was Axe’s fault. (Thanks Runner!)
Remember, all it takes is a bit of practice.
Check back later for some instructions on how to use some of the other commands.
Please post if you have any questions (or comments).
Don’t let the whole list of things that could go wrong discourage you, those are all of the major problems, and I haven’t really covered the basics yet of what Axe can do!
I'm still around... kind of.

Offline c4ooo

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 252
  • Rating: +10/-1
  • The impossible chemical compound.
    • View Profile
Re: Axe tutorial
« Reply #8 on: January 16, 2016, 08:28:30 pm »
Well there is already an axe wiki, but no one really rushed to help out >.<
https://www.omnimaga.org/news/axe-wiki-opens!/

"I have never found a problem that was Axe's fault". I have :P
Albeit the problem is in a beta version of axe.
-German Kuznetsov
The impossible chemical compound.

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #9 on: January 16, 2016, 08:31:47 pm »
Really? I have never heard of it or come across it in all my searches for help.
I guess it is easier to start a new thread than try to revive an old one.
(just how old is it?)
My ultimate goal is to "compile" all of the tutorial and the command overviews into one document.
I'm still around... kind of.

Offline c4ooo

  • LV5 Advanced (Next: 300)
  • *****
  • Posts: 252
  • Rating: +10/-1
  • The impossible chemical compound.
    • View Profile
Re: Axe tutorial
« Reply #10 on: January 16, 2016, 08:34:06 pm »
Well its from May 18th 2015.
I myself have thought of doing a tutorial, but i dont think the payoff is worth the time expended :/
-German Kuznetsov
The impossible chemical compound.

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #11 on: January 16, 2016, 08:38:03 pm »
True, but dudeman313 asked me to teach him Axe and I might as well see how far I can get.
We am also working on a side-scrolling-no-story line-combat game and I could use some help.
(That is what Bog Sluzi is for)

Maybe I thought that if I asked for people to just write a short overview on a command that I would get some help  :-\
I'm still around... kind of.

Offline Runer112

  • Project Author
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2289
  • Rating: +639/-31
    • View Profile
Re: Axe tutorial
« Reply #12 on: January 16, 2016, 09:31:24 pm »
There's a fantastic Axe tutorial, written by @kindermoumoute,@Matrefeytontias, and @nikitouzz, that's really detailed and pretty up-to-date. There's just one slight hitch: it's written in French. But I've always thought that, if someone were to translate it to English, it could easily serve as the definitive general Axe tutorial.
« Last Edit: January 16, 2016, 09:40:48 pm by Runer112 »

Offline Dudeman313

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 106
  • Rating: +2/-0
  • I am the embodiment of honorificabilitudinity.
    • View Profile
Re: Axe tutorial
« Reply #13 on: January 17, 2016, 08:51:40 am »
If I view it w/ Google Chrome, I might get a mangled but somewhat understandable meaning...

EDIT:
Here's where I point out how clueless I am when it comes to code:
Where would I enter the code in that tutorial above? All Axe Parser does is compile
& stuff.
Does this qualify as a signature?
The answer is "Sure."

Offline E37

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 358
  • Rating: +23/-0
  • Trial and error is the best teacher
    • View Profile
Re: Axe tutorial
« Reply #14 on: January 17, 2016, 11:28:22 am »
You create a new program.
go to PRGM - NEW -Create New - Then you enter the name of the new program and it creates a new program.
I'm still around... kind of.