ãŸããã
æ°ã¶æåãç§ã¯PythonãåŠã¶ããšã«ããŸããã ãã¹ãã¿ã¹ã¯ã®1ã€ãšããŠãã²ãŒã ãSea Battleããäœæããå¿
èŠããããŸããã ããããç§ã¯ãã®ä»äºãããŸããã§ãããã2ã€ã®ã³ã³ãã¥ãŒã¿ãŒãäºãã«éã¶ãæµ·æŠããæžããšããã¢ã€ãã¢ãæãã€ããŸããã ãã®èãã¯ç§ãå»ããŸããã§ããããããŠç§ã¯ãããŠæ±ºå¿ããŸããã çµæã¯è£å€æã«æåºãããŸãã 建èšçãªæ¹å€ã«æè¬ããŸãã
çŸåšã®å®è£
ã®äžè¬çãªæŠå¿µ
å®éãã²ãŒã å
šäœã¯ãPlayerã¯ã©ã¹ã®2ã€ã®ã€ã³ã¹ã¿ã³ã¹ãäºãã«è¹ã®åº§æšãæ±ããçãã«å¿ããŠç§»åæŠç¥ãæ§ç¯ãããšããäºå®ã«èŠçŽãããŸãã
è¹ãé
眮ããããã®æŠç¥ã¯æ¬¡ã®ãšããã§ãã2-3-4ãããããŒã¹ã®è¹ã¯ããããã®ç«¯ïŒ2ã»ã«ïŒãäžå€®ã«1ãããïŒ6x6ã®æ£æ¹åœ¢ïŒã«é
眮ãããŸãã

人ãšäººãšã®ã²ãŒã ã®ããã«ãåãã®æŠç¥ïŒæåã«ã©ã³ãã ã«åãããããããå Žåãåšå²ã®4ã€ã®ã»ã«ãåŠçãã次ã«å床ãããããå Žåããã§ã«ã©ã€ã³äžã«ãã2ã€ã®ã»ã«ãåŠçããŸãïŒ2ãæ倧è¹é·ã¯4ã»ã«ãªã®ã§ã 2åããã§ã«ãããããŠããå Žåãæ倧ã§ããã«2åã®ã»ã«ããããŸãïŒã
ãŠã£ãããã£ã¢ã®èšäºã§ã¯ããã¹ãŠãååã«è©³çŽ°ã«èª¬æãããŠããã®ã§ãç¹ã«èª°ããè°è«ãããŠããããšã倧ãŸãã«ç解ããŠãããããã²ãŒã ã®ããžãã¯ã«ã€ããŠã¯ããŸã觊ããŸããã ç§ã¯ãã®ãããªéãã ãããããŸãïŒååãã®ããã®ã¹ã³ã¢ãªã³ã°ã0ãã9ãŸã§ã®ã»ã«çªå·
ã²ãŒã ã¯ãã²ãŒã ããã¬ãŒã€ãŒãè¹ã®3ã€ã®ã¯ã©ã¹ã䜿çšããŸãã 1ã€ã®ã€ã³ã¹ã¿ã³ã¹ã®ã¿ã䜿çšããããããçŸåšã®å®è£
ã§Gameã¯ã©ã¹ã䜿çšããããšã¯åé·ã§ãããããã¯å°æ¥ã®åºç€ãšãªããŸãïŒèšäºã®æåŸã«ããæ¹åç¹ã®ãªã¹ããåç
§ïŒã
ã²ãŒã ã¯äžè¬çãªã²ãŒã ããžãã¯ãæ
åœãããã¬ã€ã€ãŒã¯ç§»åã®æŠç¥ãæ
åœããè¹ã¯è¹ã®çŸåšã®ç¶æ
ãšãã®åº§æšãä¿åããŸãã
githubã®ãããžã§ã¯ãã
ãªã³ã¯ããŸãã
éçºã§çããäž»ãªå°é£
1.
ãã¶ã€ã³ ã ã¯ã©ã¹ãŸãã¯é¢æ°ã䜿çšããŠäœæããŸããïŒ äœ¿çšããã¯ã©ã¹ã®ã»ããã¯ïŒ
èšèšã®äž»ãªåé¡ã¯ãã²ãŒã å
ã®ããŸããŸãªç¶æ
ã远跡ããããšã§ããã ããšãã°ãçŸåšæ©ããŠãã人ãè¹ã®ç¶æ
ïŒããããæ»äº¡ïŒãã²ãŒã ã®çµäºãåã£ã人ãªã©ã§ãã
2.
ããžãã¯/ã¢ã«ãŽãªãºã ã æŠç¥ã«åŸã£ãŠè¹ãé
眮ããæ¹æ³ã移åã®åº§æšãéžæããæ¹æ³ã¯ïŒ
ã³ãŒãã®æãèå³æ·±ãéšåã®æŠèŠ
return_shoot_state-çŸåšã®åãã®çµæã«å¿ããŠããããªãæŠç¥ã決å®ããŸãã
def return_shoot_state(self, state, crd): """ """ if state == u'!': self.scores += 1 if not self.recomendation_pool: crd_rec = [[crd[0] - 1, crd[1]], [crd[0] + 1, crd[1]], [crd[0], crd[1] - 1], [crd[0], crd[1] + 1]] crd_rec = filter(lambda x: 0 <= x[0] <= 9 and 0 <= x[1] <= 9, crd_rec) crd_rec = filter(lambda x: x not in self.alien, crd_rec) self.succ_shoots.append(crd) self.recomendation_pool.extend(crd_rec) else: crd_s1 = self.recomendation_pool[0] crd_s2 = self.succ_shoots[0] for ind in range(2): if crd_s1[ind] != crd_s2[ind]: if crd_s1[ind] > crd_s2[ind]: crd_rec = [[crd_s1[ind]+1, crd_s1[ind]+2], [crd_s2[ind]-1, crd_s2[ind]-2]] else: crd_rec = [[crd_s1[ind]-1, crd_s1[ind]-2], [crd_s2[ind]+1, crd_s2[ind]+2]] crd_rec = filter(lambda x: 0 <= x[0] <= 9 and 0 <= x[1] <= 9, crd_rec) crd_rec = filter(lambda x: x not in self.alien, crd_rec) self.recomendation_pool.extend(crd_rec) elif state == u'!': self.scores += 1 self.recomendation_pool = [] self.succ_shoots = []
éèŠãªå€æ°ïŒrecomendation_pool-å°æ¥ã®ã·ã§ããã®åº§æšã®ãªã¹ããsucc_shoots-æåŸã«æåããã·ã§ããã
è¹ã«åœãã£ãå ŽåããŸããæåããã·ã§ããïŒã¹ã³ã¢+ = 1ïŒã®ããã«ãã€ã³ããç²åŸããå¿
èŠãããã次ã«ã次ã«äœããã¹ãããç解ããå¿
èŠããããŸãã recomendation_poolã«äœãããããã©ããã確èªãããªãå Žåã¯ãè¿ãã®4ã€ã®åº§æšãæžãçããŸãïŒãã£ãŒã«ãã®å¢çç·ãšæ¢ã«æ®åœ±ãã座æšã®ãªã¹ãã«åŸã£ãŠãã£ã«ã¿ãªã³ã°ããåŸïŒã

recomendation_poolã空ã§ãªãå Žåã¯ã2åç®ã«ãããããããšãæå³ããåšå²ã®4ã€ã®åº§æšã§ã¯ãªããåãšããžããçŽ2ã€ã®åº§æšã«ã€ããŠè©±ããŸãã

è¹ãçŸåšã®ã·ã§ããã§æ²æ²¡ããå Žåãã¿ã¹ã¯ãå®äºãããšèŠãªããæšå¥šäºé
ã®ããŒã«ãªã©ãã¯ãªãŒã³ã¢ããããŸãã 次ã®ã·ã§ããã¯ã©ã³ãã ã«å®è¡ãããŸãã
service.gen_cord-è¹è¶ã®ã¿ã€ãããšã«å¯èœãªãã¹ãŠã®åº§æšãçæããŸãã é¢æ°ã®çµæã¯ã次ã®æ§é ãæã€èŸæžã«ãªããŸãïŒ{"S0"ïŒ[[[x0ãy0]ã[x1ãy2]ã[xN0ãyN1]]ã[[x3ãy3]ã[x4ãy4]ã[xN2] ãyN3]]ã...]ã "S1"ïŒ...}ãSã¯è¹ã®çš®é¡ã[[x0ãy0]ã[x1ãy2]ã[xN0ãyN1]]ã¯è¹ã®åº§æšã®ã»ããã§ãã
def gen_cord(): """ """ all_comb = [[x/10, x % 10] for x in range(100)] for_1_ship = filter(lambda x: x[0] in range(2, 8) and x[1] in range(2, 8), all_comb) for_other_ship = filter(lambda x: x not in for_1_ship, all_comb) cord_comb = {1: [[x] for x in for_1_ship], 2: [], 3: [], 4: []} for ship in filter(lambda x: x != 1, cord_comb.keys()): for cord in for_other_ship: hor_direction = [cord] + [[cord[0]+x, cord[1]] for x in range(1, ship)] ver_direction = [cord] + [[cord[0], cord[1]+x] for x in range(1, ship)] for dir_d in [hor_direction, ver_direction]: for cord_d in dir_d: if cord_d not in for_other_ship: break else: cord_comb[ship].append(dir_d) return cord_comb
éèŠãªå€æ°ïŒall_comb-ãã£ãŒã«ãã®åº§æšã[[x0ãy0]ã[x1ãy1]ã...]ã®åœ¢åŒã§ä¿åããŸãã for_1_ship-ã·ã³ã°ã«ããããšåã6x6ã®æ£æ¹åœ¢ãfor_other_ship-ä»ã®ãã¹ãŠã®è¹ã®åº§æšã»ããã cord_comb-座æšã®ãã¹ãŠã®çµã¿åãããæ ŒçŽããèŸæžã
è¹ã®æé
Playerã¯ã©ã¹ã®ã€ã³ã¹ã¿ã³ã¹ã®åæåæã«ãè¹ãé
眮ãããŸãã ã¯ã©ã¹ã§ã¯ãcreate_shipsã¡ãœããããããæ
åœãã次ã®ããšãè¡ãããŸãã
1.æ¬äŒŒã©ã³ãã ãªæ¹æ³ïŒrandom.choiceïŒã§å©çšå¯èœãªåº§æšã®çµã¿åããã®çµã¿åããïŒçµã¿åããïŒããåè¹ïŒè¹ïŒã«å¯ŸããŠã座æšã®ã»ãããéžæãããŸãã
2.次ã«ãäžé£ã®åº§æšã«å¯ŸããŠãããŒïŒservice.set_haloïŒãçæãããŸãã ãããŒã¯ãåŸã§è¹ã眮ãããšãã§ããªã座æšã®ã»ããã§ãïŒèŠåïŒè¹ãè¿ãã«çœ®ããªãã§ãã ããïŒã

3.次ã«ãè¹ãšãããŒã®åº§æšã§æ§æããããªã¹ãããçµã¿åããã®ãªã¹ãïŒdata_cleanerïŒãã¯ãªã¢ããŸãã
ãã®ã³ã°ã¢ãžã¥ãŒã«
éçºã®æåŸã«ãæšæºã©ã€ãã©ãªãããã®ã³ã°ã¢ãžã¥ãŒã«ãçºèŠããŸããã åºåãã£ãŒã«ãã¯ã«ã¹ã¿ãã€ãºå¯èœïŒlogging.basicConfigïŒã§ãããåºåã®æäœã¯å°å·ã®å Žåãããé£ãããããŸããã

ãã®ä»
sevice.rdn_usr_name-0ãã999ãŸã§ã®æåãšæ°åã®ã»ããããã©ã³ãã ãªãã¬ãŒã€ãŒåãçæããŸãã
察æŠçžæãPlayer.ships_defeat = 10ãæã£ãŠããå Žåãã€ãŸãã²ãŒã ãçµäºããŸãã 10é»ãã¹ãŠãæ²ããã è¹ãã殺ãããïŒããšçãããšãã«ãŠã³ã¿ãŒãæŽæ°ãããŸãã
æ¹åãªã¹ãïŒTO DOïŒ
1.ãã¬ã€ã€ãŒéã§ããŒãã¡ã³ããè¡ããŸããããšãã°ã1000人ã®ãã¬ã€ã€ãŒãåå ããŸãã çè«çã«ã¯ãçŸåšã®ãªãŒãã¿ã€ã ãèæ
®ããŠãããŒãã¡ã³ãå
šäœã§çŽ30ç§ããããŸãã2.移åã®ãåºæ¬ã¢ã«ãŽãªãºã ããè¿œå ããŸããããšãã°ãã¯ãã¹ããŒã¯ãã¹ãã€ãŸã ãã¹ãŠã®ã»ã«ãæãã«ãã³ãããŠããããã«æŒããŸãã ãããã®ã¢ã«ãŽãªãºã ã®ããã€ããå®è£
ããŠããããã¬ãŒã€ãŒã«ã©ã³ãã ã«äœæ¥ãå²ãåœãŠãŸãã 次ã«ãå¹çãæ¯èŒããŸãïŒããšãã°ãã©ã³ãã ãªåãããã¯ãã¹ãã¥ã¯ãã¹ãã¢ã«ãŽãªãºã ã«ããå€ãã®çµæããããããã®ã¯äœã§ããïŒïŒ
3.æ€çŽ¢ãšã³ãžã³ã®çµã¿åããïŒservice.gen_cordïŒãæé©åããŸãã æããã«ãåé·ã§ãããå€ãã®ãªãœãŒã¹ãæ¶è²»ããŸãã
4.ããŸããŸãªè¹é
眮æŠç¥ãå®æœããæãæåããæŠç¥ãæ¯èŒããŸããPSèå³æ·±ãã¢ã€ãã¢ã«æè¬ããŸãã
ããããšã
æŽæ°ïŒ2015幎1æ16æ¥ïŒ
ããŒãã¡ã³ããå®è£
ãããçµ±èšã®å°ããªã³ã¬ã¯ã·ã§ã³ãäœæãããŸãããçµæã¯æ¬¡ã®ãšããã§ãã
ããŒãã¡ã³ãã«ã¯éæ Œââã²ãŒã ããããŸãã ãã¬ã€ã«ã§è² ããå Žåã ããªãã¯äžæ©ãèžã¿åºããŸããã
ããŒãã¡ã³ãã«åŠšå®³ããªãããã«ããã«ã¯ããã¬ãŒã€ãŒã®æ°ã¯ãé€ç®ã®æ®ããåžžã«2ã§é€ç®ããããã«ãããŒãã¡ã³ãã®ãã¬ãŒã€ãŒã®æ°ã1ïŒã€ãŸãåè
ïŒã«ãªãåã§ãªããã°ãªããŸããã ãããã®æ°å€ã«ã¯ã1024ïŒ512ã256ã128ã64ã32ã16ã8ã4ã2ïŒãå«ãŸããŸãã
以åãããŒãã¡ã³ãã¯çŽ30ç§ç¶ããšæ³å®ããŠããŸããã æéã¯ãã¬ãŒã€ãŒã®æ°ã«å¿ããŠçŽç·çã«å¢å ããŸããã1024人ã®ãã¬ãŒã€ãŒã®ããŒãã¡ã³ãå
šäœãããã17ç§ã ã£ããšãã®é©ãã¯äœã§ãããã ãªã17ç§ãããããªãããšãããã£ãã®ã§ãããããããã€ãã®æé©åã¡ã«ããºã ãæ©èœãå§ããŠããŸãã ç§ã®èšç®ã¯æ¬¡ã®ãšããã§ãïŒ1022ã²ãŒã ã¯ããŒãã¡ã³ãå
šäœã«ç¶ããŸã* 25 ms 1ã²ãŒã = 25.55ç§ã
ããŒãã¡ã³ãçµ±èšã¯ã次ã®å€å
ã«ä¿æãããŸãã
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ85.06ã
2.åè
ã®å¹³å移åæ°ïŒ85.95ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ84.17ã
4.æè
ãæ¡ç¹ããå¹³åãã€ã³ãæ°ïŒ17.75
çµè«ã¯æ¬¡ã®ããã«æãããšãã§ããŸãã
1.åè
ãšæè
ãã»ãŒåãåããããåæ°ã
2.ãã€ã³ãæ°ã¯ã»ãŒ18ã§ãïŒåã€ã«ã¯20ãå¿
èŠã§ãïŒã
ããã ã©ã€ã³ïŒäž¡æ¹ã®ãã¬ã€ã€ãŒãã»ãŒåãã§éå¹çã«ãã¬ã€ããŸã:) 2ãã€ã³ãã®å·®ã¯ãæåŸã®åãã§æåéãåå©ãçžæã®ã¯ã©ããããæãåºãããšã瀺ããŠããŸãã
çµè«ïŒä»¥æ¥ åãã¬ã€ã€ãŒã¯åãæŠç¥ã«å°ãããã²ãŒã ã«ç¹å¥ãªå€æ§æ§ã¯ãããŸããã ãã£ãšé¢çœãããã«ã¯ãè¹ã®æé
ãšç§»åã®äž¡æ¹ã®ããã®ããŸããŸãªæŠç¥ãå®è£
ããå¿
èŠããããŸããããã¯è¿ãå°æ¥ãæãªãšãã«è¡ããŸãã
ã¢ããããŒããã楜ãã¿ã«ã
æŽæ°2ïŒ2015幎1æ16æ¥ïŒ
è¹ã®æ²æ²¡åŸã®å£ãã座æšã®ãªã¹ããžã®ãããŒã®è¿œå ãå®è£
ããŸããïŒååãšããŠããã¹ãŠãå
¬å¹³ã§ãïŒã 移åæ°ã®çµ±èšã倧å¹
ã«æ¹åãããŸããã
1.移åã®å¹³ååæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ58.91
2.åè
ã®å¹³å移åæ°ïŒ60.98ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ56.83ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ15.37
ã¢ã€ãã¢ãããã
Meklonã«æè¬ããŸãã
æŽæ°3ïŒ2015幎1æ17æ¥ïŒ
è¹ãé
眮ããããã®æ°ããæŠç¥ãå®è£
ããŸããïŒã·ã³ã°ã«ãããã«ã¯60åã®ã»ã«ããããŸãïŒã çµæã¯æ¬¡ã®ãšããã§ããåãã¬ã€ã€ãŒãåãæŠç¥ã䜿çšããŠããå Žåãæè
ãšåè
ã®éã«éãã¯ãããŸããããåãã¬ã€ã€ãŒã«ã©ã³ãã ã«å²ãåœãŠãããå²ãåœãŠæŠç¥ãããå Žåãç§ã®æŠç¥ïŒäžå¿éšã«6x6ã®æ£æ¹åœ¢ïŒãããæŠå£«ãå€ãããšã¯æããã§ããã€ãŸã ç§ã®æŠç¥ãæšãŠãããå Žåã誰ããã»ãŒåãæ¹æ³ã§ãã¬ã€ããŸãã ãããé¢çœããªãã ä»ãç§ã¯ããŸããŸãªåãã®æŠç¥ãå®è£
ããŸãïŒããããæé©ãªãã®ããããŸãïŒã
ããŒã¿å·Šãå³ãäžãäžãªã© -ãããã¯ãã¹ãŠããã£ãŒã«ãäžã®60座æšã®é
眮ã®ããªãšãŒã·ã§ã³ã§ãã
[2015-01-17 19ïŒ14ïŒ07,780]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ63.18ã
2.åè
ã®å¹³å移åæ°ïŒ64.82ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ61.54ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ16.24
[2015-01-17 19ïŒ14ïŒ07,783]æŠç¥ïŒfor_1_ship_left loosersïŒ508
[2015-01-17 19ïŒ14ïŒ07,783]æŠç¥ïŒfor_1_ship_leftåè
ïŒ515
[2015-01-17 19ïŒ20ïŒ27,526]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ62.58ã
2.åè
ã®å¹³å移åæ°ïŒ64.23ã
3.è² ãéžæã®å¹³å移åæ°ïŒ60.93ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ16.23
[2015-01-17 19ïŒ20ïŒ27,529]æŠç¥ïŒfor_1_ship_right loosersïŒ498
[2015-01-17 19ïŒ20ïŒ27,529]æŠç¥ïŒfor_1_ship_rightã®åè
ïŒ525
[2015-01-17 19ïŒ21ïŒ40,153]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ58.94ã
2.åè
ã®å¹³å移ååæ°ïŒ61.02ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ56.87ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ15.35
[2015-01-17 19ïŒ21ïŒ40,155]æŠç¥ïŒfor_1_ship_36ã«ãŒãºïŒ518
[2015-01-17 19ïŒ21ïŒ40,157]æŠç¥ïŒfor_1_ship_36åè
ïŒ505
[2015-01-17 19ïŒ23ïŒ37,322]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ62.85ã
2.åè
ã®å¹³å移åæ°ïŒ64.55ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ61.16ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ16.15
[2015-01-17 19ïŒ23ïŒ37,323]æŠç¥ïŒfor_1_ship_bottom loosersïŒ526
[2015-01-17 19ïŒ23ïŒ37,325]æŠç¥ïŒfor_1_ship_bottomåè
ïŒ497
[2015-01-17 19ïŒ33ïŒ07,933]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ61.59ã
2.ãã¬ã€ã€ãŒãç²åŸããã ãŒãã®å¹³åæ°ïŒ63.37ã
3.è² ãéžæã®å¹³å移åæ°ïŒ59.81
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ15.95
[2015-01-17 19ïŒ33ïŒ07,934]æŠç¥ïŒfor_1_ship_center_vertical loosersïŒ512
[2015-01-17 19ïŒ33ïŒ07,934]æŠç¥ïŒfor_1_ship_center_verticalã®åè
ïŒ511
[2015-01-17 19ïŒ36ïŒ03,585]çµ±èšïŒ
1.移åã®å¹³åæ°ïŒãã¹ãŠã®ãã¬ã€ã€ãŒïŒïŒ61.03ã
2.åè
ã®å¹³å移åæ°ïŒ62.89ã
3.è² ãéžæã®å¹³å移ååæ°ïŒ59.18ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ15.78
[2015-01-17 19ïŒ36ïŒ03,589]æŠç¥ïŒfor_1_ship_36ã«ãŒãºïŒ148
[2015-01-17 19ïŒ36ïŒ03,589]æŠç¥ïŒfor_1_ship_36åè
ïŒ109
[2015-01-17 19ïŒ36ïŒ03,591]æŠç¥ïŒfor_1_ship_bottom loosersïŒ34
[2015-01-17 19ïŒ36ïŒ03,591]æŠç¥ïŒfor_1_ship_bottomåè
ïŒ50
[2015-01-17 19ïŒ36ïŒ03,591]æŠç¥ïŒfor_1_ship_center_horisontal loosersïŒ129
[2015-01-17 19ïŒ36ïŒ03,591]æŠç¥ïŒfor_1_ship_center_horisontalã®åè
ïŒ120
[2015-01-17 19ïŒ36ïŒ03,592]æŠç¥ïŒfor_1_ship_center_vertical loosersïŒ96
[2015-01-17 19ïŒ36ïŒ03,592]æŠç¥ïŒfor_1_ship_center_verticalã®åè
ïŒ94
[2015-01-17 19ïŒ36ïŒ03,592]æŠç¥ïŒfor_1_ship_left loosersïŒ28
[2015-01-17 19ïŒ36ïŒ03,592]æŠç¥ïŒfor_1_ship_leftåè
ïŒ44
[2015-01-17 19ïŒ36ïŒ03,592]æŠç¥ïŒfor_1_ship_rightã«ãŒãºïŒ40
[2015-01-17 19ïŒ36ïŒ03,594]æŠç¥ïŒfor_1_ship_rightåè
ïŒ48
[2015-01-17 19ïŒ36ïŒ03,594]æŠç¥ïŒfor_1_ship_top loosersïŒ35
[2015-01-17 19ïŒ36ïŒ03,594]æŠç¥ïŒfor_1_ship_topã®åè
ïŒ48
æŽæ°4ïŒ2015幎1æ20æ¥ïŒ
移åããããã®ããŸããŸãªãªãã·ã§ã³ãè¿œå ïŒã©ã³ãã -èªç±ãªã»ã«ããã©ã³ãã ãã¯ãã¹-ã¯ãã¹ããã¯ãã¹ããªãã¢-1è¡ãã4è¡ã«çŽç·çã«ïŒè³è³èšäºã®ããã«ïŒã éèŠãªãã€ã³ãïŒè¹ãé
眮ããããã®æŠç¥ã¯ããŒãã¡ã³ãå
šäœã§çºè¡ãããŸããã移åã®æŠç¥ã¯ã²ãŒã ããšã«çºè¡ãããŸãã
çµ±èšæ
å ±ãåéããŸããïŒå¿ããªãã§ãã ãããéæ Œã§ã¯1024人ã®ãã¬ã€ã€ãŒã察æŠããŸãïŒã

äž»ãªèª¿æ»çµæïŒ
ã·ã³ã°ã«ãããè¹random_12ïŒ12åã®ã©ã³ãã ãªã»ã«ãéžæãããããã«è¹ãé
眮ãããŸãïŒããã³for_1_ship_36ïŒäžå€®ã®6x6ãã£ãŒã«ãïŒãé
眮ããæŠç¥ã¯ãæããã«æãå¹æçã§ã¯ãããŸããã
åäžãªååžã¯ãçããéã§çããããšã¯ã»ãŒåãçµæãäžãããã®ãã¡ã®1ã€ã®åå©ã¯ã©ã³ãã ãªçµæã«ãããªãããšã瀺ããŸãã
è¿œå ã®ç§»åæŠç¥ã®å®è£
ã«ãã移åã®æ°ã¯æžå°ããŠããŸããããããŒãã¡ã³ãæéã¯25ç§ãã50ç§ã«å¢å ããŠããŸãã
1.å¹³å移ååæ°ïŒå
šãã¬ã€ã€ãŒïŒïŒ61.43ã
2.ãã¬ã€ã€ãŒãç²åŸããã ãŒãã®å¹³åæ°ïŒ63.23ã
3.è² ãéžæã®å¹³å移åæ°ïŒ59.63ã
4.æè
ãç²åŸããå¹³åãã€ã³ãæ°ïŒ15.93
誰ãã
GitHubã§ç§ã®ã³ãŒããèŠãŠããããæ¹åããæ¹æ³ã«ã€ããŠã®ææ¡ãã
ãŠããããæè¬ããŸãã
æå³ãããæé©åã¿ã¹ã¯ã1ã€æ®ã£ãŠããŸããããåãã®ãšãããæé©åã¯ç¡æéã«å®è¡ã§ãããããç¹å¥ãªå¿
èŠãªãã«èšäºã¯è¿ãå°æ¥æŽæ°ãããŸããã
ãæž
èŽããããšãããããŸãããPythonã®åãããªããšå
±ã«æ¥ãŸãããã«ïŒ