levelgen.cpp
来自「symbian 的一个 二维飞行游戏 源码 及相关技术文章」· C++ 代码 · 共 64 行
CPP
64 行
// Copyright 2002 Kenneth Guy,
//
#include <iostream>
#include <fstream>
typedef int TInt;
typedef short TInt16;
typedef unsigned int TUint32;
typedef unsigned short TUint16;
#include "backgrounds.h"
#include "sprites.h"
#include "status.h"
/*
Backgrounds; 0
Sprites; 4
Status; 8
backgrounds 12
sprites 12+backgrounds
status 12+backgrounds+sprites
*/
void write32bit(int val,std::ofstream& file) {
const unsigned char* data = (const unsigned char*)(&val);
file.write(data,4);
}
main(int argc, char** argv) {
if(argc!=2) {
cerr << "levelGen <filename>\n";
std::exit(-1);
}
int statusSize=KStatusSize+KStatusHeaderSize;
int spriteSize=KSpritesSize;
int backgroundSize=KBackgroundsSize;
int backgroundsOffset=12;
int spritesOffset=backgroundsOffset+backgroundSize;
int statusOffset=spritesOffset+spriteSize;
std::ofstream level(argv[1]);
if(!level) {
cerr << "Couldn't open " << argv[1] << "\n";
std::exit(-1);
}
write32bit(backgroundsOffset,level); //0
write32bit(spritesOffset,level); //4
write32bit(statusOffset,level); //8
level.write((const unsigned char *)KBackgrounds,backgroundSize); //12
level.write((const unsigned char *)KSprites,spriteSize);
level.write((const unsigned char *)KStatus,statusSize);
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?