Not logged in.  Login/Logout/Register | List snippets | | Create snippet | Upload image | Upload data

38
LINES

< > BotCompany Repo | #1010237 // Computer Understands Today's Project [OK]

JavaX source code (desktop) [tags: use-pretranspiled] - run with: x30.jar

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: 530 / 1410
Version history: 61 change(s)
Referenced in: [show references]