[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends] ¥ª¥»¥í¤Î¥¯¥é¥¹¹½Â¤




Á°¶¶¡÷Ê̤˥ҥޤʤ櫓¤Ç¤Ï¤Ê¤¤ ¤Ç¤¹¡£

Ĺʸ¤Ç¤¹¡£Ï¢µÙÃæ¤Î¥Í¥¿Äó¶¡?

¤¦¤Á¤Î²ñ¼Ò¤ÎÃæ¤Ç¡¢Java¤ÈUML¤ÎÊÙ¶¯²ñ¤ß¤¿¤¤¤Ê¤Î¤ò¤·¤Æ¤¤¤ë¤È¤³
¤í¤¬¤¢¤Ã¤Æ¡¢¤½¤³¤Ç¡¢º£ÅÙ¡¢Îý½¬ÌäÂê¤È¤·¤Æ¡¢¥ª¥»¥í¥²¡¼¥à¤òºî¤ë
¤½¤¦¤Ê¡£

»ä¤Ï¤½¤³¤Ë¤Ï»²²Ã¤·¤Æ¤Ê¤¤¤ó¤Ç¤¹¤¬¡¢°ÊÁ°¡¢C++¤Ç¥ª¥»¥í¤ò½ñ¤¤¤¿
¤³¤È¤¬¤¢¤ë¤Î¤Ç(¼ÒÆâ¤Ç¥³¥ó¥Æ¥¹¥È¤¬¤¢¤Ã¤¿)¡¢¥¯¥é¥¹¹½Â¤¤Ë¤Ä¤¤¤Æ
»²¹Í°Õ¸«¤òʹ¤«¤»¤Æ¤¯¤ì¡¢¤È¸À¤ï¤ì¤Æ¡¢ºòÆü¤ÎÌë¡¢ÎÙ¤ê¤Î¥Ó¥ë¤Þ¤Ç
¤Î¤³¤Î¤³½Ð³Ý¤±¤Æ¤¤¤Ã¤¿¤Î¤Ç¤·¤¿¡£

¤Ç¡¢¤½¤³¤Ç¤Ï»ä¤Ê¤ê¤Î¥¯¥é¥¹¹½Â¤¤Ë¤Ä¤¤¤Æ¡¢ÀâÌÀ¤·¤¿¤ï¤±¤Ç¤¹¤¬¡¢
³§¤µ¤ó¤Ï¡¢¤É¤Î¤è¤¦¤ËÀ߷פµ¤ì¤Þ¤¹¤Ç¤·¤ç¤¦?

************************************************************
¤Á¤Ê¤ß¤Ë¡¢°Ê²¼¤¬»ä¤ÎÀ߷פǤ¹¡£

¥á¥¤¥ë¤Ç¤Ï¿Þ¤¬½ñ¤±¤Ê¤¤¤Î¤Ç¡¢³Æ¥¯¥é¥¹¤ÎÀâÌÀ¤À¤±¡£

¡ýOthelloApplet¥¯¥é¥¹
¡¦¥¢¥×¥ì¥Ã¥È¤Ç¤¹¡£
¡¦OthelloWindowImpl¤È¡¢À©¸æÍѤΥܥ¿¥ó¤òޤê¤Þ¤¹¡£
¡¦À©¸æÍѤΥܥ¿¥ó¤ÎÃæ¤Ë¤Ï¡Ö¥¹¥¿¡¼¥È¡×¥Ü¥¿¥ó¤¬¤¢¤Ã¤Æ¡¢¤½¤ì¤ò²¡
  ¤¹¤È¡¢Judge ¤Î¥¹¥ì¥Ã¥É¤òºî¤Ã¤Æµ¯Æ°¤·¤Þ¤¹¡£

¡ýOthelloWindowImpl¥¯¥é¥¹
¡¦¥ª¥»¥í¤ÎÈ×Ì̤òɽ¼¨¤·¤Þ¤¹¡£
¡¦OthelloWindow¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òimplements¤·¤Þ¤¹¡£
  # ¤Ç¤â¡¢¤¤¤í¤¤¤í¹Í¤¨¤¿¤é¡¢OthelloWindow¤òimplements¤¹¤ë¤Î
  # ¤ÏApplet¤Ç¤¢¤ë¤Ù¤­¤Ê¤è¤¦¤Êµ¤¤¬¤·¤Æ¤­¤¿...
¡¦AWT¤ÎPanel¤Î¥µ¥Ö¥¯¥é¥¹¤Ç¤¹¡£
¡¦AWT°Ê³°¤Î¼ÂÁõ¤â¤¢¤ë¤«¤âÃΤì¤Ê¤¤¤Î¤Ç¡¢¤Ò¤È¤Ä¤Î¥¤¥ó¥×¥ê¥á¥ó
  ¥È¤È¤·¤Æ¡¢¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Î±¢¤Ë±£¤·¤Þ¤¹(¤À¤Ã¤¿¤é̾Á°¤ËAWT¤ò
  Æþ¤ì¤ë¤Ù¤­¤«?)¡£

¡ýOthelloWindow¥¤¥ó¥¿¥Õ¥§¡¼¥¹
¡¦¥ª¥»¥í¤Î²èÌÌɽ¼¨µ¡Ç½¤ò¤â¤Ä¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ç¤¹¡£
¡¦°Ê²¼¤Î¥á¥½¥Ã¥É¤ò»ý¤Á¤Þ¤¹¡£
  redraw() ... ²èÌÌÁ´ÂΤòºÆÉÁ²è¤·¤Þ¤¹¡£
  drawCell(int x, int y, int senteOrGote)... ÆÃÄê¤Î¥»¥ë¤òºÆ
    ÉÁ²è¤·¤Þ¤¹¡£
  Action getEvent() ... Action¤Ï¡¢int x, int y¤ò¥á¥ó¥Ð¤È¤¹¤ë
    ¥¯¥é¥¹¤Ç¤¹¡£¤É¤³¤¬¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¤«¤·¤é¡¢¤È¤¤¤¦¾ðÊó¤òÊÖ¤·¤Þ¤¹¡£
    ¤³¤ì¤ò¸Æ¤Ó½Ð¤¹¥¹¥ì¥Ã¥É¤Ï¡¢Judge¤Î¥¹¥ì¥Ã¥É¤Ê¤Î¤Ç¡¢¥¢¥×¥ì¥Ã
    ¥È¤Î¥¤¥Ù¥ó¥È¥É¥ê¥Ö¥ó¤Ê¥¹¥ì¥Ã¥É¤È¡¢wait()/notify()¤ò»È¤Ã
    ¤ÆÂÔ¤Á¹ç¤ï¤»¤Þ¤¹¡£
  ¤½¤Î¾¡¢¤É¤Ã¤Á¤ÎÈÖ¤«É½¼¨¤·¤¿¤ê¡¢¥Ñ¥¹¤Î¥À¥¤¥¢¥í¥°¤ò½Ð¤·¤¿¤ê¡£

¡¦²èÌ̤ÎÉÁ²è¤Ë¤Ä¤¤¤Æ¡¢¾ðÊó¤ÏBoard¤ËÌ䤤¹ç¤ï¤»¤Þ¤¹¡£
  # setBoard()¥á¥½¥Ã¥É¤Ï¡¢OthelloWindow¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ë´Þ¤á¤ë
  # ¤Ù¤­¤Ç¤·¤ç¤¦¤«? ¤½¤ì¤È¤â¡¢OthelloWindowImpl¤Ç¤¤¤¤?

¡ýBoard¥¯¥é¥¹
¡¦¥ª¥»¥í¤ÎÈ×Ì̤Υ¯¥é¥¹¤Ç¤¹¡£
¡¦int ¤Î2¼¡¸µÇÛÎó¤ÇÈ×Ì̤òÊÝ»ý¤·¤Þ¤¹(¤ä¤Ã¤Ñ¤êenum¤¬Íߤ·¤¤!!)¡£
¡¦put(int x, int y, int senteOrGote) ¤Ë¤Æ¡¢ÀФ¬ÃÖ¤±¤Þ¤¹(¤É¤¦
  ¤·¤Æ¤âenum¤¬Íߤ·¤¤!!).
¡¦ÀФ¬ÃÖ¤«¤ì¤¿¤é¡¢¶´¤Þ¤ì¤¿ÀФò¤Ò¤Ã¤¯¤êÊÖ¤¹¡¢¤È¤¤¤¦¤è¤¦¤Ë¡¢È×
  Ì̤δÉÍý¤Ë¤Ä¤¤¤ÆÀÕǤ¤ò»ý¤Á¤Þ¤¹¡£
¡¦È×ÌÌÁ´Éô¡¢¤¢¤ë¤¤¤ÏÆÃÄê¤Î¥»¥ë¤Ë¤Ä¤¤¤Æ¡¢Ê¹¤«¤ì¤¿¤é¾ðÊó¤òÅú¤¨
  ¤ë¥á¥½¥Ã¥É¤òÄ󶡤·¤Þ¤¹¡£

¡ýJudge¥¯¥é¥¹
¡¦¥²¡¼¥à¤Î¿Ê¹ÔÌò¤Ç¤¹¡£
¡¦Runnable¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òimplements¤·¤Æ¡¢¥¢¥×¥ì¥Ã¥È¤È¤ÏÆÈΩ
  ¤·¤¿¥¹¥ì¥Ã¥É¤Çư¤­¤Þ¤¹¡£
¡¦Board¤È¡¢¤Õ¤¿¤Ä¤ÎPlayer¤ËÂФ·¤Æ¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤·¤Þ¤¹¡£
¡¦¤°¤ë¤°¤ë¥ë¡¼¥×¤·¤Ê¤¬¤é¡¢Àè¼ê¡¦¸å¼ê¤ËÂФ·¡¢¤«¤ï¤ë¤¬¤ï¤ë
  requestAction()¥á¥½¥Ã¥É¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£
¡¦¥²¡¼¥à½ªÎ»¾õÂ֤ˤʤäƤʤ¤¤«¤·¤é¡¢¤È¤«¡¢¥Ñ¥¹¤·¤Ê¤±¤ì¤Ð¤¤¤±
  ¤Ê¤¤¤Î¤Ç¤Ï¤Ê¤¤¤«¤·¤é¡¢¤È¤¤¤¦¤³¤È¤Ë´Ø¤·¤Æ¤Ï¡¢Board¤ËÌ䤤¹ç
  ¤ï¤»¤Þ¤¹¡£

¡ýPlayer¥¯¥é¥¹
¡¦¥×¥ì¥¤¥ä¤ò°ÕÌ£¤¹¤ëÃê¾Ý¥¯¥é¥¹¤Ç¤¹¡£
¡¦Board¤ËÂФ·¤Æ¥Ý¥¤¥ó¥¿¤ò»ý¤Á¤Þ¤¹¡£
¡¦°Ê²¼¤Î¥á¥½¥Ã¥É¤ò»ý¤Á¤Þ¤¹¡£
  requestAction()...Judge¤µ¤ó¤¬¡¢Player¤ËÂФ·¤Æ¡¢¡Ö¼¡¡¢·¯¡¢
    »Ø¤»¡×¤ÈÍ׵᤹¤ë¤È¤­¤Ë¥³¡¼¥ë¤¹¤ëÃê¾Ý¥á¥½¥Ã¥É¤Ç¤¹¡£
  noticePass()...Judge¤µ¤ó¤¬¡¢¡Ö¼¡¡¢·¯¡¢¥Ñ¥¹¤Í¡×¤È¤¤¤¦¤³¤È¤ò
    ÄÌÃΤ¹¤ë¤¿¤á¤Î¥á¥½¥Ã¥É¤Ç¤¹¡£¤³¤Î¥á¥½¥Ã¥É¤Ï¼ÂÁõ¤ò»ý¤Á¡¢Ãæ
    ¿È¤Ï¥«¥é¤Ç¤¹(¥Ñ¥¹¤Ê¤Î¤Ç¡¢Player¤Ï¤¹¤ë¤³¤È¤¬¤Ê¤¤)¡£

¡ýHumanPlayer¥¯¥é¥¹
¡¦¿Í´Ö¤Î¥×¥ì¥¤¥ä¤òÂå¹Ô¤¹¤ë¥¯¥é¥¹¤Ç¤¹¡£
¡¦OthelloWindow¤Ø¤Î¥Ý¥¤¥ó¥¿¤òÊÝ»ý¤·¤Æ¤¤¤Þ¤¹¡£
¡¦requestAction()¤¬¥³¡¼¥ë¤µ¤ì¤¿¤é¡¢OthelloWindow¤ÎgetEvent()
  ¥á¥½¥Ã¥É¤ò¸Æ¤ó¤Ç¤É¤³¤¬¥¯¥ê¥Ã¥¯¤µ¤ì¤¿¤«¤ò¼èÆÀ¤·¡¢Board¤Î
  put()¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£
¡¦noticePass()¤¬¥³¡¼¥ë¤µ¤ì¤¿¤é¡¢OthelloWindow¤Ë¤ª´ê¤¤¤·¤Æ¡¢
  ¥À¥¤¥¢¥í¥°¤ò½Ð¤·¤Æ¤â¤é¤¤¤Þ¤¹¡£

¡ýComputerPlayer¥¯¥é¥¹
¡¦¥³¥ó¥Ô¥å¡¼¥¿Â¦¤Î¥×¥ì¥¤¥ä¤Î¥¯¥é¥¹¤Ç¤¹¡£
¡¦requestAction()¤¬¥³¡¼¥ë¤µ¤ì¤¿¤é¡¢¼«Ê¬¤Ç¼ê¤ò¹Í¤¨¤Æ¡¢Board¤Î
  put()¤ò¥³¡¼¥ë¤·¤Þ¤¹¡£

¡ýOthelloConstants¥¯¥é¥¹
¡¦Äê¿ô¤òÄêµÁ¤·¤Þ¤¹¡£BOARD_SIZE(8)¤È¤«¡¢SENTE¤È¤«¡¢GOTE¤È¤«¡¢
  SENTE_CELL¤È¤«GOTE_CELL¤È¤«BLANK_CELL¤È¤«...

¤É¤¦»×¤ï¤ì¤Þ¤¹¤Ç¤·¤ç¤¦¤«... ¤¦¡¼¡¢Ð٤ξå¤Î¥³¥¤¤Ç¤¹¤Í(^^;;;;¡£

Àß·×´ØÏ¢¤ÎËܤòÇ㤦¤³¤È¤Ï¤¢¤Ã¤Æ¤â¡¢¿¿¤óÃæÊÕ¤«¤é¥Ê¥Ê¥áÆÉ¤ß¤Ë¤Ê¤Ã
¤¿¤ê¡¢ÀѤóÆÉ¤Ë°Ü¹Ô¤¹¤ë¤³¤È¤¬Â¿¤¤¤Î¤Ç¡¢¥·¥í¡¼¥È¤ÎÀ߷פǤ¹¤¬...
# ±Ñ¸ìÎϤΤʤµ¤ÎÊý¤¬ÃѤº¤«¤·¤«¤Ã¤¿¤ê¤â¤·¤Þ¤¹¡£

¤´°Õ¸«¤ªÂÔ¤Á¤·¤Æ¤ª¤ê¤Þ¤¹¡£

...¤Ç¤â¡¢Ï¢µÙÌÀ¤±¤Þ¤Ç¡¢¥á¥¤¥ë¤ÏÆÉ¤á¤Æ¤â¡¢ML¤ËÊÖ»ö¤ò½Ð¤»¤Ê¤¤
²ÄǽÀ­Âç¤Ç¤¹(_o_)¡£

------------------------------------------------------------
  Á°¶¶ ÏÂÌï                             maebashi@xxxxxxxxxx
  ÃæÉô¥½¥Õ¥È¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°(³ô)
    ¢©450 ̾¸Å²°»ÔÃæÂ¼¶è̾±Ø4-10-25(̾±ØIMAI¥Ó¥ë 5F)
    Tel:(052)583-4511(Âå) ÆâÀþ 252 Fax:(052)583-4566
------------------------------------------------------------