Good news, I have remade Picraft in axe, thus meaning it is not really the same game but a sequel!!!
If you are wondering why I did this, it is because the original Picraft was programmed in basic, therefore limiting my abilities to program. Picraft was also becoming very slow due to ti-basic's lack of speed. I then decided to begin programming with axe since it was said to be a very powerful, yet easy to learn language. After learning the basics I sucessfully replicated Picraft in axe parser, adding many new features and drastically increased the speed. Alright enough talk about axe lets compare features with the new and old!!!
*Picraft 1(basic)
•had a menu
•had multiple world types
*both Picraft 1 & 2
•have pre-built worlds
•have the ability to break blocks(this is limited in Picraft 2
•had flying
*Picraft 2(Axe)
•has the ability to place blocks
•has eight-directional movement
•has REAL graphics!!!
•now makes it so that you don't destroy blocks by simpley bumping into them
•runs way faster, but takes up more room
Now that being said let me tell you when I plan to release v1.0 to the public. The release date is most likely tonight, but may be delayed to tomorrow depending on how fast I can finish debugging it. Last but not least here are the feature I plan to add in the next version
*Upcoming features*
>2.0<
•more block types and the ability to select blocks
•a menu
•the ability to destroy natural blocks(grass dirt etc.)
•maybe tilemapping
>3.0<
•possibly a pixel-collision detector
•maybe larger worlds
•maybe a random world generator(this is still very questionable)
•physics
Now I am not exactly sure when or in some cases if these features will be added as some will be very difficult, but for now that's all I plan to add.I also want to give a special thanks to Runer112 for helping me fix a critical error that would have made this game impossible. I hope you enjoy and if you would like to help with the game and/or discovered a bug you can contact me at andreymarquart@yahoo.com
And this is exactly what I said would happen... abandoning a project isn't good news, you just gave up. You're over extending again. You need to learn Axe first. As for limiting your abilities to program, that's BS. The language doesn't limit you, at least not when you're learning.

I give you about 2 weeks till I see Picraft3...
No your wrong I didn't give up on it, I am IMPROVING it, the only reason I'm renaming it is because technically it is a new game since I'm now using axe.
Ambition is good, too much is bad. How long have you been learning Axe Parser? Also, you really should try something small first.
I have been using axe for around two weeks, but since it is very similar to basic I am having no problem at all adopting to it in a short amount of time.
Very well then. It's good that you've been learning it, hopefully this project will do well. I'm just suggesting you learn it a bit more first and try something smaller.
Oh I already have made multiple small programs In axe, they just were not worth mentioning as most were pointless anyway.
And I am constantly trying to learn more
That's good then. Just keep on practicing too Very Happy and please edit your posts, don't double post.
Well it appears I won't be releasing Picraft 2 tonight anyhow-I forgot the cable that would allow me to upload the game to my CPU and won't be able to get it until sometime tomorrow!!!lol
May you have success at any rate, Piguy. At least it is refreshing to see someone with a fervor for programming.
Thanks I'm doing my best:)
Sry for the late release still haven't been able to get the cable, should have it before the end of the night. I may be adding a superflat world available by pressing [mode] since I don't know how to input a menu yet and have some time
Edit* Good news-I have spent all morning gathering info on tilemapping and sprites and have made it A LOT easier to build and destroy blocks for v1.0!!!(it was nearly impossible before) Note:
This may make the game seem to lag but that is like that on purpose to allow you to easily place blocks and destroy blocks w/o any hassle(I will get rid of this once I add a tilemapping engine(2.0))
By the way, a point of Cemetech forum etiquette: along with loving proper grammar and spelling, we also like topic titles that are informative, clear, and concise. The [Axe] Picraft 2 part fits the bill nicely, but the !!!! you added at the end is unprofessional and not in keeping with the general tone. I took the liberty of removing them.
Picraft 2 has been submitted for review, if all goes well it should be available for download shortly:)
edit* Picraft 2 is now available for download!
edit* http://www.cemetech.net/scripts/countdown.php?/83plus/asm/games/AxePicraft%20v1.0.zip&path=archives is the link, so what are you waiting for be one of the first to get Picraft 2!Razz
I have to say that I just used it, and it's really nicely done, good movement, has a bit of variety, seems well made. great job and keep it up!
I have a quick question for anybody who might know: can you delete or even better clear sprites from your screen in the middle of your program, as as weird as it may sound i cannot remove sprites from my screen!!!(yes i have tried clrdraw and all those commands but for some reason they will not go away) here is an example of how i draw my sprites on to the screen if it helps

Code:
:pt-off(40,32,pic1D

edit* what i do is make it so tha pressing a certain key executes clrdraw then uses pt-off( to redraw the sprites, but that does nothing
ClrDraw will clear the drawing buffer, but not update the screen. Considering that you are mentioning ClrDraw, it sounds like you may be redrawing each frame from scratch before sending it to the LCD with DispGraph. In this case, removing the sprite should be as simple as not drawing it next frame. Is there some reason why this isn't working?

A bit of an alternate graphics rendering suggestion: another oft-used method is more of a frame difference renderer, in which you might keep static elements like the background drawn but erase and redraw sprites every frame before the next DispGraph. The easy way to do this is usually to save a frame containing the static part shared between all frames, like background and UI elements, and begin each new frame by recalling this base frame and just drawing sprites on top. You can save this base frame by drawing it to another graphics buffer like L₃ by adding an ʳ after the closing parenthesis of almost any drawing command, or you can just draw them all to the main buffer and then use StorePic to copy the main buffer to the secondary buffer. You would then start rendering each new frame with RecallPic to copy the saved frame to the main buffer.

There's a harder method of "undrawing" each sprite individually without doing a full background redraw or recall, but I wouldn't advise going with it. It's a fair amount tougher and usually not worth it.
I have a question for anyone who uses axe; is the best way to make a menu to display a pic and use the getKey commands to control it since getKey seems to be the only way to receive user input?
Piguy-3.14 wrote:
I have a question for anyone who uses axe; is the best way to make a menu to display a pic and use the getKey commands to control it since getKey seems to be the only way to receive user input?
You can make a menu the way you want. You can make a stupid menu where you display numbers in front of options and wait for the user to press a number key to do something, or make a smooth-scrolling menu like in KoFiX, or make a menu similar to basic, or make a menu with a wheel of options like in TinyCraft, etc...

If you don't know at all how to start, here is some code I made to make easy menus. It includes the routine you need plus some example code. Feel free to use it, modify it, or even distribute it without giving me any credits.

Code:

.MENU

.###########################
. PRELIMINARY COMMANDS
.###########################

Fix 5
ClrDraw

.###########################
. MAIN CODE
.###########################

MENU("TITLE"[00]"OPTION_1"[00]"OPTION_2"[00]"OPTION_3"[00]"OPTION_4"[00]"OPTION_5"[00][25])
Z-Test(,Label1,Label2,Label3,Label4,Label5)

Lbl Label1
Text(0,,"THIS IS THE LABEL 1")
DispGraph
Pause 3600
Return

Lbl Label2
Text(0,,"THIS IS THE LABEL 2")
DispGraph
Pause 3600
Return

Lbl Label3
Text(0,,"THIS IS THE LABEL 3")
DispGraph
Pause 3600
Return

Lbl Label4
Text(0,,"THIS IS THE LABEL 4")
DispGraph
Pause 3600
Return

Lbl Label5
Text(0,,"THIS IS THE LABEL 5")
DispGraph
Pause 3600
Return

.###########################
. SUBROUTINES
.###########################

Lbl MENU
Text(0->r3->r2,,r1)
While 1
End!If {stdDev(r1,r2++)}-37
RectI(0,,96,6)
For(r2--)
 Text(0,r3++*6,r3>Dec)
 {|E86D7}-2->{|E86D7}
 Text ": "
 Text stdDev(r1,r3)
End
0->r1
While 1
 r1+getKey(1)-getKey(4)+r2^r2->r1
 CursorForMENU()
 DispGraph
 Pause 200
 CursorForMENU()
EndIf getKey(9)
Returnr1

Lbl CursorForMENU
RectI(0,r1+1*6,6,)
Return

It is surely not the best optimized code, especially if you don't use the RectI command elsewhere in your code, but at least you don't need to understand it to use it.
Basically, copy the routines MENU and CursorForMENU at the bottom of your code, then, where in Basic you would have written this line:

:Menu("TITLE","OPTION_1",Label_1,"OPTION_2",Label2,...,"OPTION_N",Label_N)

Just write those two lines in your Axe code:

:MENU("TITLE"[00]"OPTION_1"[00]"OPTION_2"[00]..."OPTION_N"[00][25])
:Z-Test(,Label1,Label2,...,LabelN)
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 4
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement