cJASS - Code in JASS with C syntax.

Discussion in 'JASS Zone' started by TriggerHappy, Aug 22, 2009.

  1. TriggerHappy

    TriggerHappy ...

    Ratings:
    +341 / 0 / -0
    Not sure where to post this. Not made by me.

    cJass is small, but useful preprocessor for JASS2 interpreted language, used in Warcraft III by Blizzard ent. Its main purposes are to make the process of writing the script simple and comfortable and to increase its readability.
    Here is what cJass code looks like:

    PHP:
    include "syn\\cj_types.j" 

    define <new timer> = CreateTimer() 

    timer MyGlobalTimer = new timer 

    void SomeFunc 
    (bool b) { 
      if (!
    b) { true 

      
    float a 2. 
      int c 
    = -
      a 
    *= 8. 

      whilenot 
    (c++) { 
        
    BJDebugMsg(I2S(a)) 
      } 
    }
    site::Download
     
  2. UndeadDragon

    UndeadDragon Super Moderator Staff Member

    Ratings:
    +450 / 0 / -0
    Pretty useful for C/C++ users :thup:
     
  3. Dr.Jack

    Dr.Jack That's Cap'n to you!

    Ratings:
    +103 / 0 / -0
    As a rule we don't allow users to post resources they haven't created themselves...
    Moved to JASS section.

    (Seems like a cool tool indeed!!)
     
  4. Karawasa

    Karawasa Element Tower Defense

    Ratings:
    +38 / 0 / -0
    How is this more readable than vJASS?
     
  5. TriggerHappy

    TriggerHappy ...

    Ratings:
    +341 / 0 / -0
    I didn't think so either, I only wrote the first line in the thread.

    But it's easy syntax for users who use C.
     
  6. Karawasa

    Karawasa Element Tower Defense

    Ratings:
    +38 / 0 / -0
    True.
     
  7. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    Neat, I might learn to use this ;D
     
    • Like Like x 1
  8. Tyrande_ma3x

    Tyrande_ma3x .

    Ratings:
    +91 / 0 / -0
    I don't like it, it's just a bad mixture of the two languages...
     
  9. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    Well, I've been using it for the past few hours and it's not too bad ;o IMHO.
     
  10. Joker(Div)

    Joker(Div) Always Here..

    Ratings:
    +86 / 0 / -0
    This.`
     
  11. UndeadDragon

    UndeadDragon Super Moderator Staff Member

    Ratings:
    +450 / 0 / -0
    Actually, I think that if a person who knows C wants to learn JASS, this could be really helpful.
     
  12. Tyrande_ma3x

    Tyrande_ma3x .

    Ratings:
    +91 / 0 / -0
    More like a "workaround" to avoid the original language (GUI comes to mind). It will probably make things more confusing when one starts using the real JASS/vJass. :p
     
  13. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    Workaround? vJASS is the same exact thing in that case >_>
     
  14. Tyrande_ma3x

    Tyrande_ma3x .

    Ratings:
    +91 / 0 / -0
    Not really, it doesn't cut off the words in half...
    Don't want to start arguing now, it was just an opinion. Actually, I also thought it was awesome at first but then I came to this conclusion.
     
  15. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    >_> Scope and Library cut off words with Private and Public as well.... -_-'

    Anyways, I like it.
     
  16. Dinowc

    Dinowc don't expect anything, prepare for everything

    Ratings:
    +223 / 0 / -0
    vJass is much easier to learn than C++ IMO

    I learn C++ in school for about a year and I only know the very basics of it while I completely learned vJass by myself in just 3-4 weeks

    this cJass code looks pretty ugly to read... I prefer the neat-looking vJass

    I don't think this is really necessary cause you're not coding a program, just systems, spells and stuff related to warcraft
     
  17. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    I've known about this for many months now (go search 'Romek' in the 'feedback' section).
    I was under the impression that everybody knew about it too.

    Thehelper.net doesn't actually support cJass for resources and the like; so bare that in mind if you're making resources.

    Also, I believe the purpose of cJass is to extend vJass further, not make things easier for C users. =|
     
  18. Sevion

    Sevion The DIY Ninja

    Ratings:
    +423 / 0 / -0
    No. No.... Take that back. I just finished my new cJASS spell :(

    JASS:
    Description:
    ------------------------------------------------------------------
     Creates a totem at the target area that spews lightning at enemies
     in the immediate area dealing damage, deals damage over time to
     enemies, and casts purge on all units in range. Issueing an order
     will cause the spell to disrupt and only the totem will be summoned,
     no damage over time or purge will ensue. The area damage disperses
     before the totem does and lasts only 3 seconds plus 1 for each level.
     
  19. Romek

    Romek Super Moderator Staff Member

    Ratings:
    +961 / 0 / -0
    > No. No.... Take that back. I just finished my new cJASS spell
    Convert it to vJass. It's not difficult at all.
     
  20. TriggerHappy

    TriggerHappy ...

    Ratings:
    +341 / 0 / -0
    You can just make an error below your code and pjass will show what cJASS compiled to which can easily be ported to vJASS.
     

Share This Page