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
Post a Comment