Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SugarCode for WebNew to Visual Studio Code? Get it now.
SugarCode for Web

SugarCode for Web

MRSlouu

|
50 installs
| (1) | Free
SugarCode Plugin for Web
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SugarCode

注:SugarCode更准确来说是一种数据存储格式,这样的格式在写例如触发组、背包这样的功能时会更方便

SugarCode格式如下

  • 用“@条件”表示一个新的触发器,且接下来的所有调用均为条件

  • 用“@效果”表示一个触发器条件的输入完毕,且接下来的所有调用均为效果

  • 用“>”表示一个新调用的开始

  • 用“|”表示调用的函数的参数的输入

  • 用“,”来隔开参数

  • 用“""”来表示一个文本类型,且允许换行

  • 用“T与F”表示一个布尔类型

  • 用“123这类普通数字”表示一个数字类型(支持小数)

  • 用“[]”来表示一个数据组

  • 用“#注释#”来表示一个注释

SugarCode编译后是一个列表,列表中每一个都是一个字典,表示一个触发块

例:

@条件
    >proba | 25
    >needMode | "主动"
    >haveBuff | [0,"魔力天平",F]
@效果
    >changeBuffSelf | [1,1,10,0,-5,"附着度"]
    >changeBuffSelf | [0,1,50,0,1,"剩余回合"]
    >appendString | "<n>[我方]:恒魔勋章-发动!"

@条件
    >proba | 40
    >needMode | "主动"
    >haveBuff | [0,"魔力天平",T]
@效果
    >changeBuffSelf | [1,1,10,0,-5,"附着度"]
    >changeBuffSelf | [0,1,50,0,1,"剩余回合"]
    >appendString | "<n>[我方]:恒魔勋章-发动!"

该SugarCode格式数据编译为列表后为

[

{"条件":[
  {"调用":"proba","参数":25},
  {"调用":"needMode","参数":"主动"},
  {"调用":"haveBuff","参数":[0,"魔力天平",false]}
],"效果":[
  {"调用":"changeBuffSelf","参数":[1,1,10,0,-5,"附着度"]},
  {"调用":"changeBuffSelf","参数":[0,1,50,0,1,"剩余回合"]},
  {"调用":"appendString","参数":"<n>[我方]:恒魔勋章-发动!"
}]

},{"条件":[
  {"调用":"proba","参数":40},
  {"调用":"needMode","参数":"主动"},
  {"调用":"haveBuff","参数":[0,"魔力天平",true]}
],"效果":[
  {"调用":"changeBuffSelf","参数":[1,1,10,0,-5,"附着度"]},
  {"调用":"changeBuffSelf","参数":[0,1,50,0,1,"剩余回合"]},
  {"调用":"appendString","参数":"<n>[我方]:恒魔勋章-发动!"}
]}

]

SugarCode目前只支持以下数据类型

  • 字符型
  • 整数型/浮点型
  • 列表格式(可套娃)
  • 布尔型
  • 不支持字典型

转化方式如下:

  • True->T
  • False->F
  • 123->123
  • 字符[hello world,hello "SugarCode"]->"hello world,hello \"SugarCode\""

SugarCode的特殊性质

  • 当参数只有一个时,允许不用[]将参数括起来
  • 当参数不止一个时,必须用[]将参数括起来
  • 字符类数据允许换行,类似python中的"""abc"""
  • 注释也允许换行,以“#”开始,“#”结束(但目前不支持在注释中写“#”)
  • 注释允许打在参数之间,例如
@条件
@效果
    >proAW | [
        0,#选择己方#
        1,#提升一倍#
        0,
        #最低为0#
        50
        #最高50#
    ]
  • 在格式上无视空格与换行,例如以下数据与上面的数据编译出来内容是一样的
@条件@效果>proAW|[0,1,0,50]

(编译出来均为以下内容)

[{"条件":[],"效果":[{"调用":"proAW","参数":[0,1,0,50]}]}]

SugarCode使用例

比如我们想要编写一个激活码功能,但有时激活码里的内容就连类型都不一样

例如一个激活码里可能可以给予金币,同时也给予经验值等其他类型的物品

这时候我们就可以使用SugarCode来解决这个问题

首先我们分析这个问题中我们有哪些类型,很明显,有“金币”与“经验值”两种类型的物品

那么假如给予500金币与300经验值,我们可以编写以下内容

@条件@效果
    > coin | 500
    > exp  | 300

然后导入SugarCode库,调用“dumps”函数,将参数“noCondition”设为True(因为激活码系统不需要考虑条件)

from . import SugarCode
exampleString = """
@条件@效果
    > coin | 500
    > exp  | 300
"""
exampleList = SugarCode.dumps(exampleString,noCondition=True)

此时exampleList的内容如下:

[{"调用": "coin", "参数": 500}, {"调用": "exp", "参数": 300}]

然后我们遍历这一个列表

from group in exampleList:
    Uname=k["调用"]
    Upmt=k["参数"]      

接下来只需要用if-elif来判断调用的内容即可完成激活码功能的编写啦!

if Uname == "coin":
    ...
elif Uname == "exp":
    ...
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft