• Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

模板討論:Akrange

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
跳至導覽 跳至搜尋

關於攻擊範圍的語法描述問題

我建議使用行長度+行位移量+範圍偏移量的方式描述:

不過這個描述法有一個缺點,就是只能描述連續區間,但是可以通過使用集合語法來描述,如:{1,3}-1,1,{1,3}-1,但此時效率不如akrange本身,xoxNoxoNxox,多出6位元組。

  • 守林人範圍
  • 1,2,3,4,3,2,1→xnxxnxxxnsxxxe
  • 送葬人範圍
  • 1,2,1,++1→oxonsxxnoxo
  • 真理範圍
  • 4,4,4→xxxxnsxxxnxxxx
  • 初雪範圍
  • 2+1,4,4,4,2+1,--1→oxxonxxxxnxsxxe
  • 艾雅法拉範圍(火山)
  • 1,3-1,5-2,7-3,5-2,3-1,1
  • 銀灰範圍(真銀斬)
  • 1,2,3,4,3,2,1
  • 空範圍(睡眠之歌)
  • 3+1,5,5,5,3+1,--2

--九江喵@不好好~賣☆萌~2020年8月29日 (六) 16:33 (CST)

請問幹員自身在攻擊範圍中的位置該如何描述?--步在文旁句外,游於字裏行間。 行間討論) 2020年8月29日 (六) 17:21 (CST)
幹員自身在攻擊範圍中的位置默認取中間數,特殊情況下使用@來表示所在位置,如原本真理的範圍4,4,4→@4,4,4後,就相當於整體往下移動了一行,也就是以第一行為幹員所在位置。
這個語法可以翻譯成akrange的,4-1的話就相當於該行有4格,整體左移1格;4+1的話就相當於該行有4格,整體右移1格。描述很簡單。
正向翻譯其實不難的,基本就是4,→xxxxn;2+1,→oxxn;特殊語法在輸出前進行語法替換即可,不過反過來翻譯就很難。--九江喵@不好好~賣☆萌~2020年8月29日 (六) 18:16 (CST)
@九江月,啊你看,Akrange的描述字符串語法設計大概就是非常簡單、非常容易實現。現在的字符串的意義相當於是直接把範圍形狀畫出來,雖然效率低些但是很容易理解,還可以適配任何稀奇古怪的形狀;你的語法的確能節省些字節,不過稍微難懂些、而且似乎只支持連成一行的攻擊範圍?例如早露精二前,現在的描述字符串可以寫成ooxxxsoxxxe,你的串好像不行。
一個可能的改進方法是引入不同的方式標記自身位置和空格位置,比如把早露寫成3+2;5@1,2E;——即,+描述位移;@標記自身位置;逗號分隔數字表示空格位置;仍然引入E標示對稱軸。這樣的話,再比如減速輔助是4;4@2E;,火山是1+3;3+2;5+1;7@4E;,如果以後出了個xxxxxxxnoxosoxe的話就寫成7;5+1@3,2,4E;。但是,這樣好像更複雜了……簡單來講它變得和現有的描述字符串一樣了,只是換了個方法標記空格,並且把重複的x變成了數字。我覺得就實現難度以及相對較複雜的語法來看,用數字標記不一定更優。
PS:不過我的確可以引入;作為n的同義,易讀性會大大上升。—COVID退散!理論上是公的驅逐艦的 壹陸 討論·最近編輯 2020年9月2日 (三) 09:16 (CST)