Important alert: (current site time 11/23/2014 6:25:21 AM EDT)
 

winzip icon

A Pacman World

Email
Submitted on: 11/5/2002 1:18:01 PM
By: Yoav Shnel 
Level: Intermediate
User Rating: By 3 Users
Compatibility: VB 6.0
Views: 10125
(About the author)
 
     PacMan clone(more like replica) written in VB with Windows API and GDI calls. Camera movement allows mazes bigger that the window. I'm still working on a maze editor and there are only two mazes as of yet. If anyone wants to help me with this (make a maze editor or add mazes) I'll be glad if you send me your contribution. **BUG FIX** I fixed a bug where memory was leaking after resizing the window :) NEW UPDATE tunnels!

 

Windows API/Global Declarations:

Can't Copy and Paste this?
Click here for a copy-and-paste friendly version of this code!
'**************************************
'Windows API/Global Declarations for :A Pacman World
'**************************************
Public Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public Declare Function BitBlt Lib "gdi32" (ByVal hdestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal dwRop As Long) As Long
Public Declare Function StretchBlt Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, ByVal nSrcWidth As Long, ByVal nSrcHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function LoadImage Lib "user32" Alias "LoadImageA" (ByVal hInst As Long, _
 ByVal lpsz As String, ByVal un1 As Long, ByVal n1 As Long, ByVal n2 As Long, ByVal un2 As Long) As Long
Private Declare Function CreateBitmap Lib "gdi32" (ByVal nWidth As Long, ByVal nHeight As Long, _
 ByVal nPlanes As Long, ByVal nBitCount As Long, lpBits As Any) As Long
Public Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hdc As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
Public Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hdc As Long) As Long
Public Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SetBkColor Lib "gdi32" (ByVal hdc As Long, ByVal crColor As Long) As Long
Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, _
 ByVal hBrush As Long) As Long
Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" _
 (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long
Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Public Declare Function DeleteDC Lib "gdi32" (ByVal hdc As Long) As Long
Public Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal X As Long, ByVal Y As Long) As Long
winzip iconDownload code

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. Afterdownloading it, you will need a program like Winzip to decompress it.Virus note:All files are scanned once-a-day by Planet Source Code for viruses, but new viruses come out every day, so no prevention program can catch 100% of them. For your own safety, please:
  1. Re-scan downloaded files using your personal virus checker before using it.
  2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.
  3. Scan the source code with Minnow's Project Scanner

If you don't have a virus scanner, you can get one at many places on the net including:McAfee.com

 
Terms of Agreement:   
By using this code, you agree to the following terms...   
  1. You may use this code in your own programs (and may compile it into a program and distribute it in compiled format for languages that allow it) freely and with no charge.
  2. You MAY NOT redistribute this code (for example to a web site) without written permission from the original author. Failure to do so is a violation of copyright laws.   
  3. You may link to this code from another website, but ONLY if it is not wrapped in a frame. 
  4. You will abide by any additional copyright restrictions which the author may have placed in the code or code's description.

Report Bad Submission
Use this form to tell us if this entry should be deleted (i.e contains no code, is a virus, etc.).
This submission should be removed because:

Your Vote

What do you think of this code (in the Intermediate category)?
(The code with your highest vote will win this month's coding contest!)
Excellent  Good  Average  Below Average  Poor (See voting log ...)
 

Other User Comments

11/5/2002 4:14:30 PMJesse

cool, i love Pacman!
(If this comment was disrespectful, please report it.)

 
11/6/2002 4:54:17 AMPijn in Reet

This is very nice.
Good job.
Maybe you can improve the ghosts a.i.
and let pacman move constantly.
(now when moving and pressing another direction pacman stops facing that last direction).
Again: nice job


(If this comment was disrespectful, please report it.)

 
11/6/2002 10:39:58 AMYoav Shnel

the ghosts ai is that they will only chase you when you are in their line of sight. i think it's more "realistic" this way. do you have any suggestions to improve it?
as far as the moving constantly part i think this is a matter of taste, i like that he can stop but to changing it to constant movement you only have to add one line(add a call to CanMove to the first If in the SetDirection function in Engine module).
(If this comment was disrespectful, please report it.)

 
8/21/2003 10:53:32 PM

This is great! Keep up the good work!
(If this comment was disrespectful, please report it.)

 
4/19/2009 8:32:06 PMJosh Fiso

If you need any help at all just e-mail me... i am a big fan of pac man so this is pretty cool..
(If this comment was disrespectful, please report it.)

 
3/2/2013 9:44:07 AMSergey Yurchenko

Good job! If you want I can help you with maze editor. mail me at seriy-coder@yandex.ru
(If this comment was disrespectful, please report it.)

 

Add Your Feedback
Your feedback will be posted below and an email sent to the author. Please remember that the author was kind enough to share this with you, so any criticisms must be stated politely, or they will be deleted. (For feedback not related to this particular code, please click here instead.)
 

To post feedback, first please login.