Skip to content

Commit 3a9718c

Browse files
user@eeepc-rjp.lanrjp
authored andcommitted
- #8 Scrabulous game thumbnails
- blankboard isn't currently correct - make_plain_tiles should probably be the job of 2/maketiles.sh - 96x96 thumbnail might be too small, 128x128 is probably better
1 parent b5119f2 commit 3a9718c

File tree

4 files changed

+282
-0
lines changed

4 files changed

+282
-0
lines changed

8/README

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
Shell script to make a thumbnail from a completed Scrabulous game
2+
stored in the SQLite3 database /tmp/scrabgames.db
3+
4+
Outputs a 128x128 PNG suitable for uploading to Tumblr, etc.
5+
6+
Requires a text file named blankboard which contains the list of
7+
filenames required for montage to create the full-sized blank board.
8+
9+
The script iterates over the nodes, placing each letter into the
10+
new list of images (newboard) using an ed script. montage creates
11+
the full-sized image and convert scales it down to our thumbnail.

8/blankboard

+225
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,225 @@
1+
1
2+
2
3+
3
4+
4
5+
5
6+
6
7+
7
8+
8
9+
9
10+
10
11+
11
12+
12
13+
13
14+
14
15+
15
16+
16
17+
17
18+
18
19+
19
20+
20
21+
21
22+
22
23+
23
24+
24
25+
25
26+
26
27+
27
28+
28
29+
29
30+
30
31+
31
32+
32
33+
33
34+
34
35+
35
36+
36
37+
37
38+
38
39+
39
40+
40
41+
41
42+
42
43+
43
44+
44
45+
45
46+
46
47+
47
48+
48
49+
49
50+
50
51+
51
52+
52
53+
53
54+
54
55+
55
56+
56
57+
57
58+
58
59+
59
60+
60
61+
61
62+
62
63+
63
64+
64
65+
65
66+
66
67+
67
68+
68
69+
69
70+
70
71+
71
72+
72
73+
73
74+
74
75+
75
76+
76
77+
77
78+
78
79+
79
80+
80
81+
81
82+
82
83+
83
84+
84
85+
85
86+
86
87+
87
88+
88
89+
89
90+
90
91+
91
92+
92
93+
93
94+
94
95+
95
96+
96
97+
97
98+
98
99+
99
100+
100
101+
101
102+
102
103+
103
104+
104
105+
105
106+
106
107+
107
108+
108
109+
109
110+
110
111+
111
112+
112
113+
113
114+
114
115+
115
116+
116
117+
117
118+
118
119+
119
120+
120
121+
121
122+
122
123+
123
124+
124
125+
125
126+
126
127+
127
128+
128
129+
129
130+
130
131+
131
132+
132
133+
133
134+
134
135+
135
136+
136
137+
137
138+
138
139+
139
140+
140
141+
141
142+
142
143+
143
144+
144
145+
145
146+
146
147+
147
148+
148
149+
149
150+
150
151+
151
152+
152
153+
153
154+
154
155+
155
156+
156
157+
157
158+
158
159+
159
160+
160
161+
161
162+
162
163+
163
164+
164
165+
165
166+
166
167+
167
168+
168
169+
169
170+
170
171+
171
172+
172
173+
173
174+
174
175+
175
176+
176
177+
177
178+
178
179+
179
180+
180
181+
181
182+
182
183+
183
184+
184
185+
185
186+
186
187+
187
188+
188
189+
189
190+
190
191+
191
192+
192
193+
193
194+
194
195+
195
196+
196
197+
197
198+
198
199+
199
200+
200
201+
201
202+
202
203+
203
204+
204
205+
205
206+
206
207+
207
208+
208
209+
209
210+
210
211+
211
212+
212
213+
213
214+
214
215+
215
216+
216
217+
217
218+
218
219+
219
220+
220
221+
221
222+
222
223+
223
224+
224
225+
225

8/make_game_thumb.sh

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
across=15
2+
down=15
3+
gameid=$1
4+
letters=../letters/
5+
6+
cp blankboard newboard
7+
8+
nodes='Z,1,2,3|Q,1,3,4|r,0,0,5'
9+
# nodes=$(echo "select nodes from game where gameid=$gameid" | sqlite3 /tmp/scrabgames.db)
10+
11+
for tile in $(echo $nodes | tr '|' ' '); do
12+
set -- $(echo $tile | tr ',' ' ')
13+
letter=$1
14+
x=$2
15+
y=$3
16+
line=$((15*y+x))
17+
color=white
18+
uc=$(echo $letter | tr a-z A-Z)
19+
if [ $uc != $letter ]; then color=blue; fi
20+
echo "placing letter $letter at $x,$y (line $line)"
21+
(
22+
echo $((line+1))d
23+
echo ${line}a
24+
echo ${letters}$color$letter.png
25+
echo .
26+
echo w
27+
echo q
28+
) | ed newboard
29+
done
30+
31+
montage +frame +shadow +label -tile 15x15 -geometry 32x32 @newboard board.png
32+
convert -resize 96x96 board.png $gameid.png

8/make_plain_tiles.sh

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# bonus tiles
2+
for i in white red aquamarine blue pink; do
3+
convert -size 32x32 xc:$i $i.png
4+
done
5+
6+
convert -size 32x32 xc:'#f0dc82' blank.png
7+
# normal letters
8+
for i in A1 B3 C3 D2 E1 F4 G2 H4 I1 J8 K5 L1 M3 N1 O1 P3 Q10 R1 S1 T1 U1 V4 W4 X8 Y4 Z10; do
9+
letter=${i:0:1}; score=${i:1}; o=2;
10+
if [ $letter = 'Q' ]; then o=0; fi;
11+
for j in white blue green red purple; do
12+
convert blank.png -gravity Center -pointsize 22 -fill black -draw "text -1,3 '$letter'" -fill black -draw "text 0,4 '$letter'" -fill black -draw "text 1,3 '$letter'" -fill black -draw "text 0,2 '$letter'" -fill "$j" -draw "text 0,3 '$letter'" -pointsize 8 -fill black -gravity SouthEast -draw "text $o,0 '$score'" $j$letter.png
13+
done
14+
done

0 commit comments

Comments
 (0)