Skip to content

Instantly share code, notes, and snippets.

@SeungheonOh
Created September 28, 2021 12:40
Show Gist options
  • Save SeungheonOh/4ab75432bffafdf0b0ef45a7550ec51c to your computer and use it in GitHub Desktop.
Save SeungheonOh/4ab75432bffafdf0b0ef45a7550ec51c to your computer and use it in GitHub Desktop.
import dearpygui.dearpygui as dpg
def cnter():
state = 0
def inc():
nonlocal state
state = state + 1
def get():
nonlocal state
return state
return (inc, get)
WHITE = (255, 255, 255, 255)
RED = (255, 10, 10, 255)
cinc, cget = cnter()
fmap = lambda a, b: list(map(a, b))
l = lambda i: dpg.add_text(id=str(i), default_value="-")
b = lambda i: dpg.add_button(id=i, label="^", callback=click)
click = lambda a: print(a % 10)
do = lambda a, b: (lambda _: b)(a)
flatten = lambda a: [] if a == [] else a[0] + flatten(a[1:])
getboard = lambda: fmap(lambda x: dpg.get_value(str(x)), range(1, 43))
rowfirst = lambda b: fmap(lambda y: fmap(lambda x: x[x+y*7], range(0, 7)), range(0, 6))
rest = lambda: do(do(fmap(lambda a: do(dpg.set_value(str(a), "-"), dpg.configure_item(str(a), color=WHITE)), range(1, 43)), dpg.hide_item("exit")), dpg.set_value("winner", ""))
with dpg.window(id="main"):
with dpg.table(header_row=False, row_background=True, width=300) as table_id:
dpg.add_table_column(); dpg.add_table_column(); dpg.add_table_column()
dpg.add_table_column(); dpg.add_table_column(); dpg.add_table_column()
dpg.add_table_column()
with dpg.table_row(): l(1); l(2); l(3); l(4); l(5); l(6); l(7)
with dpg.table_row(): l(8); l(9); l(10); l(11); l(12); l(13); l(14)
with dpg.table_row(): l(15); l(16); l(17); l(18); l(19); l(20); l(21)
with dpg.table_row(): l(22); l(23); l(24); l(25); l(26); l(27); l(28)
with dpg.table_row(): l(29); l(30); l(31); l(32); l(33); l(34); l(35)
with dpg.table_row(): l(36); l(37); l(38); l(39); l(40); l(41); l(42)
with dpg.table_row(): b(51); b(52); b(53); b(54); b(55); b(56); b(57)
dpg.add_text(id="winner", default_value="")
dpg.add_button(id="exit", label="exit", callback=lambda: exit())
dpg.add_button(label="reset", callback=rest)
dpg.hide_item("exit")
dpg.add_button(label="test", callback=lambda: dpg.set_value("4", "x"))
dpg.add_button(label="test1", callback=lambda: print(rowfirst(getboard())))
dpg.set_primary_window("main", True)
dpg.start_dearpygui()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment