📄 init.c
字号:
#pragma hdrstop
#include "invaders.h"
void InitGame()
{
char buf[32];
int x, i;
srand( (unsigned)time( NULL ) );
KillGameTimers();
SetWindowText(hWndMain, "Space Invaders");
ClearScrn();
sprintf(buf, "%f", (double)HiScore);
for (i = 0; buf[i] != '.' && i < sizeof buf; i++)
;
buf[i] = '\0';
x = 64-5*strlen(buf);
for (i = 0; isdigit(buf[i]); i++) {
PaintObject(x, 1, digit[buf[i]-'0']);
x += 10;
}
PaintObject(36, 17, character_S);
PaintObject(48, 17, character_P);
PaintObject(60, 17, character_A);
PaintObject(72, 17, character_C);
PaintObject(84, 17, character_E);
PaintObject(18, 33, character_I);
PaintObject(30, 33, character_N);
PaintObject(42, 33, character_V);
PaintObject(54, 33, character_A);
PaintObject(66, 33, character_D);
PaintObject(78, 33, character_E);
PaintObject(90, 33, character_R);
PaintObject(102, 33, character_S);
StartGame = TRUE;
Paused = TRUE;
BonusLifeGiven = FALSE;
Score = 0;
}
void InitFrame()
{
int x, i;
char buf[16];
ClearScrn();
SetGameText();
sprintf(buf, "%d", Frame);
x = (128-(68 + 8*strlen(buf)))/2;
if (x >= 0) {
PaintObject(x , 17, character_F);
PaintObject(x+12, 17, character_R);
PaintObject(x+24, 17, character_A);
PaintObject(x+36, 17, character_M);
PaintObject(x+48, 17, character_E);
for (i = 0; isdigit(buf[i]); i++)
PaintObject(x+68+i*8, 17, digit[buf[i]-'0']);
}
for (i = 0; i < Lives; i++)
PaintObject(i*(Gun[0])+4, 45, Gun);
PlayWAV(SND_FRAME);
GunPos = 10;
BulletPresent = FALSE;
SpaceShipPresent = FALSE;
Paused = FALSE;
Stopped = FALSE;
NumGremlins = 55;
BulletsFired = 0;
InitBombs();
InitGremlins();
DelayStartGame();
}
void ClearScrn()
{
int i, j;
for (i = 0; i < 128; i++)
for (j = 0; j < 48; j++)
VirtScrn[i][j] = 0;
InvalidateRect(hWndMain, NULL, TRUE);
UpdateWindow(hWndMain);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -