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

72
LINES

< > BotCompany Repo | #1007132 // A. I. Game 6.2 / Recognize 2 Letters [solved 95%]

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

Uses 3874K of libraries. Click here for Pure Java version (9312L/67K/233K).

1  
!7
2  
3  
!include #1007130 // AI Game Include
4  
5  
p {
6  
  blunderFPS = 1001; // show all blunders
7  
  pGame();
8  
}
9  
10  
//////////////////////////////////////
11  
// Test AIs. Just add your own here //
12  
//////////////////////////////////////
13  
14  
AI > HorizontalAutoSplit {
15  
  ExternalTextAI letterAI;
16  
  static ImageSurface is;
17  
  long lastUpdate;
18  
  
19  
  *() {
20  
    loading { letterAI = loadWinnerTextAI(#1007131); }
21  
    setOpt(letterAI.ai, lax := true);
22  
  }
23  
  
24  
  void go {
25  
    horizontalAutoSplit2_threshold = 0.3f;
26  
    L<BWImage> letters = horizontalAutoSplitToImages(new BWImage(image()));
27  
    new StringBuilder buf;
28  
    for (BWImage img : letters)
29  
      buf.append(letterAI.call(img.getBufferedImage()));
30  
    if (!submitCorrectly(str(buf))) {
31  
    //if (sysNow() > lastUpdate+500) {
32  
      lastUpdate = sysNow();
33  
      is = showZoomedImage_centered(is, "Horizontal Split", mergeBWImagesHorizontally(letters).toRGB());
34  
    }
35  
  }
36  
}
37  
38  
AI > TryAllSplits {
39  
  ExternalTextAI letterAI;
40  
  static ImageSurface is;
41  
42  
  *() {
43  
    loading { letterAI = loadWinnerTextAI(#1007131); }
44  
    setOpt(letterAI.ai, lax := true);
45  
  }
46  
  
47  
  void go {
48  
    int w = w(), mid = w/2;
49  
    BWImage bw = bwImage();
50  
    Best<Pair<S, L<Rect>>> best = new Best;
51  
    for (int splitPoint = 1; splitPoint < w; splitPoint++) {
52  
      Rect l = bwAutoCropClip(bw, new Rect(0, 0, splitPoint, h()));
53  
      Rect r = bwAutoCropClip(bw, new Rect(splitPoint, 0, w-splitPoint, h()));
54  
      S cl = letterAI.call(bw.clip(l).getBufferedImage());
55  
      float confidence = getFloat(letterAI.ai, "confidence");
56  
      S cr = letterAI.call(bw.clip(r).getBufferedImage());
57  
      confidence += getFloat(letterAI.ai, "confidence");
58  
      best.put(pair(cl + cr, ll(l, r)), confidence);
59  
    }
60  
    if (!submitCorrectly(best.get().a))
61  
      is = showZoomedImage_centered(is, "Best Horizontal Split", mergeImagePartsHorizontally(image(), best.get().b));
62  
  }
63  
}
64  
65  
//////////////////
66  
// PUZZLE MAKER //
67  
//////////////////
68  
69  
static Puzzle makePuzzle() {
70  
  S text = randomID(2);
71  
  ret new Puzzle("Enter the lowercase text you see:", renderSourceCode_1(text), text);
72  
}

Author comment

Began life as a copy of #1007131

download  show line numbers  debug dex  old transpilations   

Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt

No comments. add comment

Snippet ID: #1007132
Snippet name: A. I. Game 6.2 / Recognize 2 Letters [solved 95%]
Eternal ID of this version: #1007132/24
Text MD5: fd248761adac3c49d0b79655f9e3f08e
Transpilation MD5: 78a56d7ca73cd739e3cd24c760f3c7ab
Author: stefan
Category: javax / gui
Type: JavaX source code
Public (visible to everyone): Yes
Archived (hidden from active list): No
Created/modified: 2017-03-06 15:00:43
Source code size: 2134 bytes / 72 lines
Pitched / IR pitched: No / No
Views / Downloads: 490 / 668
Version history: 23 change(s)
Referenced in: [show references]