cryptopunks 2.1.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,162 +1,162 @@
1
-
2
- ROBOT_COLORS = [
3
- '000000', # color 1 - BLACK
4
- '535353', # color 2 - BASE 2 (DARKER)
5
- 'A4A4A4', # color 3 - BASE 1
6
- 'A9F7FF', # color 4 - BASE 3 (LIGHTER) - eyes
7
- ]
8
-
9
- VAMPIRE_COLORS = [
10
- '000000', # color 1 - BLACK
11
- '131313', # color 2 - BASE 4 (DARKEST)
12
- '535353', # color 3 - BASE 3 (DARKERER) - eyes
13
- 'A4A4A4', # color 4 - BASE 2 (DARKER) - eyes
14
- 'E0E0E0', # color 5 - BASE 1
15
- 'F6000B', # color 6 - BASE 5 - teeth - red
16
- ]
17
-
18
- MUMMY_COLORS = [
19
- '000000', # color 1 - BLACK
20
- '1F1A15', # color 2 - BASE 5 (DARKEST)
21
- '2A231C', # color 3 - BASE 4 (DARKERERER)
22
- '5F5147', # color 4 - BASE 3 (DARKERER)
23
- '927B6A', # color 5 - BASE 2 (DARKER)
24
- 'D9B599', # color 6 - BASE 1
25
- 'F6000B', # color 7 - BASE 6 - eyes - red
26
- ]
27
-
28
- ORC_COLORS = [
29
- '000000', # color 1 - BLACK
30
- '171a08', # color 2 - BASE 3 (DARKEST)
31
- '333F0C', # color 3 - BASE 2 (DARKER)
32
- '50650E', # color 4 - BASE 1
33
- 'FFFFFF', # color 5 - BASE 4 - white
34
- ]
35
-
36
- SKELETON_COLORS = [
37
- '000000', # color 1 - BLACK
38
- 'e0e0e0', # color 2 - BASE 1
39
- ]
40
-
41
- DEMON_COLORS = [
42
- '000000', # color 1 - BLACK
43
- '390102', # color 2 - BASE 3 (DARKEST) - eyes
44
- '630006', # color 3 - BASE 2 (DARKER) - eyes
45
- '850008', # color 4 - BASE 1
46
- ]
47
-
48
- ZOMBIE_COLORS = [
49
- '000000', # color 1 - BLACK
50
- '5e7253', # color 2 - BASE 2 (DARKER)
51
- '7da269', # color 3 - BASE 1
52
- 'ff0000', # color 4 - BASE 3 - red eye
53
- '9bbc88', # color 5 - BASE 4 (LIGHTER)
54
- '4a010d', # color 6 - BASE 5 - mouth (female only)
55
- ]
56
-
57
- APE_COLORS = [
58
- '000000', # color 1 - BLACK
59
- '352410', # color 2 - BASE 3 (DARKEST)
60
- '6a563f', # color 3 - BASE 2 (DARKER) - eyes
61
- '856f56', # color 4 - BASE 1
62
- 'a98c6b', # color 5 - BASE 4 (LIGHTER) - eyes
63
- ]
64
-
65
- ALIEN_COLORS = [
66
- '000000', # color 1 - BLACK
67
- '75bdbd', # color 2 - BASE 3 (DARKEST)
68
- '9be0e0', # color 3 - BASE 2 (DARKER)
69
- 'c8fbfb', # color 4 - BASE 1
70
- ]
71
-
72
-
73
- HUMAN_LIGHTER_BASE1 = 'ead9d9' # rgb(234 217 217) - hsl( 0° 29% 88%)
74
- HUMAN_LIGHTER_BASE2 = 'c9b2b2' # rgb(201 178 178) - hsl( 0° 18% 74%) - eyes
75
- HUMAN_LIGHTER_BASE3 = 'a58d8d' # rgb(165 141 141) - hsl( 0° 12% 60%) - eyes
76
- HUMAN_LIGHTER_BASE4 = 'ffffff' # rgb(255 255 255) - hsl( 0° 0% 100%) -- white
77
- HUMAN_LIGHTER_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
78
-
79
- HUMAN_LIGHT_BASE1 = 'dbb180' # rgb(219 177 128) - hsl( 32° 56% 68%)
80
- HUMAN_LIGHT_BASE2 = 'd29d60' # rgb(210 157 96) - hsl( 32° 56% 60%) - eyes
81
- HUMAN_LIGHT_BASE3 = 'a66e2c' # rgb(166 110 44) - hsl( 32° 58% 41%) - eyes
82
- HUMAN_LIGHT_BASE4 = 'e7cba9' # rgb(231 203 169) - hsl( 33° 56% 78%)
83
- HUMAN_LIGHT_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
84
-
85
- HUMAN_DARK_BASE1 = 'ae8b61' # rgb(174 139 97) - hsl( 33° 32% 53%)
86
- HUMAN_DARK_BASE2 = 'a77c47' # rgb(167 124 71) - hsl( 33° 40% 47%) - eyes
87
- HUMAN_DARK_BASE3 = '86581e' # rgb(134 88 30) - hsl( 33° 63% 32%) - eyes
88
- HUMAN_DARK_BASE4 = 'b69f82' # rgb(182 159 130) - hsl( 33° 26% 61%)
89
- HUMAN_DARK_BASE5 = '5f1d09' # rgb( 95 29 9) - hsl( 14° 83% 20%) - mouth
90
-
91
- HUMAN_DARKER_BASE1 = '713f1d' # rgb(113 63 29) - hsl( 24° 59% 28%)
92
- HUMAN_DARKER_BASE2 = '723709' # rgb(114 55 9) - hsl( 26° 85% 24%) - eyes
93
- HUMAN_DARKER_BASE3 = '562600' # rgb( 86 38 0) - hsl( 27° 100% 17%) - eyes
94
- HUMAN_DARKER_BASE4 = '8b532c' # rgb(139 83 44) - hsl( 25° 52% 36%)
95
- HUMAN_DARKER_BASE5 = '4a1201' # rgb( 74 18 1) - hsl( 14° 97% 15%) - mouth
96
-
97
-
98
- HUMAN_COLORS_LIGHT = [ ## todo/check: change to HUMAN_LIGHT_COLORS???
99
- '000000', # color 1 - BLACK
100
- HUMAN_LIGHT_BASE3, # color 2 - BASE 3 (DARKEST) - eyes
101
- HUMAN_LIGHT_BASE2, # color 3 - BASE 2 (DARKER) - eyes
102
- HUMAN_LIGHT_BASE1, # color 4 - BASE 1
103
- HUMAN_LIGHT_BASE4, # color 5 - BASE 4
104
- HUMAN_LIGHT_BASE5, # color 6 - BASE 5 - mouth (femaly only)
105
- ]
106
-
107
- HUMAN_COLORS_LIGHTER = [ ## todo/check: change to HUMAN_LIGHTER_COLORS?? or add alias - why? why not?
108
- '000000', # color 1 - BLACK
109
- HUMAN_LIGHTER_BASE3,
110
- HUMAN_LIGHTER_BASE2,
111
- HUMAN_LIGHTER_BASE1,
112
- HUMAN_LIGHTER_BASE4,
113
- HUMAN_LIGHTER_BASE5,
114
- ]
115
-
116
- HUMAN_COLORS_DARK = [
117
- '000000', # color 1 - BLACK
118
- HUMAN_DARK_BASE3,
119
- HUMAN_DARK_BASE2,
120
- HUMAN_DARK_BASE1,
121
- HUMAN_DARK_BASE4,
122
- HUMAN_DARK_BASE5,
123
- ]
124
-
125
- HUMAN_COLORS_DARKER = [
126
- '000000', # color 1 - BLACK
127
- HUMAN_DARKER_BASE3,
128
- HUMAN_DARKER_BASE2,
129
- HUMAN_DARKER_BASE1,
130
- HUMAN_DARKER_BASE4,
131
- HUMAN_DARKER_BASE5,
132
- ]
133
-
134
-
135
- HUMAN_COLORS = {
136
- 'light' => HUMAN_COLORS_LIGHT,
137
- 'lighter' => HUMAN_COLORS_LIGHTER,
138
- 'dark' => HUMAN_COLORS_DARK,
139
- 'darker' => HUMAN_COLORS_DARKER,
140
- }
141
-
142
-
143
-
144
- ### todo/check:
145
- ## use a different name other than the "generic" COLORS - why? why not?
146
-
147
- COLORS = {
148
- ## original series
149
- 'human' => HUMAN_COLORS,
150
- 'zombie' => ZOMBIE_COLORS,
151
- 'ape' => APE_COLORS,
152
- 'alien' => ALIEN_COLORS,
153
- ## more series
154
- 'vampire' => VAMPIRE_COLORS,
155
- 'mummy' => MUMMY_COLORS,
156
- 'orc' => ORC_COLORS,
157
- 'skeleton' => SKELETON_COLORS,
158
- 'demon' => DEMON_COLORS,
159
- 'robot' => ROBOT_COLORS,
160
- }
161
-
162
-
1
+
2
+ ROBOT_COLORS = [
3
+ '000000', # color 1 - BLACK
4
+ '535353', # color 2 - BASE 2 (DARKER)
5
+ 'A4A4A4', # color 3 - BASE 1
6
+ 'A9F7FF', # color 4 - BASE 3 (LIGHTER) - eyes
7
+ ]
8
+
9
+ VAMPIRE_COLORS = [
10
+ '000000', # color 1 - BLACK
11
+ '131313', # color 2 - BASE 4 (DARKEST)
12
+ '535353', # color 3 - BASE 3 (DARKERER) - eyes
13
+ 'A4A4A4', # color 4 - BASE 2 (DARKER) - eyes
14
+ 'E0E0E0', # color 5 - BASE 1
15
+ 'F6000B', # color 6 - BASE 5 - teeth - red
16
+ ]
17
+
18
+ MUMMY_COLORS = [
19
+ '000000', # color 1 - BLACK
20
+ '1F1A15', # color 2 - BASE 5 (DARKEST)
21
+ '2A231C', # color 3 - BASE 4 (DARKERERER)
22
+ '5F5147', # color 4 - BASE 3 (DARKERER)
23
+ '927B6A', # color 5 - BASE 2 (DARKER)
24
+ 'D9B599', # color 6 - BASE 1
25
+ 'F6000B', # color 7 - BASE 6 - eyes - red
26
+ ]
27
+
28
+ ORC_COLORS = [
29
+ '000000', # color 1 - BLACK
30
+ '171a08', # color 2 - BASE 3 (DARKEST)
31
+ '333F0C', # color 3 - BASE 2 (DARKER)
32
+ '50650E', # color 4 - BASE 1
33
+ 'FFFFFF', # color 5 - BASE 4 - white
34
+ ]
35
+
36
+ SKELETON_COLORS = [
37
+ '000000', # color 1 - BLACK
38
+ 'e0e0e0', # color 2 - BASE 1
39
+ ]
40
+
41
+ DEMON_COLORS = [
42
+ '000000', # color 1 - BLACK
43
+ '390102', # color 2 - BASE 3 (DARKEST) - eyes
44
+ '630006', # color 3 - BASE 2 (DARKER) - eyes
45
+ '850008', # color 4 - BASE 1
46
+ ]
47
+
48
+ ZOMBIE_COLORS = [
49
+ '000000', # color 1 - BLACK
50
+ '5e7253', # color 2 - BASE 2 (DARKER)
51
+ '7da269', # color 3 - BASE 1
52
+ 'ff0000', # color 4 - BASE 3 - red eye
53
+ '9bbc88', # color 5 - BASE 4 (LIGHTER)
54
+ '4a010d', # color 6 - BASE 5 - mouth (female only)
55
+ ]
56
+
57
+ APE_COLORS = [
58
+ '000000', # color 1 - BLACK
59
+ '352410', # color 2 - BASE 3 (DARKEST)
60
+ '6a563f', # color 3 - BASE 2 (DARKER) - eyes
61
+ '856f56', # color 4 - BASE 1
62
+ 'a98c6b', # color 5 - BASE 4 (LIGHTER) - eyes
63
+ ]
64
+
65
+ ALIEN_COLORS = [
66
+ '000000', # color 1 - BLACK
67
+ '75bdbd', # color 2 - BASE 3 (DARKEST)
68
+ '9be0e0', # color 3 - BASE 2 (DARKER)
69
+ 'c8fbfb', # color 4 - BASE 1
70
+ ]
71
+
72
+
73
+ HUMAN_LIGHTER_BASE1 = 'ead9d9' # rgb(234 217 217) - hsl( 0° 29% 88%)
74
+ HUMAN_LIGHTER_BASE2 = 'c9b2b2' # rgb(201 178 178) - hsl( 0° 18% 74%) - eyes
75
+ HUMAN_LIGHTER_BASE3 = 'a58d8d' # rgb(165 141 141) - hsl( 0° 12% 60%) - eyes
76
+ HUMAN_LIGHTER_BASE4 = 'ffffff' # rgb(255 255 255) - hsl( 0° 0% 100%) -- white
77
+ HUMAN_LIGHTER_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
78
+
79
+ HUMAN_LIGHT_BASE1 = 'dbb180' # rgb(219 177 128) - hsl( 32° 56% 68%)
80
+ HUMAN_LIGHT_BASE2 = 'd29d60' # rgb(210 157 96) - hsl( 32° 56% 60%) - eyes
81
+ HUMAN_LIGHT_BASE3 = 'a66e2c' # rgb(166 110 44) - hsl( 32° 58% 41%) - eyes
82
+ HUMAN_LIGHT_BASE4 = 'e7cba9' # rgb(231 203 169) - hsl( 33° 56% 78%)
83
+ HUMAN_LIGHT_BASE5 = '711010' # rgb(113 16 16) - hsl( 0° 75% 25%) - mouth
84
+
85
+ HUMAN_DARK_BASE1 = 'ae8b61' # rgb(174 139 97) - hsl( 33° 32% 53%)
86
+ HUMAN_DARK_BASE2 = 'a77c47' # rgb(167 124 71) - hsl( 33° 40% 47%) - eyes
87
+ HUMAN_DARK_BASE3 = '86581e' # rgb(134 88 30) - hsl( 33° 63% 32%) - eyes
88
+ HUMAN_DARK_BASE4 = 'b69f82' # rgb(182 159 130) - hsl( 33° 26% 61%)
89
+ HUMAN_DARK_BASE5 = '5f1d09' # rgb( 95 29 9) - hsl( 14° 83% 20%) - mouth
90
+
91
+ HUMAN_DARKER_BASE1 = '713f1d' # rgb(113 63 29) - hsl( 24° 59% 28%)
92
+ HUMAN_DARKER_BASE2 = '723709' # rgb(114 55 9) - hsl( 26° 85% 24%) - eyes
93
+ HUMAN_DARKER_BASE3 = '562600' # rgb( 86 38 0) - hsl( 27° 100% 17%) - eyes
94
+ HUMAN_DARKER_BASE4 = '8b532c' # rgb(139 83 44) - hsl( 25° 52% 36%)
95
+ HUMAN_DARKER_BASE5 = '4a1201' # rgb( 74 18 1) - hsl( 14° 97% 15%) - mouth
96
+
97
+
98
+ HUMAN_COLORS_LIGHT = [ ## todo/check: change to HUMAN_LIGHT_COLORS???
99
+ '000000', # color 1 - BLACK
100
+ HUMAN_LIGHT_BASE3, # color 2 - BASE 3 (DARKEST) - eyes
101
+ HUMAN_LIGHT_BASE2, # color 3 - BASE 2 (DARKER) - eyes
102
+ HUMAN_LIGHT_BASE1, # color 4 - BASE 1
103
+ HUMAN_LIGHT_BASE4, # color 5 - BASE 4
104
+ HUMAN_LIGHT_BASE5, # color 6 - BASE 5 - mouth (femaly only)
105
+ ]
106
+
107
+ HUMAN_COLORS_LIGHTER = [ ## todo/check: change to HUMAN_LIGHTER_COLORS?? or add alias - why? why not?
108
+ '000000', # color 1 - BLACK
109
+ HUMAN_LIGHTER_BASE3,
110
+ HUMAN_LIGHTER_BASE2,
111
+ HUMAN_LIGHTER_BASE1,
112
+ HUMAN_LIGHTER_BASE4,
113
+ HUMAN_LIGHTER_BASE5,
114
+ ]
115
+
116
+ HUMAN_COLORS_DARK = [
117
+ '000000', # color 1 - BLACK
118
+ HUMAN_DARK_BASE3,
119
+ HUMAN_DARK_BASE2,
120
+ HUMAN_DARK_BASE1,
121
+ HUMAN_DARK_BASE4,
122
+ HUMAN_DARK_BASE5,
123
+ ]
124
+
125
+ HUMAN_COLORS_DARKER = [
126
+ '000000', # color 1 - BLACK
127
+ HUMAN_DARKER_BASE3,
128
+ HUMAN_DARKER_BASE2,
129
+ HUMAN_DARKER_BASE1,
130
+ HUMAN_DARKER_BASE4,
131
+ HUMAN_DARKER_BASE5,
132
+ ]
133
+
134
+
135
+ HUMAN_COLORS = {
136
+ 'light' => HUMAN_COLORS_LIGHT,
137
+ 'lighter' => HUMAN_COLORS_LIGHTER,
138
+ 'dark' => HUMAN_COLORS_DARK,
139
+ 'darker' => HUMAN_COLORS_DARKER,
140
+ }
141
+
142
+
143
+
144
+ ### todo/check:
145
+ ## use a different name other than the "generic" COLORS - why? why not?
146
+
147
+ COLORS = {
148
+ ## original series
149
+ 'human' => HUMAN_COLORS,
150
+ 'zombie' => ZOMBIE_COLORS,
151
+ 'ape' => APE_COLORS,
152
+ 'alien' => ALIEN_COLORS,
153
+ ## more series
154
+ 'vampire' => VAMPIRE_COLORS,
155
+ 'mummy' => MUMMY_COLORS,
156
+ 'orc' => ORC_COLORS,
157
+ 'skeleton' => SKELETON_COLORS,
158
+ 'demon' => DEMON_COLORS,
159
+ 'robot' => ROBOT_COLORS,
160
+ }
161
+
162
+
@@ -1,38 +1,38 @@
1
- module Cryptopunks
2
- ## note: was Image::Composite
3
- class ImageComposite < Pixelart::ImageComposite
4
-
5
- PUNK_HASH = 'ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b'
6
-
7
- def self.sha256( data )
8
- ## todo/check: or just use Digest::SHA256.hexdigest - why? why not?
9
- Digest::SHA256.digest( data ).unpack( 'H*' )[0]
10
- end
11
-
12
-
13
- PUNK_HEIGHT = 24
14
- PUNK_WIDTH = 24
15
-
16
- def self.read( path='./punks.png', width: PUNK_WIDTH, height: PUNK_HEIGHT )
17
- data = File.open( path, 'rb' ) { |f| f.read }
18
-
19
- hexdigest = sha256( data ) ## check sha256 checksum
20
- if hexdigest == PUNK_HASH
21
- puts " >#{hexdigest}< SHA256 hash matching"
22
- puts " ✓ True Official Genuine CryptoPunks™ verified"
23
- else
24
- puts " ✓ True Official Genuine Yes, You Can! Punks Not Dead verified"
25
- end
26
-
27
- img = ChunkyPNG::Image.from_blob( data )
28
- new( img, width: width, height: height )
29
- end
30
-
31
-
32
- def initialize( *args, width: PUNK_WIDTH,
33
- height: PUNK_HEIGHT )
34
- super
35
- end
36
-
37
- end ## class ImageComposite
38
- end ## module Cryptopunks
1
+ module Punk
2
+ ## note: was Image::Composite
3
+ class ImageComposite < Pixelart::ImageComposite
4
+
5
+ PUNK_HASH = 'ac39af4793119ee46bbff351d8cb6b5f23da60222126add4268e261199a2921b'
6
+
7
+ def self.sha256( data )
8
+ ## todo/check: or just use Digest::SHA256.hexdigest - why? why not?
9
+ Digest::SHA256.digest( data ).unpack( 'H*' )[0]
10
+ end
11
+
12
+
13
+ PUNK_HEIGHT = 24
14
+ PUNK_WIDTH = 24
15
+
16
+ def self.read( path='./punks.png', width: PUNK_WIDTH, height: PUNK_HEIGHT )
17
+ data = File.open( path, 'rb' ) { |f| f.read }
18
+
19
+ hexdigest = sha256( data ) ## check sha256 checksum
20
+ if hexdigest == PUNK_HASH
21
+ puts " >#{hexdigest}< SHA256 hash matching"
22
+ puts " ✓ True Official Genuine Matt & John's® Punks verified"
23
+ else
24
+ puts " ✓ True Official Genuine Yes, You Can! Punk's Not Dead® verified"
25
+ end
26
+
27
+ img = ChunkyPNG::Image.from_blob( data )
28
+ new( img, width: width, height: height )
29
+ end
30
+
31
+
32
+ def initialize( *args, width: PUNK_WIDTH,
33
+ height: PUNK_HEIGHT )
34
+ super
35
+ end
36
+
37
+ end ## class ImageComposite
38
+ end ## module Punk