Skip to main content

Image Decoder - Grasshopper




 Image Decoder

Details 詳細解說:


// 宣告變數 img, 型態自動依初始值設為字串

// 設定初始值為存放影像編碼
var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw";

程式一開始宣告變數 img 存放影像編碼,影像編碼內穿插了 ‘e’ 這個字元符號,這個多餘的字元符號可以是任何沒有使用到的字元都可以替代,例如使用 ‘x’,或是使用兩種以上都可以,不過程式解碼時要記得都要濾掉。


這些多餘的字元符號把原來的圖案弄亂,所以可以讓不知道解碼的人看不出來是什麼圖案。如果我們收到知道如何解碼,可以把 'e' 字元符號去掉(Filter out 'e’),就可以看到原來的圖案了


IMAGE DATA

// 原來要顯示的圖樣 空白字元表示換行
var img = 
    "wvvwvvw wiiwiiw wbbwbbw wggwggw wyywyyw woowoow wrrwrrw"

IMAGE DATA ENCODE

// 影像編碼內穿插了 ‘e’ 這個字元符號,把原來的圖案弄亂
var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw"



// 解碼部分,依序判斷陣列中的字元不為’e’ 則畫出編碼內容方塊

for (var letter of img) {
  if (letter !== ‘e’) {
    drawBoxes(letter);
  }
}




// 將變數 img 印出, 

print(img);

因為我們並沒有改變 img 內容,所以 img 內容仍是含有 ’e’ 字元未解碼的狀態 




YOUR CODE

// 宣告變數 img, 型態自動依初始值設為字串
// 設定初始值為存放影像編碼
var img = "ewvveewvvw wiiwiiw webbwbbew weeggweggw ewyyewyyew woowoowe wrreewrrw";

// 解碼部分,依序判斷陣列中的字元不為’e’ 則畫出編碼內容方塊

for (var letter of img) {
  if (letter !== ‘e’) {
    drawBoxes(letter);
  }
}

// 將變數 img 印出, 

// 因為我們並沒有改變 img 內容,
// 所以 img 內容仍是含有 ’e’ 字元未解碼的狀態 
print(img);



所以我們要印出來的圖樣應該是這樣的


白紫紫白紫紫白 

白靛靛白靛靛白 
白藍藍白藍藍白 
白綠綠白綠綠白 
白黃黃白黃黃白 
白橙橙白橙橙白 
白紅紅白紅紅白


Reference:

Image Decoder explainer - Puzzle Explainer - Grasshopper Support
https://support.grasshopper.codes/t/image-decoder-explainer/29
When you run the for loop, it ignores all the e letters. So the output ends up being the same as drawBoxes('wvvwvvw wiiwiiw wbbwbbw wggwggw wyywyyw woowoow wrrwrrw').

Comments

Popular posts from this blog

KSB037 Motor Board 馬達板擴充積木

KSB037 Motor Board 馬達板擴充積木 key: makeblock,microbit,motor Description 說明: 使用 KSB037 Motor Board 馬達板擴充積木 https://github.com/edisonchiu/pxt-motor-KSB037 History v0.1 來源版本 https://github.com/lioujj/KSB037 v0.2 修正字串錯誤 Step 步驟: 1. Makeblock -> Advanced -> Add Package 2. 在 Search or enter project URL… 輸入擴充積木網址,      https://github.com/edisonchiu/pxt-motor-KSB037 3. 按下搜尋會出現擴充積木,按下去新增擴充積木 4. 積木區就會出現新的積木可以用了。 KSB037 馬達擴充板 擴充積木測試程式 KSB037_CustomBlock_Test 目的說明: 按下按鈕可以測試馬達和板子是否正常運作 注意事項: 馬達擴充板 外接馬達需要外接電源,且電源開關需要開啟。 馬達擴充板 指撥開關 2,3,4,5 需要在 ON 的狀態。 功能說明: 按 A 左邊馬達往前全速(1023)運轉。 按 B 右邊馬達往前全速(1023)運轉。 按 A+B 兩邊邊馬達同時往前全速(1023)運轉。 以上皆非則馬達停止顯示中心一個點。 micro:bit - KSB037 Motor Simple Test (JavaScript) Source Code 源碼如下:

Maze - Blockly Games

Blockly Games : Maze 1 Question 問題: Solution 解答: moveForward(); moveForward(); Blockly Games : Maze 2 Question 問題: Solution 解答: moveForward(); turnLeft(); moveForward(); turnRight(); moveForward(); Blockly Games : Maze 3 Question 問題: Solution 解答: while (notDone()) {   moveForward(); } Blockly Games : Maze 4 Question 問題: Solution 解答: while (notDone()) {   moveForward();   turnLeft();   moveForward();   turnRight(); } Blockly Games : Maze 5 Question 問題: Solution 解答: moveForward(); moveForward(); turnLeft(); while (notDone()) {   moveForward(); } Blockly Games : Maze 6 Question 問題: Solution 解答: while (notDone()) {   moveForward();   if (isPathLeft()) {     turnLeft();   } } Blockly Games : Maze 7 Question 問題: Solution 解答: while (notDone()) {   moveForward();   if (is