ÉîÈë 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£¬²¢ÇÒʹÓÃÁËÍø¸ñϸ·ÖÆÁÄ»µÄÅöײ¼ì²âËã·¨¡£ÔÚ°Ñ·É´¬·Åµ½ÆÁÄ»ÉϵÄʱºò£¬ÎÒÒ²ÓÃÀ´Ð©ÐÄ˼À´³õʼ»¯ËüÃǵÄÏÔʾ£¬ÒÔ
Ïà¹ØÎĵµ£º
http://chardet.feedparser.org/ ×Ô¶¯¼ì²â±àÂë
http://effbot.org/zone/celementtree.htm cElementTree
http://github.com/jaybaird/python-bloomfilter bloomfilter
http://docs.python.org/library/threading.html#threading.activeCount threading ......
import Queue, threading, sys
from threading import Thread
import time,urllib
# working thread
class Worker(Thread):
worker_count = 0
def __init__( self, workQueue, resultQueue, timeout = 0, **kwds):
Thread.__init__( self, **kwds ) ......
Õâ¸öËãÊÇC++ǶÈëpython°É£¬ÀûÓÃpythonʵÏÖÏÔʾºÍʼþ´¦Àí£¬C++ʵÏÖÂß¼
ÒÔºóÓÐʱ¼äÒ²»á·´¹ýÀ´ÊÔÊÔ£º£©
import pygame
import sys
import os
import ctypes
def cur_file_dir():
#»ñÈ¡½Å±¾Â·¾¶
path = sys.path[0]
#ÅжÏΪ½Å±¾Îļþ»¹ÊÇpy2exe±àÒëºóµÄÎļþ£¬Èç¹ûÊǽű¾Îļþ£¬Ôò·µ»ØµÄÊǽű¾µÄĿ ......
PythonÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ½âÊÍÐԵļÆËã»ú³ÌÐòÉè¼ÆÓïÑÔ£¬Ò²ÊÇÒ»ÖÖ¹¦ÄÜÇ¿´ó¶øÍêÉÆµÄͨÓÃÐÍÓïÑÔ£¬ÒѾ¾ßÓÐÊ®¶àÄêµÄ·¢Õ¹ÀúÊ·£¬³ÉÊìÇÒÎȶ¨¡£Python ¾ßÓнű¾ÓïÑÔÖÐ×î·á¸»ºÍÇ¿´óµÄÀà¿â£¬×ãÒÔÖ§³Ö¾ø´ó¶àÊýÈÕ³£Ó¦Óá£Ëü¾ßÓмòµ¥¡¢Ò×ѧ¡¢Ãâ·Ñ¡¢¿ªÔ´¡¢¿ÉÒÆÖ²ÐÔ¡¢½âÊÍÐÔ¡¢ÃæÏò¶ÔÏ󡢿ÉÀ©Õ¹ÐÔ¡¢¿ÉǶÈëÐÔÒÔ¼°·á¸»µÄ¿âµÈÌØÐÔ£¬ ......