资源简介
这是一个模仿任天堂经典游戏《超级玛丽》的克隆游戏。目前支持windows 和linux两种操作系统。你应该已经得到了这个游戏的全部源代码和地图编辑器 的源代码。地图编辑器( MapEdit目录下 )使你可以充分发挥想象力,轻而易举 地创造出游戏中的关卡( 目前我只做了两关 )。
代码片段和文件信息
//-----------------------------------------------------------------------------
//
// Copyright (C) July 24 2000 by Zhang Yong
// Email: z-meng@yeah.net
// This source is available for distribution and/or modification
// only under the terms of the GPL license.
//
// The source is distributed in the hope that it will be useful
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// FITNESS FOR A PARTICULAR PURPOSE. See the GPL.txt for more details.
//
//-----------------------------------------------------------------------------
#include “sprite.h“
#include “plane.h“
#include “sound.h“
#include “input.h“
#include
#include
#include “mytime.h“
CBitmap g_bmTile;
CBitmap g_bmPlayer;
CBitmap g_bmGhost;
CBitmap g_bmTurtle;
CBitmap g_bmCoin;
CBitmap g_bmMushroom;
CBitmap g_bmDebris;
CBitmap g_bmBullet;
CBitmap g_bmExplode;
CBitmap g_bmFlower;
CPlane g_plane;
CPlayer g_player;
CSpriteList g_sprites;
CInput g_input;
BOOL g_bPaused;
BOOL g_bShowStats;
int g_level;
BOOL g_darken;
CTime g_lasttime;
void TRACE( char *format ... );
void SetPalette( PALETTEENTRY ape[] );
void ClearBackground();
void OutputText( int x int y char *text );
void FlipScreen();
/*
* LoadPalette
*
* Create a DirectDrawPalette from a palette file
*
* if the palette files cant be found make a default 332 palette
*/
BOOL LoadPalette( char *fname PALETTEENTRY ape[] )
{
FILE *fp;
struct {
DWORD dwRiff;
DWORD dwFileSize;
DWORD dwPal;
DWORD dwData;
DWORD dwDataSize;
WORD palVersion;
WORD palNumEntries;
} header;
header.dwRiff = 0;
if( fname )
{
fp = fopen( fname “rb“ );
if( fp )
fread( &header sizeof(header) 1 fp );
}
/*
* if the file is not a palette file or does not exist
* default to a 332 palette
*/
if (header.dwRiff != 0x46464952 || // ‘RIFF‘
header.dwPal != 0x204C4150 || // ‘PAL ‘
header.dwData != 0x61746164 || // ‘data‘
header.palVersion != 0x0300 ||
header.palNumEntries > 256 ||
header.palNumEntries < 1)
{
TRACE( “Can‘t open palette file using default 332.“ );
for( int i = 0; i < 256; i++ )
{
ape[i].peRed = (BYTE)(((i >> 5) & 0x07) * 255 / 7);
ape[i].peGreen = (BYTE)(((i >> 2) & 0x07) * 255 / 7);
ape[i].peBlue = (BYTE)(((i >> 0) & 0x03) * 255 / 3);
ape[i].peFlags = (BYTE)0;
}
return FALSE;
}
fread( ape sizeof(PALETTEENTRY) 256 fp );
fclose( fp );
return TRUE;
} /* LoadPalette */
void PauseGame()
{
g_bPaused = !g_bPaused;
if( g_bPaused )
{
#ifdef _WIN32
PauseMidi();
#endif
}
else
{
#ifdef _WIN32
ResumeMidi();
#en
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1023 2000-07-26 11:50 supermario\bitmap.h
文件 1048 2000-05-25 21:29 supermario\bright.pal
文件 1048 2000-07-23 23:37 supermario\darken.pal
文件 8664 2000-07-26 19:47 supermario\game.cpp
文件 1017 2000-07-26 19:47 supermario\game.h
文件 2102 2000-07-23 16:03 supermario\graphics\bullet.bmp
文件 2614 2000-07-21 10:25 supermario\graphics\coin.bmp
文件 2102 2000-07-23 11:02 supermario\graphics\debris.bmp
文件 4150 2000-07-26 14:40 supermario\graphics\explode.bmp
文件 2102 2000-07-23 13:35 supermario\graphics\flower.bmp
文件 7222 2000-07-22 11:24 supermario\graphics\ghost.bmp
文件 2102 2000-07-23 13:36 supermario\graphics\mushroom.bmp
文件 50230 2000-07-24 15:33 supermario\graphics\pla
文件 33846 2000-07-23 22:27 supermario\graphics\tile.bmp
文件 19510 2000-07-25 17:05 supermario\graphics\turtle.bmp
文件 1283 2000-07-26 18:54 supermario\input.h
文件 24225 2000-07-25 18:17 supermario\level\level1.dat
文件 22728 2000-07-25 11:35 supermario\level\level2.dat
文件 2992 2000-07-26 19:45 supermario\linux\bitmap.cpp
文件 2796 2000-07-26 19:46 supermario\linux\input.cpp
文件 2276 2000-07-26 19:46 supermario\linux\main.cpp
文件 741 2000-07-26 18:10 supermario\linux\Makefile
文件 926 2000-07-26 19:46 supermario\linux\mytime.cpp
文件 2534 2000-07-24 14:22 supermario\MapEdit\GhostList.cpp
文件 811 2000-07-24 14:22 supermario\MapEdit\GhostList.h
文件 2641 2000-07-24 11:55 supermario\MapEdit\MainFrm.cpp
文件 1629 2000-07-22 19:26 supermario\MapEdit\MainFrm.h
文件 4389 2000-07-24 22:21 supermario\MapEdit\MapEdit.clw
文件 4213 2000-07-22 15:56 supermario\MapEdit\MapEdit.cpp
文件 5333 2000-07-26 00:29 supermario\MapEdit\MapEdit.dsp
............此处省略63个文件信息
相关资源
- 数值分析算法程序设计 C++实现
- c++自制小游戏--扑克牌
- [纯C语言 + Win32 API]一步一步写个围棋
- c++课程设计学生管理系统浙工大源码
- mysql+dev c++实现订单管理系统
- VC++实现RSA加密算法
- 电子宠物C++完整代码可直接运行
- C++ 读取excel2007文件,转成lua文件
- AAM算法实现
- 扑克牌 c++
- 五子棋C++(Qt版).zip
- python 3.8终极大法解决Microsoft Visual C
- C&C++外挂编写深究(入门外挂编写)
- 多功能计算器实现C++代码以及代码详
- c++监控USB插拔状态源码
- 大富翁源代码
- VC++ 中国象棋经典游戏源代码
- C++程序源代码--21点的扑克牌游戏
- ADRC相关技术资料
- 基于Cocos2dx的炸弹人游戏
- 简易学生管理系统源码 数据结构 大作
- 顿开教育C++公开课项目视频集合
- 郁金香VC++游戏辅助视频教程
- 高考成绩管理系统 c++版
- C++模拟存储器的分配与回收算法实现
- C语言进阶源码---基于graphics实现图书
- Effective C++(第三版中文版) - Scott
- C和C++.rar
- 酒店餐饮管理系统visual c++编程
- C++ Doodle Jump源码
评论
共有 条评论