mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-19 19:10:17 +00:00
commit
ad1b278a9b
@ -1,13 +1,43 @@
|
||||
from array2d import chunked_array2d
|
||||
import array2d
|
||||
from linalg import vec2i
|
||||
|
||||
a = chunked_array2d(4, default=0)
|
||||
|
||||
print(iter(a))
|
||||
print(list(a))
|
||||
def on_builder(a:vec2i):
|
||||
return str(a)
|
||||
pass
|
||||
|
||||
a[vec2i.ONE] = 1
|
||||
default = 0
|
||||
a = array2d.chunked_array2d(16, default,on_builder)
|
||||
assert a.chunk_size == 16
|
||||
|
||||
print(a.view().render())
|
||||
print(list(a))
|
||||
a[vec2i(16, 16)] = 16
|
||||
a[vec2i(15, 16)] = 15
|
||||
assert a[vec2i(16, 16)] == 16
|
||||
assert a[vec2i(15, 16)] == 15
|
||||
assert a[vec2i(16, 15)] == default
|
||||
|
||||
a1,a2=a.world_to_chunk(vec2i(15,16))
|
||||
|
||||
assert a.remove_chunk(a1)== True
|
||||
assert a[vec2i(15, 16)] == default
|
||||
|
||||
assert a.get_context(vec2i(1,1))==on_builder(vec2i(1,1))
|
||||
|
||||
assert a.view().tolist()==[
|
||||
[16 if i==0 and j==0 else 0 for j in range(16)] for i in range(16)
|
||||
]
|
||||
assert a.view_rect(vec2i(15,15),4,4).tolist()==[
|
||||
[0,0,0,0],
|
||||
[0,16,0,0],
|
||||
[0,0,0,0],
|
||||
[0,0,0,0]
|
||||
]
|
||||
a[vec2i(15, 16)] = 15
|
||||
assert a.view_chunk(a1).tolist()==[
|
||||
[15 if i==0 and j==15 else 0 for j in range(16)] for i in range(16)
|
||||
]
|
||||
a.clear()
|
||||
|
||||
assert a[vec2i(16, 16)] == default
|
||||
assert a[vec2i(15, 16)] == default
|
||||
assert a[vec2i(16, 15)] == default
|
||||
|
Loading…
x
Reference in New Issue
Block a user