Diff
Not logged in

Differences From Artifact [95ed42a2d89e1fef]:

To Artifact [bdd3d4d83c822b4b]:


36 log ~= c; 36 log ~= c; 37 score_log ~= g.score; 37 score_log ~= g.score; 38 if(finished || log.length+1==g.map.W*g.map.H) 38 if(finished || log.length+1==g.map.W*g.map.H) 39 flush(); 39 flush(); 40 if(log.length+1==g.map.W*g.map.H) 40 if(log.length+1==g.map.W*g.map.H) 41 application_exit(); 41 application_exit(); 42 } 42 } > 43 > 44 void safety_data(string s_log, long[] s_score_log) { > 45 this.s_log = s_log; > 46 this.s_score_log = s_score_log; > 47 } 43 48 44 private: 49 private: 45 string log; 50 string log; 46 long[] score_log; 51 long[] score_log; 47 bool flushed; 52 bool flushed; 48 53 > 54 string s_log; > 55 long[] s_score_log; > 56 49 void flush() 57 void flush() 50 { 58 { 51 if(flushed) 59 if(flushed) 52 return; 60 return; 53 61 54 Tuple!(long, int) cand; | 62 Tuple!(long, int, immutable(char)*) cand; 55 cand[0] = long.min; 63 cand[0] = long.min; 56 64 57 for(int i=0; i<score_log.length; ++i) 65 for(int i=0; i<score_log.length; ++i) 58 if(cand[0] < score_log[i]) 66 if(cand[0] < score_log[i]) 59 cand = tuple(score_log[i],i); | 67 cand = tuple(score_log[i],i,log.ptr); > 68 for(int i=0; i<s_score_log.length; ++i) > 69 if(cand[0] < s_score_log[i]) > 70 cand = tuple(s_score_log[i],i,s_log.ptr); 60 71 61 std.c.stdio.printf("%.*sA\n", cand[1], log.ptr); | 72 std.c.stdio.printf("%.*sA\n", cand[1], cand[2]); 62 std.c.stdio.fflush(std.c.stdio.stdout); 73 std.c.stdio.fflush(std.c.stdio.stdout); 63 flushed = true; 74 flushed = true; 64 } 75 } 65 76 66 private: 77 private: 67 static __gshared GuardedOutput g_output; 78 static __gshared GuardedOutput g_output; 68 79