示例#1
0
文件: utowers.cpp 项目: danvac/signus
void TTower::GetUnitInfo()
{
    char cbuf[30];
    int clr;

    TObject::GetUnitInfo(); 
    CopyBmpNZ(UInfoBuf, UINFO_SX, 77, 1, LevelBmps[Level], 29, 16);
    PutStr(UInfoBuf, UINFO_SX, 2, 2, GetName(), NormalFont, clrLightBlue, clrBlack);

    PutStr(UInfoBuf, UINFO_SX, 2, 26, SigText[TXT_STATE], NormalFont, clrWhite, clrBlack);
    PutStr(UInfoBuf, UINFO_SX, 2, 42, SigText[TXT_TIME], NormalFont, clrWhite, clrBlack);

    sprintf(cbuf, "%i %%", 100 * HitPoints / MaxHitPoints);
    clr = (100 * HitPoints < 20 * MaxHitPoints) ? clrRed : clrLightBlue2;
    PercentBar(UInfoBuf, UINFO_SX, 54, 28, 52, 13, clr, clrSeaBlue, (double)HitPoints / MaxHitPoints, cbuf);

    sprintf(cbuf, "%i/%i", TimeUnits, MaxTimeUnits);
    PercentBar(UInfoBuf, UINFO_SX, 54, 44, 52, 13, clrLightBlue2, clrSeaBlue, (double)TimeUnits / MaxTimeUnits, cbuf);

    // zbrane:
    for (int i = 0; i < WeaponsCnt; i++) {
        CopyBmp(UInfoBuf, UINFO_SX, 3, 83 + i * 26,
                ((i == CurWpn) && (WeaponsCnt != 1)) ? WpnInfoBkg[1] : WpnInfoBkg[0], 
                102, 23);
        PutStr(UInfoBuf, UINFO_SX, 5, 86 + i * 26, Weapons[i]->Name, NormalFont, clrWhite, clrBlack);
        sprintf(cbuf, "%i/%i", Weapons[i]->Ammo, Weapons[i]->MaxAmmo);
        PercentBar(UInfoBuf, UINFO_SX, 60, 88 + i * 26, 41, 13, clrLightBlue2, clrSeaBlue, (double)Weapons[i]->Ammo / Weapons[i]->MaxAmmo, cbuf);
    }
    if (CurWpn != -1) {
        CopyBmpNZ(UInfoBuf, UINFO_SX, 2, 188, BmpAmmoIcons[Weapons[CurWpn]->GetType()], 30, 13);
        sprintf(cbuf, "%i", Weapons[CurWpn]->TimeLost);
        PutStr(UInfoBuf, UINFO_SX, 35, 188, cbuf, NormalFont, clrWhite, clrBlack);     
    }
}
示例#2
0
文件: utowers.cpp 项目: danvac/signus
void TThor::GetUnitInfo()
{
    char cbuf[40];
    
    TTower::GetUnitInfo();

    PutStr(UInfoBuf, UINFO_SX, 2, 58, SigText[TXT_ROCKETS_LEFT], NormalFont, clrWhite, clrBlack);

    sprintf(cbuf, "%i / 100", TotalRockets);
    PercentBar(UInfoBuf, UINFO_SX, 54, 60, 52, 13, clrLightBlue2, clrSeaBlue, (double)TotalRockets / 100, cbuf);

    if (IsOverground)
        CopyBmp(UInfoBuf, UINFO_SX, 2, 147, IconThorIn->IconPic[0], 59, 59);
    else
        CopyBmp(UInfoBuf, UINFO_SX, 2, 147, IconThorOut->IconPic[0], 59, 59);

    CopyBmpNZ(UInfoBuf, UINFO_SX, 2, 129, BmpAmmoIcons[Weapons[CurWpn]->GetType()], 30, 13);
    sprintf(cbuf, "%i", Weapons[CurWpn]->TimeLost);
    PutStr(UInfoBuf, UINFO_SX, 35, 129, cbuf, NormalFont, clrWhite, clrBlack);     
}
示例#3
0
void TTransBox::DrawUnits()
{
	int i, ux, uy, clr;
	
	for (i = 0; i < Cnt; i++) {
		ux = 8 + 57 * (i % (w / 57));
		uy = 8 + 57 * (i / (w / 57));
		CopyBmp(Buf, w, ux, uy, UnitsTransIcons[Units[lunits[i]]->Type], 56, 56);
		if (Units[lunits[i]]->HitPoints < 0.3 * Units[lunits[i]]->MaxHitPoints) clr = 10; /*red*/ else clr = 59; /*light green*/
		PercentBar(Buf, w, ux+1, uy+51, 54, 4, clr, 72,
		           ((double)Units[lunits[i]]->HitPoints)/Units[lunits[i]]->MaxHitPoints, "");
	}
	Draw(0);
}