1 | get("#356") -- num2hex |
2 | get("#485") -- containsColor |
3 | |
4 | -- Job: Distinguish two classes of images |
5 | -- Two images are supplied at once, one of each class. |
6 | -- Task is to find out if the two images are swapped or not. |
7 | -- |
8 | -- input variables: img1, img2, solution [to last pair] |
9 | -- output: a function returning true or false (swapped or no) |
10 | |
11 | function selectColor(img) |
12 | local x, y = math.random(0, img.width-1), math.random(0, img.height-1) |
13 | color = img.getInt(x, y) |
14 | end |
15 | |
16 | return function() |
17 | -- select a new color when last guess was wrong |
18 | if solution ~= guess then color = nil end |
19 | |
20 | if color == nil then |
21 | if solution == nil then |
22 | lastimg1, lastimg2 = img1, img2 |
23 | return false -- just return something |
24 | end |
25 | selectColor(lastimg1) |
26 | class2sampled = solution |
27 | print("color of class "..(class2sampled and "2" or "1")..": ".. num2hex(color)) |
28 | end |
29 | |
30 | lastimg1, lastimg2 = img1, img2 |
31 | |
32 | flag1 = containsColor(img1, color) |
33 | flag2 = containsColor(img2, color) |
34 | if flag1 == flag2 then |
35 | color = nil |
36 | return false |
37 | end |
38 | guess = flag1 == class2sampled |
39 | return guess |
40 | end |
Began life as a copy of #483
test run test run with input download show line numbers
Travelled to 12 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #484 |
Snippet name: | Image distinguisher by randomly selected color |
Eternal ID of this version: | #484/1 |
Text MD5: | 570216e2e5c9b9c845e8e558916f517e |
Author: | stefan |
Category: | |
Type: | Lua code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2015-03-04 22:40:53 |
Source code size: | 1133 bytes / 40 lines |
Pitched / IR pitched: | No / Yes |
Views / Downloads: | 738 / 263 |
Referenced in: | [show references] |