browser icon
You are using an insecure version of your web browser. Please update your browser!
Using an outdated browser makes your computer unsafe. For a safer, faster, more enjoyable user experience, please update your browser today or try a newer browser.

十年梦圆

Posted by on 2005 年 12 月 23 日

你可以任意转载本文,但请在转载后的文章中注明作者和原始链接。
媒体约稿请联系 titilima_AT_163.com(把“_AT_”换成“@”)。

十年前,我初学BASIC程序设计的时候编写了一个击键游戏,只可惜那时候BASIC的程序是需要解释器的支持的,而我又搞不到传说中的编译型BASIC——QuickBASIC,所以从那时候我便有个梦想,就是把我的这个游戏写成一个可以独立运行的EXE文件。
一直到今天我的这个梦才实现了,那寥寥的几行代码也就贴在了下面。另外,对代码没有兴趣但对这个游戏有兴趣的朋友们,你们可以点这里下载李马的这个游戏处男作:keygame.zip

C++代码
  1. #include <stdio.h>   
  2. #include <conio.h>   
  3. #include <ctype.h>   
  4. #include <windows.h>   
  5.   
  6. int ch = 0, chPrev = 0;   
  7.   
  8. DWORD WINAPI OutputProc( LPVOID lpParam )   
  9. {   
  10.     while ( 27 != ch ) // ESC to quit   
  11.     {   
  12.         if ( isprint( ch ) )   
  13.         {   
  14.             chPrev = ch;   
  15.         }   
  16.         if ( 0 != chPrev )   
  17.         {   
  18.             putchar( chPrev );   
  19.         }   
  20.     }   
  21.     return 0;   
  22. }   
  23.   
  24. int main()   
  25. {   
  26.     DWORD dwID;   
  27.     HANDLE hThread;   
  28.     puts( "Press any key to start the game, ESE to Quit." );   
  29.     hThread = CreateThread( NULL, 0, OutputProc, NULL, 0, &dwID );   
  30.     while ( 27 != ch ) // ESC to quit   
  31.     {   
  32.         ch = _getch();   
  33.     }   
  34.     WaitForSingleObject( hThread, INFINITE );   
  35.     CloseHandle( hThread );   
  36.     return 0;   
  37. }  

附:原版BASIC代码

ASP/Visual Basic代码
  1. ‘ My keygame written 10 years ago    
  2. ‘ Copyleft by titilima 2006    
  3. ‘ Special thanks to geoffrey    
  4. ‘ Environment: QBASIC    
  5.     
  6. CLS    
  7. PRINT "Press any key to start the geme, ESC to Quit."    
  8. A$ = INKEY$    
  9. B$ = A$    
  10. WHILE A$ <> CHR$(27)    
  11.     IF A$ <> "" THEN B$ = A$    
  12.     PRINT B$;    
  13.     A$ = INKEY$    
  14. WEND  

订阅本站

2 Comments

  • At 2006.01.18 11:42, 紫猫 said:

    想要QBasic么~HOHO……俺QQ硬盘里面有

    • At 2008.11.03 17:01, 米哈哈 said:

      还是多线程呢!

      (Required)
      (Required, will not be published)