だから私は Python と PyGame でゲームを作りました。Intel の March Developer Challengeにゲームを提出することに興味があります。ただし、開発者の課題では、Intel の Atom Developer SDK ( http://appdeveloper.intel.com/en-us/sdk ) を使用する必要があります。この SDK には、C および C++ 用の API しかありません。
Python と PyGame は初めてで、C や C++ の経験はありません。私の質問は、(上記の最初のリンクが示唆するように) Python アプリケーションを使用して、または Python アプリケーションから、Intel の Atom SDK を何らかの形で実装することは可能でしょうか?
Python を C に埋め込む/拡張する方法について少し読んだことがありますが、何をどこに埋め込むべきか完全にはわかりません。つまり、Cで次のようなことができることを知っています:
#include <Python.h>
int
main(int argc, char *argv[])
{
Py_Initialize();
PyRun_SimpleString("from time import time,ctime\n"
"print 'Today is',ctime(time())\n");
Py_Finalize();
return 0;
}
しかし、自分のマシンに Python と Pygame がインストールされていない人のために、Python と Pygame へのすべての依存関係についてはどうすればよいでしょうか? 通常、Py2Exe は必要な依存関係を圧縮します (私は自分のゲームを exe/zip にパッケージ化することができました) が、C 内に埋め込むというコンテキストでは、どのように処理すればよいでしょうか? これで何とかpy2exeを使用できますか、それともCに埋め込むためにまったく別のことをする必要がありますか?
私のゲーム全体を C に埋め込もうとするよりも、Python を C 検証コードで拡張するルートに進む方がはるかに簡単なように思えますが、それはオプションではないと思います。 Visual Studio 2008 '.lib'" として、アプリケーションを Visual Studio でコンパイルする必要があることを意味します...?
どんな助け、考え、またはアイデアも大歓迎です!
上記の Intel サイトで完全な SDK 開発者ガイドを見つけることができますが、C 言語 API を使用した「Hello World」は次のとおりです。
#include <stdio.h>
#include “adpcore.h”
int main( int argc, char* argv[] )
{
ADP_RET_CODE ret_code;
const ADP_APPLICATIONID myApplicationID = {{
0x12345678,0x11112222,0x33331234,0x567890ab}};
if ((ret_code = ADP_Initialize()) != ADP_SUCCESS ){
printf( “ERROR: exiting” );
exit( -1 );
}
if (( ret_code = ADP_IsAuthorized( myApplicationId )) == ADP_AUTHORIZED )
printf( “Hello World” );
else
printf( “Not authorized to run” );
exit 0;
}
35 ページの SDK 開発者ガイド: http://appdeveloper.intel.com/sites/files/pages/SDK%20Developer%20Guide.pdf