Wave function collapse: Difference between revisions
→{{header|Wren}}: Updated in line with C version of which it is a translation.
m (→{{header|J}}: grammar) |
(→{{header|Wren}}: Updated in line with C version of which it is a translation.) |
||
Line 268:
=={{header|Wren}}==
{{trans|C}}
Well, I don't know whether this task is going to be deleted or not
The following is a translation of his C version.
<lang ecmascript>import "random" for Random
var rand = Random.new()
var
0, 0, 0,
0, 0, 0,
Line 297 ⟶ 294:
]
var wfc = Fn.new { |
var N = target[0] * target[1]
var t0 = target[0]
Line 320 ⟶ 317:
horz[j+i*td0] = 1
for (k in 0...td1) {
if (
horz[j+i*td0] = 0
break
Line 332 ⟶ 329:
vert[j+i*td0]= 1
for (k in 0...td2) {
if (
vert[j+i*td0]= 0
break
Line 343 ⟶ 340:
for (i in 0...td0) {
for (j in 0...td0) {
allow[ (i*td0)+j] = vert[(
allow[ stride +(i*td0)+j] = horz[(
allow[(2*stride)+(i*td0)+j] = horz[(
allow[(3*stride)+(i*td0)+j] = vert[(
}
}
Line 394 ⟶ 391:
for (i in 0...td0) {
if (wave[ind+i] != 0) {
possible[d] = i
d = d + 1
}
Line 401 ⟶ 398:
}
if (!R) return null
var
for (i0 in 0...t0) {
for (i1 in 0...td1) {
for (j0 in 0...t1) {
for (j1 in 0...td2) {
var t = j1 + (td2-1)*
}▼
}
}
}
}
return
}
var tdims = [5, 3, 3]
var size = [8, 8]
var
if (!
for (i in 0..
for (j in 0..
System.write("%(" #"[
}
System.print()
Line 431 ⟶ 426:
Sample output:
<pre>
# # # # #
# # # # # #
# #
# # # # # #
#
# # #
# #
# # # # # # # # # # #
# #
# # # # # # # # # # # # #
#
# # # #
# #
#
</pre>
|