Besiege

Besiege

Not enough ratings
SetGet v6
   
Award
Favorite
Favorited
Unfavorite
Types: Levels
File Size
Posted
Updated
862.094 KB
14 Sep, 2019 @ 1:23am
16 Jun, 2021 @ 11:45pm
9 Change Notes ( view )

Subscribe to download
SetGet v6

In 2 collections by Nice Name
Nice Name Science
116 items
Logic Systems
12 items
Description
Encountered so many difficulties, here we have one block SetGet!
終結了許多技術問題,只需一顆方塊的SetGet誕生了!

SetGet v6 Is a variable system which you can input and output variables with ease.
SetGet v6 是一個能讓使用者輕鬆輸入輸出變數的變數系統。

The name "SetGet" came from a suggestion from Algae in Official Besiege Discord server, because I'm just so bad at naming things lmao:
「SetGet」一名來自Besiege官方Discord的Algae的建議,因為我的命名能力真的非常糟糕哈哈哈。

To set a variable you can do as follow:
你能夠如此寫入變數:
Variable "i ±0~37", "Setget v6"

To get a variable you do as follow:
你能夠如此讀取變數:
Variable "DG1 +0", "Setget v6"

The capacity of SetGet v6 example is ±1443, try not to go over that. But if you really want to increase its capacity, you can contact me.
SetGet v6 範本的臨界值是「±1443」,盡量別超過它。但若你真的想要更大的容量的話,你可以找我幫忙。

The stored variables can be output with actions such as the transform logic, or simply a variable. To modify the actions you can find it at the "DG" section inside the cube:
被儲存的變數能被轉化成任何邏輯事件如「座標變換」或「變數」等。你能在讀取區找到預設的輸出。

SetGet v6 is not the only variable system that can input and output variables, there is also SetGet Bv1 and SetGet Cv1 are systems which function just like v6, but used a totally different algorithm to process variables.
SetGet v6 並非唯一能處理變數的變數系統,SetGet Bv1SetGet Cv1是兩個與 v6 功能大致一樣,但演算法卻完全不同的變數處理系統。

(example 範例)
On Variable(local) "DG1 >0"
 Variable "o +1"  <--- Default output 預設輸出
  Deactivate
   Variable "dg1 +1", "Setget v6"
  Activate
 Variable "DG1 -1", "Setget v6"

The output was default to global variable "o +1".
輸出被預設為全域變數 "o +1"。

Click here for more details about SetGet v6
更多關於SetGet v6 的細節請點此

200306 update:
Removed "SG2" from the carrying system.
從進位區移除了"SG2"。

210312 update:
Changed 3 variable names to more appropriate ones:
將三個變數名稱更新至更為合適的名稱。
The Use of Variable Names
變數的用處
Before
After
Input
輸入
SG
i (input)
Carry number
進位
SG1
C1 (carrier #1)
Default Output
預設輸出
VarName
o (output)

Forgive me, I must change these inappropriate varnames before more people start getting used to them.
原諒我,我必須在更多人習慣那些不合適的變數名稱前把它們改正。

210617 update:
Now SetGet v6 is truly based-38 number system.
I was unaware of SetGet v6 actually being based-37, and was until today(210617) I finally fixed it to based-38.
現在SetGet v6 真的是38進位制了。
我過去以為SetGet v6 已經是38進位制,但它事實上是37進位制,於是就這麼一直到了今天(210617)我終於發現這個問題並把它給改正了。

Logic Overview
On Variable(local) “i >0”
 Variable “limit +1”, "SetGet v6"
  Deactivate
   Variable “DG1 +1”, "SetGet v6"
  Activate
 Variable “C1 +1”, "SetGet v6"
 Variable “i -1”, "SetGet v6"

On Variable(local) “i <0”
 Variable “limit -1”, "SetGet v6"
  Deactivate
   Variable “DG1 -1”, "SetGet v6"
  Activate
 Variable “C1 -1”, "SetGet v6"
 Variable “i +1”, "SetGet v6"
Input Section
On Variable(local) “C1 >37”
  Deactivate
   Variable “DG2 +1”, "SetGet v6"
   Variable “DG1 -38”, "SetGet v6"
  Activate
 Variable “C1 -38”, "SetGet v6"
  
On Variable(local) “C1 <-37”
  Deactivate
   Variable “DG2 -1”, "SetGet v6"
   Variable “DG1 +38”, "SetGet v6"
  Activate
 Variable “C1 +38”, "SetGet v6"
Carry System
On Variable(local) “limit >1443”
 Variable “i -1”, "SetGet v6"

On Variable(local) “limit <-1443”
 Variable “i +1”, "SetGet v6"
Limit Section
On Variable(local) “DG1 >0”
 Variable "o +1"
  Deactivate
   Variable “dg1 +1”, "SetGet v6"
  Activate
 Variable “DG1 -1”, "SetGet v6"
  
On Variable(local) “DG1 <0”
 Variable "o -1"
  Deactivate
   Variable “dg1 -1”, "SetGet v6"
  Activate
 Variable “DG1 +1”, "SetGet v6"

On Variable(local) “DG1 =0”
 Variable “DG2 +0”, "SetGet v6"
  
On Variable(local) “DG2 >0”
 Variable "o +38"
  Deactivate
   Variable “dg2 +1”, "SetGet v6"
  Activate
 Variable “DG2 -1”, "SetGet v6"
  
On Variable(local) “DG2 <0”
 Variable "o -38"
  Deactivate
   Variable “dg2 -1”, "SetGet v6"
  Activate
 Variable “DG2 +1”, "SetGet v6"
  
On Variable(local) “DG2 =0”
 Variable “dg1 +0”, "SetGet v6"
Output Section
On Variable(local) “dg1 >0”
  Deactivate
   Variable “DG1 +1”, "SetGet v6"
  Activate
 Variable “dg1 -1”, "SetGet v6"
  
On Variable(local) “dg1 <0”
  Deactivate
   Variable “DG1 -1”, "SetGet v6"
  Activate
 Variable “dg1 +1”, "SetGet v6"
  
On Variable(local) “dg1 =0”
 Variable “dg2 +0”, "SetGet v6"

On Variable(local) “dg2 >0”
  Deactivate
   Variable “DG2 +1”, "SetGet v6"
  Activate
 Variable “dg2 -1”, "SetGet v6"
  
On Variable(local) “dg2 <0”
  Deactivate
   Variable “DG2 -1”, "SetGet v6"
  Activate
 Variable “dg2 +1”, "SetGet v6"
  
On Variable(local) “dg2 =0”
 (end logic)
Copy Section