Download Jar. Uses 3874K of libraries. Click here for Pure Java version (14531L/104K).
!7 sS inputDiagrams = [[ CirclesAndLines(circles=[Circle(text="Today's project", x=d("0.24927953890489912"), y=d("0.1760154738878143")), Circle(text="Showing", x=d("0.24639769452449567"), y=d("0.4816247582205029")), Circle(text="a JButton", x=d("0.5547550432276657"), y=d("0.4796905222437137")), Circle(text="an image", x=d("0.43948126801152737"), y=d("0.758220502901354")), Circle(text="a text", x=d("0.7103746397694525"), y=d("0.7620889748549323"))], lines=[Arrow(a=t5, b=t26, text="is"), Arrow(a=t26, b=t47, text=""), Arrow(a=t47, b=t68, text="with"), Arrow(a=t47, b=t89, text="with")], title="Today's project") CirclesAndLines(circles=[Circle(text="What I can do", x=d("0.24927953890489912"), y=d("0.1760154738878143")), Circle(text="Showing", x=d("0.24639769452449567"), y=d("0.4816247582205029")), Circle(text="a JButton", x=d("0.5547550432276657"), y=d("0.4796905222437137")), Circle(text="a text", x=d("0.7103746397694525"), y=d("0.7620889748549323"))], lines=[Arrow(a=t5, b=t26, text="is"), Arrow(a=t26, b=t47, text=""), Arrow(a=t47, b=t68, text="with")], title="What I could already do") CirclesAndLines(circles=[Circle(text="What I can do", x=d("0.24927953890489912"), y=d("0.1760154738878143")), Circle(text="Showing", x=d("0.24639769452449567"), y=d("0.4816247582205029")), Circle(text="a JButton", x=d("0.5547550432276657"), y=d("0.4796905222437137")), Circle(text="an image", x=d("0.41210374639769454"), y=d("0.758220502901354"))], lines=[Arrow(a=t5, b=t26, text="is"), Arrow(a=t26, b=t47, text=""), Arrow(a=t47, b=t68, text="with")], title="What I could already do 2") ]]; static SingleComponentPanel scp; static L<Web> webs; p-noconsole { webs = websFromCALStructures(inputDiagrams); scp = singleComponentPanel(jfullcenter(setFontSize(30, jbutton("Think", f think)))); setFrameSize(700, 500, showTabbedWebs(listPlus((L) moveFirstToEnd(cloneList(webs)), "Computer's Insight", scp)); } svoid think { L<Pair<WebNode>> diff1 = webs_differingNodes(first(webs), second(webs)); L<Pair<WebNode>> diff2 = webs_differingNodes(first(webs), last(webs)); if (l(diff1) == 1 && l(diff2) == 1) { Pair<WebNode> a = first(diff1), b = first(diff2); if (a.a == b.a) { WebNode node = a.a; L<WebNode> nu = web_forwardRelated(node); L<WebNode> old1 = web_forwardRelated(a.b); L<WebNode> old2 = web_forwardRelated(b.b); Set<S> t_nu = web_textSet(nu), t_old1 = web_textSet(old1), t_old2 = web_textSet(old2); if (eq(t_nu, joinTreeSets(t_old1, t_old2))) { S answer = "AHA!!!\n\nYou want to combine " + join(" AND ", t_nu) + " into " + web_text(node) + "."; int seconds = 20; scp.setComponent(jTiledBackground(whiteImage(10, 10), jFullCenter(setFont(sansSerif(20), jcenteredtextpane(answer))))); JWindow box = infoBox(answer, seconds); moveWindowDown(showAnim(#1010239, seconds), box.getHeight()+20); } } } }
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, imzmzdywqqli, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1010237 |
Snippet name: | Computer Understands Today's Project [OK] |
Eternal ID of this version: | #1010237/62 |
Text MD5: | 9ed7c6a4497e373178d3c4f92eca6b1e |
Transpilation MD5: | 4bf654c0a9c0132adb525963a6f23180 |
Author: | stefan |
Category: | javax / a.i. |
Type: | JavaX source code (desktop) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2017-09-07 20:23:29 |
Source code size: | 2952 bytes / 38 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 655 / 1713 |
Version history: | 61 change(s) |
Referenced in: | [show references] |