Author Topic: Project Snake X - help  (Read 24039 times)

0 Members and 1 Guest are viewing this topic.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Project Snake X - help
« Reply #75 on: August 17, 2010, 03:51:57 pm »
Nah I don't think you are the one responsible for the disqualification. It's the contestant's own responsibility for not breaking the contest rules. By page 1 it was ok, all he would have gotten away with is a drop on his originality score, but then on Page 3, the source code he was posting was pretty much the entire game progress so far, meaning he would have posted a 8xp and it would've been the same thing. It was up to him to tell you he cannot post more source code or to not request help requiring the posting of everything.

As for the comment, I think it's best to remember that not everyone understands everything as fast as each others. I personally never got how your Zooming routine worked, despite your explanations. Also, sometimes it takes multiple people to explain things, as everyone got different methods to explain stuff.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #76 on: August 17, 2010, 04:11:10 pm »
I'm gonna continue it. Runer112, a note: I just would never suspect how the spacing would matter between when the bit is set and the bit is checked. In real-time processing, it doesn't even know that it's going to get checked until it comes across that point of code.

another note: To be completely honest, I knew this program was going to not make it. I knew it the instant I realized how much would have to go into this now I know how long it would take to program such a game. Runer112, you were only trying to help. I personally give you credit for that and I just want you to know that whatever you did, you were only trying to make the game succeed.
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline Quigibo

  • The Executioner
  • CoT Emeritus
  • LV11 Super Veteran (Next: 3000)
  • *
  • Posts: 2031
  • Rating: +1075/-24
  • I wish real life had a "Save" and "Load" button...
    • View Profile
Re: Project Snake X - help
« Reply #77 on: August 17, 2010, 04:35:21 pm »
Well, since its not for the contest anymore, it will certainly be easier to debug and you can post the source code directly.  The problems you seem to be having are really not Axe related but usually programming in general, that is the same type of problems you would get had you been working on a BASIC program or Java or C.  I'm not sure if Axe is the best language to start off with because it is a mid-level language that requires more experience with programming languages to be good at.  That doesn't mean you shouldn't work on Axe projects, it just means that you're going to need a lot more guidance and assistance since you're learning the fundamentals of programming at the same time as the difficulties of Axe itself.

calcdude said the reverse when he was trying to explain what runer meant so that probably let to more confusion.  What they were trying to say was that you first set the X variable to 0 then have a conditional "Is X zero?" in which case it will always be zero since you just set it to that.  You have to set X to 0 outside of the main loop near the start of the program so that it doesn't keep resetting it back to zero after each iteration of the loop.
___Axe_Parser___
Today the calculator, tomorrow the world!

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #78 on: August 17, 2010, 04:54:43 pm »
Alright, Enough said. I FINALLY got the menu working and now I can start creating sprites for the actual game now!
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Project Snake X - help
« Reply #79 on: August 17, 2010, 04:57:12 pm »
I think he did BASIC before, when he was Revsoft member. I'M not sure how far he went, though. That said, I recommend some TI-BASIC or z80 ASM background knowledge before attempting Axe, but fortunately a lot of people around here can help. If you only know TI-BASIC, you might have a bit of an hard time with pointers at first, though.
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Project Snake X - help
« Reply #80 on: August 17, 2010, 05:05:54 pm »
Alright, Enough said. I FINALLY got the menu working and now I can start creating sprites for the actual game now!
you can easily create sprites with my MaskConverter.
the tiles.bmp file can be created with any program you like. personally I like to use Paint.NET.

good luck!
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #81 on: August 17, 2010, 07:11:09 pm »
thanks, but I think 16x16 is too big in this case ;)
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline LordConiupiter

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 339
  • Rating: +3/-0
  • Just one of the thousands of Axe-fans...
    • View Profile
Re: Project Snake X - help
« Reply #82 on: August 18, 2010, 04:34:28 pm »
Tou see 4 lines of data when it is converted. you can just only use the first line, which is the left topmost sprite of 8x8 pixels!
everytime that I was down, you would always come around, and get my feedback on the ground. (modified part from 'Seasons in the sun')

No matter how many errors are bothering you, always try to stay rel-Axe!

The HoMM project will be resumed as soon Axe 1.0.0 will be released!
Projects:
Code: [Select]
HoMM:   [==--------]    Project 'resumed': I'm suffering overwhelming new ideas being popped up in my dreams :P
tiDE:   [----------]    Explored and understood the main part of the code: just started writing a Tokenizer.



password of the week: uvanapererubupa (Any pronunciation is the right one ;) )   :D click me, and you'll be raided :D

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #83 on: August 18, 2010, 06:33:59 pm »
Alright.. since I have been working to get the menu done for such a long time (in my eyes), im going to put the project in a sleep state. I'll work on it again in maybe 1-2 weeks if I feel like it, don't have homework to do, etc.
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Project Snake X - help
« Reply #84 on: August 20, 2010, 12:23:33 pm »
Aw sorry to hear, I hope you don't kill the project/lose interest :S

GOod luck!
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #85 on: August 20, 2010, 12:27:43 pm »
no way. I didn't put all that to nuthin you know =p. Nahh i won't loose interest. Just.. a break for now
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Project Snake X - help
« Reply #86 on: August 22, 2010, 06:38:25 pm »
kk, I can't wait for progress to resume again :)
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #87 on: August 31, 2010, 07:16:34 am »
Alright! It broke my heart when i saw http://www.ticalc.org/archives/files/fileinfo/401/40143.html as number 11 on the top downloads list for the past 7 days. The thing i need to focus on right now is designs for the actual snake. I want to do something really neat with this but im not sure what.. I might consider suggestions, but this needs to be original. I'll be brainstorming throughout the day about some design's but for now im just getting this post out.
Loved this place, still the best producers of power metal, and sparked my dreams of coding.

Offline DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55942
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
Re: Project Snake X - help
« Reply #88 on: August 31, 2010, 02:53:46 pm »
Wha...? Darn why such random files (that are not necessarly bad, but not even close from being special or standing out) gets so much downloads while even better Snake games barely get any? I mean, I would rather get more downloads on Reuben Quest and Metroid II than Axe Tunnel and Illusiat TI-81 remake.

Well good luck Snake_X with your snake project. I hope you finish it.
« Last Edit: August 31, 2010, 02:54:17 pm by DJ Omnimaga »
Now active at https://discord.gg/cuZcfcF (CodeWalrus server)

Offline Snake X

  • Ancient Veteran
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 810
  • Rating: +33/-8
    • View Profile
Re: Project Snake X - help
« Reply #89 on: September 03, 2010, 07:15:56 pm »
I have got to the point where I just need to find the appropriate position for 1->x
Code: [Select]
:.SNAKEX
:
:.<DATA>
:.LOGO
:[07C0000000000000000000001FE0000000000000000000001FF0000000780000000000003FF0000000FC0000000001F87FF7CF0000FC0000000787F87FF7DF87E0FC0000001F87F07BF7FF8FF0FC0000003F87E079E7FF8FF8FC0000003FC7C07F07FF9FFCFC1000001FEF807FE7FF8FFCFC7C00000FFF807FF7FF8FFCFDFE1E0007FF807FF7FF8FFEFDFE3FC003FF001FF7FF9FFEFFFC7FC001FE0001F7FF9FFEFFF8FFC001FF0039F7EF9FFEFFE0FFC000FF8079F7EFDFFEFFC1FBC001FFC0FFF7EFDFFEFFE1FFC003FFF0FFF7C30FFEFFE1FFC003FFFC7FE3C00FDFFFF1FF8007E7FC1F0000000EFDFFFDE00FC3FC00000000007CFEFBE01F83F80000000000187EFFE03F83F80000000000003E7FE03F8040000000000000003FC03F00000000000000000000000E]→Pic1
:
:.MENU RAIN
:[8080808000000000]→Pic2
:
:.MENU ARROW
:[0010181C18100000]→Pic3
:
:.MENU ITEMS
:"PLAY"→Str1
:"HELP"→Str2
:"SCORES"→Str3
:"QUIT"→Str4
:"ADVENTURE MODE"→Str6
:"TIMED MODE"→Str7
:"CLASSIC MODE"→Str8
:"MAIN MENU"→Str9
:
:.<INITIALIZING>
:DiagnosticOff
:ClrDraw
:ClrDraw{^r}
:
:.STORE MENU TO BACK BUFFER
:Fix 1
:Fix 5
:Text(30,28→M→N,Str1)
:Text(30,36,Str2)
:Text(30,44,Str3)
:Text(30,52,Str4)
:DrawInv
:StorePic
:ClrDraw
:
:.INTRO EFFECT
:For(A,0,63)
:  Line(0,A,95,63-A)
:  DispGraph
:End
:For(A,0,95)
:  Line(A,0,95-A,63)
:  DispGraph
:End
:
:1→A→Z
:  0→X
:
:.<MENU LOOP>
:Repeat getKey→K=9 and (M=N)
:ReturnIf getKey(15)
:
:  .MOVE CURSOR
:  .Update the cursor destination and current position, although does not draw cursor
:  .there are three things being combining to get a new value of N. First, M>N will be 1 if M (destination) is greater than N (current position), so the expression will be 1 so far. Second is -(M<N)
:  min(max(K=1-(K=4)*8+M,28),52)→M>N-(M<N)+N→N
:  DS<(A,5)
:    Pt-Change(rand^96,1,Pic2)
:  End

:  .DRAW LOGO AND MENU
:  .Shift sandstorm
:  Z+1→Z
:  .Move rain down
:  Vertical +
:  .Backup rain image
:  conj({L6},{L1},708)
:  .Draw logo, sandstorm, menu, and cursor
:  sub(DM)
:  .Update screen
:  DispGraph
:  .Restore rain image
:  conj({L1},{L6},708)
:
:End
:
:.<MENU HANDLER>
:ClrHome
:
:If K-15 and (M-52)
:
:  .set menu bit

:  .If menu bit is 0
:  !If X
:     
:    !If M-28
:      ClrDraw
:      ClrDraw{^r}
:      Fix 0
:      Fix 5
:      Text(30,28→M→N,Str6
:      Text(30,36,Str7
:      Text(30,44,Str8
:      Text(30,52,Str9
:      Fix 4
:     
:      DrawInv
:      StorePic
:      ClrDraw
:      DrawInv
:      1→A→Z
:     
:     
:      .<MENU LOOP>
:     
:     
:      Repeat getKey→K=9 and (M=N) or (K=15)
:     
:        .MOVE CURSOR
:        .Update the cursor destination and current position, although does not draw cursor
:        .there are three things being combining to get a new value of N. First, M>N will be 1 if M (destination) is greater than N (current position), so the expression will be 1 so far. Second is -(M<N), which will evaluate to -1 if M is less than N, so this subtracts 1 in this case. This can only be true if the first expression is false, so the expression will now equal 1 if M>N, -1 if M<N, or 0 is neither are true (M=N). This offset is then applied to N, either moving N in the appropriate direction towards M or, if N already equals M, not changing it at all.
:        min(max(K=1-(K=4)*8+M,28),52)→M>N-(M<N)+N→N
:     
:        .ADD RAIN
:        .Add a new rain sprite every 5 iterations of the menu loop
:        DS<(A,5)
:          Pt-Change(rand^96,1,Pic2)
:        End
:     
:        .DRAW LOGO AND MENU
:        .Shift sandstorm
:        Z+1→Z
:        Vertical +
:        conj({L6},{L1},708)
:        sub(DM)
:        DispGraph
:        conj({L1},{L6},708)
:     
:      End
:      .<MENU HANDLER>
:      !If M-28
:        sub(ADV)
:      End
:      !If M-36
:        sub(TM)
:      End
:      !If M-44
:        sub(CL)
:      End
:      !If M-52
:      End
: 1→X
:    End
:      .If menu bit is 1
:  Else
:      .If HELP
:      !If M-36
:        Disp Str2
:      End
:      .If SCORES
:      !If M-44
:        Disp Str3
:      End
:      .If QUIT
:      !If M-52
:        Disp Str4
:      End
:  End
:End
:      Return
:
:.<SUBROUTINES>
:.DRAW MENU
:Lbl DM
:.∙=bitwise and
:.□=bitwise xor
:.┼=bitwise or
:
:  .DRAW LOGO AND SANDSTORM
:  .Loop through the logo, 2 bytes at a time
:  For(B,0,148)
:    .Logo data - End state: Black logo image on white bg
:    .XOR 65535 - Inverts logo data - End state: White logo image on black bg
:    .AND Rain image - If either is white (0), output is white, so logo and rain remain white - End state: White logo image and white rain on black bg
:    .OR *Must wait for data in parentheses to be parsed* :
:      .Sandstorm garbage
:      .AND Logo data - This is the original, black on white logo. For the outside of the logo text, which is white (0), all ANDs will result in staying white (no change, so outside of logo text is unaffected) - The black text of the logo is all black (1), so the end state will be determined by the random data of the sandstorm - End state: Random black/white image on white bg
:    .OR ^ - The only areas of ^ which can be black are the logo text, so everything outside the logo text will be unaffected, while areas inside (previously white) will take on the random sandstorm image - End state: Sandstorm logo image and white rain on black bg
:    .→ Buffer
:    {B*2+Pic1}{^r}→D□65535∙{B*2+{L6}→C}{^r}┼({B*2+Z}{^r}∙D)→{C}{^r}
:  End
:
:  .DRAW MENU ITEMS
:  .Loop through the menu image, 2 bytes at a time
:  For(B,168,353)
:    .Menu image - End state: White text on black bg
:    .AND Rain image - If either is white (0 - menu text and rain droplets), result will be white (0) - End state: White menu items and rain on black bg
:    .→ Buffer
:    {B*2+{L3}}{^r}∙{B*2+{L6}→C}{^r}→{C}{^r}
:  End
:
:  .DRAW CURSOR
:  .Draw black cursor, turning any rain that might have been there black
:  Pt-On(22,N,Pic3)
:  .Invert cursor, turning cursor white
:  Pt-Change(22,N,Pic3)
:
:Return
:
:Lbl ADV
:  ClrDraw
:  ClrDraw{^r}
:  Disp Str6
:Return
:Lbl TM
:  ClrDraw
:  ClrDraw{^r}
:  Disp Str7
:Return
:Lbl CL
:  ClrDraw
:  ClrDraw{^r}
:  Disp Str8
:Return
:
:
:.<VARIABLES>
:.A=Counter to add rain
:.B=Temp loop variable for Lbl DM
:.C=Temp (buffer)
:.D=Temp (pic1 data)
:.K=getKey
:.M=Menu cursor destination
:.N=Menu cursor current display position
:.X=current menu bit
:.Z=Sandstorm offset
:.L1=Rain image backup
:.L3=Menu items image
:.L6=Rain image
« Last Edit: September 05, 2010, 01:53:43 pm by Snake X »
Loved this place, still the best producers of power metal, and sparked my dreams of coding.