ÉîÈë GalCon£ºPython¡¢ÓÎÏ·¿ª·¢ºÍÈ˹¤ÖÇÄÜ
Alex. J. Champandard
ÀµÓºƣ¨http://laiyonghao.com£© Òë
ÔÎĵØÖ·£ºhttp://aigamedev.com/open/interviews/inside-galcon-python-ai/
AiGameDev.comÔÚÕâ¸öÖÜÒ»µÄ pratical insights ÊǶÔPhil Hassey²É·Ã¡£Phil ÊÇÒ»¸ö¶ÀÁ¢ÓÎÏ·¿ª·¢Õߣ¬Ò²ÊÇÓÎÏ·²úÒµÉçÇøµÄ»îÔ¾·Ö×Ó¡£ËûÔøÓ®µÃ2006Äê4Ô嵀 Ludum Dare ±ÈÈü£¨Õâ¸ö±ÈÈü¹Ø×¢ÈºÌåÐÐΪ£©£¬½á¹û¾ÍÊDzúÉúÁËÃûΪ GalCon µÄ·Ç³£Á÷ÐеÄÓÎÏ·——ÉÏÊÀ¼Í 80 Äê´ú½Ð Galactic Conquest µÄÓÎÏ·µÄ¸´¿Ì°æ¡£
ÎÒ×î½ü¾³£¸ú Phil ͨ email£¬ÎÊËûºÜ¶à¹ØÓÚ Galcon µÄÎÊÌ⣬±ÈÈçÈ˹¤ÖÇÄÜ¡¢Óà Python ¿ª·¢ÓÎÏ·µÈ¡£Äã¿ÉÒÔÔÚ·ÃÎÊËûµÄÍøÕ¾»ò GalCon µÄÍøÕ¾ÕÒµ½¹ØÓÚËûµÄÏîÄ¿µÄ¸ü¶àµÄÐÅÏ¢¡£´ËÍ⣬»¹¿ÉÒÔÏÂÔØÓÎÏ·µÄdemo ¡£
½ØÍ¼1£ºLudum Dare ±ÈÈüµÄ²ÎÈü×÷Æ·¡£
Alex Champandard£ºÄúºÃ£¬Phil£¬¸ÐлÄú³é³öʱ¼äÀ´»Ø´ðÕâЩÎÊÌ⣡ÄúÄÜ·ñ¼òÒªµØ½éÉÜ×Ô¼º£¬ÒÔ¼°¹ØÓÚ³ÉΪÓÎÏ·¿ª·¢Õߵı³¾°ÄØ£¿
Phil Hassey£ºÎÒ×Ô 10 ËêÒÔÀ´¾ÍÒ»Ö±ÔÚÖÆ×÷ÓÎÏ·¡£ÎÒÏë´ó¸ÅÊÇÒòΪÎÒûÓÐÆäËüÊÂÇé¿É×ö :)£¬ÎÒ×îϲ°®µÄÓïÑÔÊÇPython£¬ËùÓеÄÓÎÏ·¶¼ÊÇÓÃËü¿ª·¢µÄ¡£µ±È»ÎÒÒ²Óà C дÐÔÄÜÃô¸ÐµÄ¶«Î÷£¬Ò²»ùÓÚ PHP À´¿ª·¢ Web ÏîÄ¿¡£ÎÒµÄÓÎÏ·´ó²¿·Ö¶¼ÊÇ¿ªÔ´µÄ£¬ÎÒдÁ˲»ÉÙÊÊÓÃÓÚÓÎÏ·¿ª·¢µÄ¿ªÔ´¹¤¾ß/¿â¡£
Phil Hassey ¿ª·¢µÄÓÎÏ·£º
Imitation Pickles — Games
AC£ºGalcon ´´Òâ´ÓºÎ¶øÀ´µÄÄØ£¿ÄÜ·ñÏò²»ÖªµÀÕâ¸öÓÎÏ·µÄ¶ÁÕß¼òµ¥µØ½éÉÜÒ»ÏÂÕâ¸öÓÎÏ·£¿
PH£º2006Äê4ÔÂÓÐÒ»¸ö48СʱµÄÓÎÏ·¿ª·¢¾ºÈü³ÆÎªLudum Dare¡£±ÈÈüÖ÷ÌâÊÇȺÌ壬¶øÇÒÎÒһֱϣÍûÔٶȵÞÔì“ÒøºÓÕ÷·þ”·ç¸ñµÄÓÎÏ·£¬ËùÒÔÎÒ³¢ÊÔʵÏÖ·É´¬Èº¡£ÓÎÏ·µÄÔÐÍÔÚ48¸öСʱÄÚ×ö³öÀ´²¢Ó®µÃÁ˱ÈÈü¡£ºóÀ´ÎÒ½ÓÊÜÁË´ó¼ÒµÄ¹ÄÀø£¬¼ÌÐø¿ª·¢£¬È»ºó¾ÍÓÐÁË GalCon¡£
Phil Hassey µÄÏà¹Ø²ÄÁÏ£º
The Glorious History of Galcon
AC £ºÕâЩ·É´¬ÊÇÓÎÏ·µÄÖØÒª×é³É²¿·Ö£¬Î񼆼̮æÄãÈçºÎʵÏÖËüÃǵġ£ÊÇ·ñ»ùÓÚ Craig Reynold µÄ²Ù¿ØÐÐΪÀíÂÛ£¿ÐèҪʵÏֺܶàÌØ¶¨µÄËã·¨Âð£¿
PH£ºÆäʵËã·¨ºÜ¼òµ¥-¸øËùÓеķɴ¬Ö¸¶¨Ä¿µÄµØ¼´¿É¡£È»ºóÖ´ÐÐÅöײ¼ì²â£¬ÈÃËüÃÇÌÚ³öµØ·½¡£
AC £ºÄ£ÄâÕâô¶àµÄ·É´¬£¬ÄãÓöµ½ÐÔÄÜÎÊÌâÁËÂð£¿Èç¹ûÊÇÓöµ½¹ý£¬ÓÖÊÇÈçºÎ½â¾öÕâЩÎÊÌâµÄÄØ£¿
PH£ºµ±È»Óö¹ý¡£ÒÔǰµÄ°æ±¾Ò»ÆÁÉÏ×î¶àÄÜÓÐ 4096 ¸öÔªËØ£¬¶øÎÒÓõÄÓÖÊÇÂùÁ¦Åöײ¼ì²â¡£ËùÒÔÔÚijЩÇé¿öÏ£¬ËٶȾͱäµÃÏ൱ÂýÁË¡£µ±Ç°°æ±¾µÄ×î´óÖµÊÇ2048£¬²¢ÇÒʹÓÃÁËÍø¸ñϸ·ÖÆÁÄ»µÄÅöײ¼ì²âËã·¨¡£ÔÚ°Ñ·É´¬·Åµ½ÆÁÄ»ÉϵÄʱºò£¬ÎÒÒ²ÓÃÀ´Ð©ÐÄ˼À´³õʼ»¯ËüÃǵÄÏÔʾ£¬ÒÔ
Ïà¹ØÎĵµ£º
֪ʶµã
1.Ïß³ÌÊÇ“ÇáÁ¿¼¶”½ø³Ì£¬ÒòΪÏà½ÏÓÚ½ø³ÌµÄ´´½¨ºÍ¹ÜÀí£¬²Ù×÷ϵͳͨ³£»áÓýÏÉÙµÄ×ÊÔ´À´´´½¨ºÍ¹ÜÀíÏ̡߳£²Ù×÷ϵͳҪΪн¨µÄ½ø³Ì·ÖÅäµ¥¶ÀµÄÄÚÔÚ¿Õ¼äºÍÊý¾Ý£»Ïà·´£¬³ÌÐòÖеÄÏß³ÌÔÚÏàͬµÄÄÚ´æ¿Õ¼äÖÐÖ´ÐУ¬²¢¹²ÏíÐí¶àÏàͬµÄ×ÊÔ´¡£¶àÏ̳߳ÌÐòÔÚ½áÄÚ´æµÄʹÓÃЧÂÊÒªÓÅÓÚ¶à½ø³Ì³ÌÐò¡£
2.pythonÌṩÁËÍêÕûµÄ¶àÏß ......
ÔÚÏîÄ¿ÀïÃæÒ»¸ö½âÎöÎı¾µÄ¹¤¾ßÀïÃæÓõ½ÁËÕâ¸öÃüÁîÀ´¸³Öµ£¬¿ªÊ¼Ò»Ö±ÖªµÀÒâ˼£¬ºÇºÇ ²éÁËÏ£¬ÕÒµ½·½·¨ÈçÏ£º
exec
Óï¾äÓÃÀ´Ö´Ðд¢´æÔÚ×Ö·û´®»òÎļþÖеÄPythonÓï¾ä¡£ÀýÈ磬ÎÒÃÇ¿ÉÒÔÔÚÔËÐÐʱÉú³ÉÒ»¸ö°üº¬Python´úÂëµÄ×Ö·û´®£¬È»ºóʹÓÃ
exec
Óï¾äÖ´ÐÐÕâЩÓï¾ä¡£ÏÂÃæÊÇÒ»¸ö¼òµ¥µÄÀý×Ó¡£
> ......
#!/Library/Frameworks/Python.framework/Versions/2.5/bin/python
# encoding: utf-8
import sys, time
import thread
SLEEP_TIME = 0.0001
def run_benchmark(n, m):
# print(">> Python 2.5.1, stackless 3.1b3 here (N=%d, M=%d)!\n" % (n, m))
lock ......
ĿǰΪֹ£¬¾ÝÎÒËùÖª£¬ÔÚpythonÖжÔÏó³Ö¾Ã»¯ÓÐÒÔϼ¸ÖÖ·½·¨£º
1. ʹÓÃ(dbhash/bsddb, dbm, gdbm, dumbdbm µÈ£©ÒÔ¼°ËüÃǵÄ"¹ÜÀíÆ÷"( anydbm )¡£Ö»ÌṩÁË Python ×Ö
·û´®µÄÓÀ¾ÃÐÔ´¢´æ. Ìṩһ¸öÀàËÆ×ÖµäºÍÎļþµÄ¶ÔÏ󣬿ÉÒÔÍê³É×Ö·û´®µÄÓÀ¾ÃÐÔ´æ´¢¡£
2. ʹÓÃmarshalºÍpickleÀ´ÐòÁл¯python¶ÔÏ󣬲¢¾ß±¸´æ´¢µ½½éÖÊÉϵĹ ......
²Ù×÷ϵͳ£ºlinux debian 4.0£¬ python°æ±¾2.5
s1:°²×°python2.5-dev¡£ÒòΪPython.hÊÇÔÚdev°üÖвÅÓС£
test@debian:~/test_python_c$ aptitude search python2.5-dev
p python2.5-dev - Header files and a static library for Python.
test@debian:~/test_python_c$ sudo aptitude install python2 ......