Here is the code when the bullet hits the terrorist:
// Kill terrorist - Win 30 points
if ((BulletAHeroPos=5) and (TerroristPos=1)) or
((BulletBHeroPos=5) and (TerroristPos=2)) or
((BulletCHeroPos=5) and (TerroristPos=3)) or
((BulletDHeroPos=5) and (TerroristPos=4)) then begin
Cntrls:=false;
Blocked:=true;
StopAllTimers;
CicloTimer:=1;
TimerKillTerrorist.interval:=500;
TimerKillTerrorist.Enabled:=true;
Row:=Row+1;
Score:=Score+30;
PlaySound(pfEvent);
end;
And the animated sequence:
case CicloTimer
of 1: begin ArrayTerrorist[TerroristPos].visible:=(not ArrayTerrorist[TerroristPos].visible); Blocked:=false; end;
2: begin ArrayTerrorist[TerroristPos].visible:=(not ArrayTerrorist[TerroristPos].visible); end;
3: begin
if ((BulletAHeroPos=5) and (TerroristPos=1)) then begin ImageBulletA4.visible:=false; SetupHero; end;
if ((BulletBHeroPos=5) and (TerroristPos=2)) then begin ImageBulletB4.visible:=false; SetupHero; end;
if ((BulletCHeroPos=5) and (TerroristPos=3)) then begin ImageBulletC4.visible:=false; SetupHero; end;
if ((BulletDHeroPos=5) and (TerroristPos=4)) then begin ImageBulletD4.visible:=false; SetupHero; end;
TimerKillTerrorist.Enabled:=false; TimerLevel2.Enabled:=true; end;
end;
Inc(CicloTimer);
Blog about Electronic Handhelds, Video Games and Japanese Manga & Anime
Wednesday, October 04, 2006
Terrorist firing bullets and hostages avoiding them
Here is the random event for when the terrorist shoots:
if RdmEvent=10 then begin // Terrorist shoots
if BulletTerrorist=0 then begin
BulletTerrorist:=1;
case TerroristPos
of 1: begin BulletATerroristPos:=1; end;
2: begin BulletBTerroristPos:=1; end;
3: begin BulletCTerroristPos:=1; end;
4: begin BulletDTerroristPos:=1; end;
end;
end;
end;
And the code for the hostages sitting down to avoid the terrorist's bullets:
// Hostages sit down when terrorist shoots
if BulletTerrorist=1 then begin
if ((BulletATerroristPos=1) and (ImageHostage1.visible=true)) then begin ImageHostage1.visible:=false; end;
if ((BulletBTerroristPos=2) and (ImageHostage2.visible=true)) then begin ImageHostage2.visible:=false; end;
if ((BulletCTerroristPos=3) and (ImageHostage3.visible=true)) then begin ImageHostage3.visible:=false; end;
if ((BulletDTerroristPos=2) and (ImageHostage4.visible=true)) then begin ImageHostage4.visible:=false; end;
end;
if RdmEvent=10 then begin // Terrorist shoots
if BulletTerrorist=0 then begin
BulletTerrorist:=1;
case TerroristPos
of 1: begin BulletATerroristPos:=1; end;
2: begin BulletBTerroristPos:=1; end;
3: begin BulletCTerroristPos:=1; end;
4: begin BulletDTerroristPos:=1; end;
end;
end;
end;
And the code for the hostages sitting down to avoid the terrorist's bullets:
// Hostages sit down when terrorist shoots
if BulletTerrorist=1 then begin
if ((BulletATerroristPos=1) and (ImageHostage1.visible=true)) then begin ImageHostage1.visible:=false; end;
if ((BulletBTerroristPos=2) and (ImageHostage2.visible=true)) then begin ImageHostage2.visible:=false; end;
if ((BulletCTerroristPos=3) and (ImageHostage3.visible=true)) then begin ImageHostage3.visible:=false; end;
if ((BulletDTerroristPos=2) and (ImageHostage4.visible=true)) then begin ImageHostage4.visible:=false; end;
end;
Hostages' movements
Here is the random event for the different hostages standing up and sitting down:
if RdmEvent=2 then begin // Event - Hostage 1 stands up
if (ImageHostage2.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage1.visible:=true; end;
end;
if RdmEvent=3 then begin // Event - Hostage 2 stands up
if (ImageHostage1.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage2.visible:=true; end;
end;
if RdmEvent=4 then begin // Event - Hostage 3 stands up
if (ImageHostage1.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage3.visible:=true; end;
end;
if RdmEvent=5 then begin // Event - Hostage 4 stands up
if (ImageHostage1.visible=false) or (ImageHostage2.visible=false) or (ImageHostage3.visible=false) then begin ImageHostage4.visible:=true; end;
end;
if RdmEvent=6 then begin // Event - Hostage 1 sits down
ImageHostage1.visible:=false;
end;
if RdmEvent=7 then begin // Event - Hostage 2 sits down
ImageHostage2.visible:=false;
end;
if RdmEvent=8 then begin // Event - Hostage 3 sits down
ImageHostage3.visible:=false;
end;
if RdmEvent=9 then begin // Event - Hostage 4 sits down
ImageHostage4.visible:=false;
end;
if RdmEvent=2 then begin // Event - Hostage 1 stands up
if (ImageHostage2.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage1.visible:=true; end;
end;
if RdmEvent=3 then begin // Event - Hostage 2 stands up
if (ImageHostage1.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage2.visible:=true; end;
end;
if RdmEvent=4 then begin // Event - Hostage 3 stands up
if (ImageHostage1.visible=false) or (ImageHostage3.visible=false) or (ImageHostage4.visible=false) then begin ImageHostage3.visible:=true; end;
end;
if RdmEvent=5 then begin // Event - Hostage 4 stands up
if (ImageHostage1.visible=false) or (ImageHostage2.visible=false) or (ImageHostage3.visible=false) then begin ImageHostage4.visible:=true; end;
end;
if RdmEvent=6 then begin // Event - Hostage 1 sits down
ImageHostage1.visible:=false;
end;
if RdmEvent=7 then begin // Event - Hostage 2 sits down
ImageHostage2.visible:=false;
end;
if RdmEvent=8 then begin // Event - Hostage 3 sits down
ImageHostage3.visible:=false;
end;
if RdmEvent=9 then begin // Event - Hostage 4 sits down
ImageHostage4.visible:=false;
end;
Bullets' movements
Here is the code for the bullets' movements fired by either the hero or the terrorist:
// Movement - Bullet A - Hero
case BulletAHeroPos
of 5: begin BulletAHeroPos:=0; BulletHero:=0; ImageBulletA4.Visible:=false; end;
4: begin BulletAHeroPos:=5; ImageBulletA3.Visible:=false; ImageBulletA4.Visible:=true; end;
3: begin BulletAHeroPos:=4; ImageBulletA2.Visible:=false; ImageBulletA3.Visible:=true; end;
2: begin BulletAHeroPos:=3; ImageBulletA1.Visible:=false; ImageBulletA2.Visible:=true; end;
1: begin BulletAHeroPos:=2; ImageBulletA1.Visible:=true end;
end;
// Movement - Bullet B - Hero
case BulletBHeroPos
of 5: begin BulletBHeroPos:=0; BulletHero:=0; ImageBulletB4.Visible:=false; end;
4: begin BulletBHeroPos:=5; ImageBulletB3.Visible:=false; ImageBulletB4.Visible:=true; end;
3: begin BulletBHeroPos:=4; ImageBulletB2.Visible:=false; ImageBulletB3.Visible:=true; end;
2: begin BulletBHeroPos:=3; ImageBulletB1.Visible:=false; ImageBulletB2.Visible:=true; end;
1: begin BulletBHeroPos:=2; ImageBulletB1.Visible:=true; end;
end;
// Movement - Bullet C - Hero
case BulletCHeroPos
of 5: begin BulletCHeroPos:=0; BulletHero:=0; ImageBulletC4.Visible:=false; end;
4: begin BulletCHeroPos:=5; ImageBulletC3.Visible:=false; ImageBulletC4.Visible:=true; end;
3: begin BulletCHeroPos:=4; ImageBulletC2.Visible:=false; ImageBulletC3.Visible:=true; end;
2: begin BulletCHeroPos:=3; ImageBulletC1.Visible:=false; ImageBulletC2.Visible:=true; end;
1: begin BulletCHeroPos:=2; ImageBulletC1.Visible:=true; end;
end;
// Movement - Bullet D - Hero
case BulletDHeroPos
of 5: begin BulletDHeroPos:=0; BulletHero:=0; ImageBulletD4.Visible:=false; end;
4: begin BulletDHeroPos:=5; ImageBulletD3.Visible:=false; ImageBulletD4.Visible:=true; end;
3: begin BulletDHeroPos:=4; ImageBulletD2.Visible:=false; ImageBulletD3.Visible:=true; end;
2: begin BulletDHeroPos:=3; ImageBulletD1.Visible:=false; ImageBulletD2.Visible:=true; end;
1: begin BulletDHeroPos:=2; ImageBulletD1.Visible:=true; end;
end;
// Movement - Bullet A - Terrorist
case BulletATerroristPos
of 5: begin BulletATerroristPos:=0; BulletTerrorist:=0; ImageBulletA1.Visible:=false; end;
4: begin BulletATerroristPos:=5; ImageBulletA2.Visible:=false; ImageBulletA1.Visible:=true; end;
3: begin BulletATerroristPos:=4; ImageBulletA3.Visible:=false; ImageBulletA2.Visible:=true; end;
2: begin BulletATerroristPos:=3; ImageBulletA4.Visible:=false; ImageBulletA3.Visible:=true; end;
1: begin BulletATerroristPos:=2; ImageBulletA4.Visible:=true end;
end;
// Movement - Bullet B - Terrorist
case BulletBTerroristPos
of 5: begin BulletBTerroristPos:=0; BulletTerrorist:=0; ImageBulletB1.Visible:=false; end;
4: begin BulletBTerroristPos:=5; ImageBulletB2.Visible:=false; ImageBulletB1.Visible:=true; end;
3: begin BulletBTerroristPos:=4; ImageBulletB3.Visible:=false; ImageBulletB2.Visible:=true; end;
2: begin BulletBTerroristPos:=3; ImageBulletB4.Visible:=false; ImageBulletB3.Visible:=true; end;
1: begin BulletBTerroristPos:=2; ImageBulletB4.Visible:=true end;
end;
// Movement - Bullet C - Terrorist
case BulletCTerroristPos
of 5: begin BulletCTerroristPos:=0; BulletTerrorist:=0; ImageBulletC1.Visible:=false; end;
4: begin BulletCTerroristPos:=5; ImageBulletC2.Visible:=false; ImageBulletC1.Visible:=true; end;
3: begin BulletCTerroristPos:=4; ImageBulletC3.Visible:=false; ImageBulletC2.Visible:=true; end;
2: begin BulletCTerroristPos:=3; ImageBulletC4.Visible:=false; ImageBulletC3.Visible:=true; end;
1: begin BulletCTerroristPos:=2; ImageBulletC4.Visible:=true end;
end;
// Movement - Bullet D - Terrorist
case BulletDTerroristPos
of 5: begin BulletDTerroristPos:=0; BulletTerrorist:=0; ImageBulletD1.Visible:=false; end;
4: begin BulletDTerroristPos:=5; ImageBulletD2.Visible:=false; ImageBulletD1.Visible:=true; end;
3: begin BulletDTerroristPos:=4; ImageBulletD3.Visible:=false; ImageBulletD2.Visible:=true; end;
2: begin BulletDTerroristPos:=3; ImageBulletD4.Visible:=false; ImageBulletD3.Visible:=true; end;
1: begin BulletDTerroristPos:=2; ImageBulletD4.Visible:=true end;
end;
// Movement - Bullet A - Hero
case BulletAHeroPos
of 5: begin BulletAHeroPos:=0; BulletHero:=0; ImageBulletA4.Visible:=false; end;
4: begin BulletAHeroPos:=5; ImageBulletA3.Visible:=false; ImageBulletA4.Visible:=true; end;
3: begin BulletAHeroPos:=4; ImageBulletA2.Visible:=false; ImageBulletA3.Visible:=true; end;
2: begin BulletAHeroPos:=3; ImageBulletA1.Visible:=false; ImageBulletA2.Visible:=true; end;
1: begin BulletAHeroPos:=2; ImageBulletA1.Visible:=true end;
end;
// Movement - Bullet B - Hero
case BulletBHeroPos
of 5: begin BulletBHeroPos:=0; BulletHero:=0; ImageBulletB4.Visible:=false; end;
4: begin BulletBHeroPos:=5; ImageBulletB3.Visible:=false; ImageBulletB4.Visible:=true; end;
3: begin BulletBHeroPos:=4; ImageBulletB2.Visible:=false; ImageBulletB3.Visible:=true; end;
2: begin BulletBHeroPos:=3; ImageBulletB1.Visible:=false; ImageBulletB2.Visible:=true; end;
1: begin BulletBHeroPos:=2; ImageBulletB1.Visible:=true; end;
end;
// Movement - Bullet C - Hero
case BulletCHeroPos
of 5: begin BulletCHeroPos:=0; BulletHero:=0; ImageBulletC4.Visible:=false; end;
4: begin BulletCHeroPos:=5; ImageBulletC3.Visible:=false; ImageBulletC4.Visible:=true; end;
3: begin BulletCHeroPos:=4; ImageBulletC2.Visible:=false; ImageBulletC3.Visible:=true; end;
2: begin BulletCHeroPos:=3; ImageBulletC1.Visible:=false; ImageBulletC2.Visible:=true; end;
1: begin BulletCHeroPos:=2; ImageBulletC1.Visible:=true; end;
end;
// Movement - Bullet D - Hero
case BulletDHeroPos
of 5: begin BulletDHeroPos:=0; BulletHero:=0; ImageBulletD4.Visible:=false; end;
4: begin BulletDHeroPos:=5; ImageBulletD3.Visible:=false; ImageBulletD4.Visible:=true; end;
3: begin BulletDHeroPos:=4; ImageBulletD2.Visible:=false; ImageBulletD3.Visible:=true; end;
2: begin BulletDHeroPos:=3; ImageBulletD1.Visible:=false; ImageBulletD2.Visible:=true; end;
1: begin BulletDHeroPos:=2; ImageBulletD1.Visible:=true; end;
end;
// Movement - Bullet A - Terrorist
case BulletATerroristPos
of 5: begin BulletATerroristPos:=0; BulletTerrorist:=0; ImageBulletA1.Visible:=false; end;
4: begin BulletATerroristPos:=5; ImageBulletA2.Visible:=false; ImageBulletA1.Visible:=true; end;
3: begin BulletATerroristPos:=4; ImageBulletA3.Visible:=false; ImageBulletA2.Visible:=true; end;
2: begin BulletATerroristPos:=3; ImageBulletA4.Visible:=false; ImageBulletA3.Visible:=true; end;
1: begin BulletATerroristPos:=2; ImageBulletA4.Visible:=true end;
end;
// Movement - Bullet B - Terrorist
case BulletBTerroristPos
of 5: begin BulletBTerroristPos:=0; BulletTerrorist:=0; ImageBulletB1.Visible:=false; end;
4: begin BulletBTerroristPos:=5; ImageBulletB2.Visible:=false; ImageBulletB1.Visible:=true; end;
3: begin BulletBTerroristPos:=4; ImageBulletB3.Visible:=false; ImageBulletB2.Visible:=true; end;
2: begin BulletBTerroristPos:=3; ImageBulletB4.Visible:=false; ImageBulletB3.Visible:=true; end;
1: begin BulletBTerroristPos:=2; ImageBulletB4.Visible:=true end;
end;
// Movement - Bullet C - Terrorist
case BulletCTerroristPos
of 5: begin BulletCTerroristPos:=0; BulletTerrorist:=0; ImageBulletC1.Visible:=false; end;
4: begin BulletCTerroristPos:=5; ImageBulletC2.Visible:=false; ImageBulletC1.Visible:=true; end;
3: begin BulletCTerroristPos:=4; ImageBulletC3.Visible:=false; ImageBulletC2.Visible:=true; end;
2: begin BulletCTerroristPos:=3; ImageBulletC4.Visible:=false; ImageBulletC3.Visible:=true; end;
1: begin BulletCTerroristPos:=2; ImageBulletC4.Visible:=true end;
end;
// Movement - Bullet D - Terrorist
case BulletDTerroristPos
of 5: begin BulletDTerroristPos:=0; BulletTerrorist:=0; ImageBulletD1.Visible:=false; end;
4: begin BulletDTerroristPos:=5; ImageBulletD2.Visible:=false; ImageBulletD1.Visible:=true; end;
3: begin BulletDTerroristPos:=4; ImageBulletD3.Visible:=false; ImageBulletD2.Visible:=true; end;
2: begin BulletDTerroristPos:=3; ImageBulletD4.Visible:=false; ImageBulletD3.Visible:=true; end;
1: begin BulletDTerroristPos:=2; ImageBulletD4.Visible:=true end;
end;
Terrorist's movements
Here is the random event for the terrorist's movements:
RdmEvent:=random(12); // Random event calculation
if RdmEvent=0 then begin // Terrorist movement to the right
case TerroristPos
of 3: begin TerroristPos:=4; ImageTerrorist4.Visible:=true; ImageTerrorist3.visible:=false; end;
2: begin TerroristPos:=3; ImageTerrorist3.Visible:=true; ImageTerrorist2.visible:=false; end;
1: begin TerroristPos:=2; ImageTerrorist2.Visible:=true; ImageTerrorist1.visible:=false; end;
end;
end;
if RdmEvent=1 then begin // Terrorist movement to the left
case TerroristPos
of 2: begin TerroristPos:=1; ImageTerrorist1.Visible:=true; ImageTerrorist2.visible:=false; end;
3: begin TerroristPos:=2; ImageTerrorist2.Visible:=true; ImageTerrorist3.visible:=false; end;
4: begin TerroristPos:=3; ImageTerrorist3.Visible:=true; ImageTerrorist4.visible:=false; end;
end;
end;
RdmEvent:=random(12); // Random event calculation
if RdmEvent=0 then begin // Terrorist movement to the right
case TerroristPos
of 3: begin TerroristPos:=4; ImageTerrorist4.Visible:=true; ImageTerrorist3.visible:=false; end;
2: begin TerroristPos:=3; ImageTerrorist3.Visible:=true; ImageTerrorist2.visible:=false; end;
1: begin TerroristPos:=2; ImageTerrorist2.Visible:=true; ImageTerrorist1.visible:=false; end;
end;
end;
if RdmEvent=1 then begin // Terrorist movement to the left
case TerroristPos
of 2: begin TerroristPos:=1; ImageTerrorist1.Visible:=true; ImageTerrorist2.visible:=false; end;
3: begin TerroristPos:=2; ImageTerrorist2.Visible:=true; ImageTerrorist3.visible:=false; end;
4: begin TerroristPos:=3; ImageTerrorist3.Visible:=true; ImageTerrorist4.visible:=false; end;
end;
end;
Monday, October 02, 2006
Coding the Main Character
As for level 1, lets start with the code for the main character:
if (key=VK_RIGHT) and (Blocked=false) then begin // Key Right
if PosChar=3 then begin PosChar:=4; ImageHero4.visible:=true; ImageHero3.visible:=false; end;
if PosChar=2 then begin PosChar:=3; ImageHero3.visible:=true; ImageHero2.visible:=false; end;
if PosChar=1 then begin PosChar:=2; ImageHero2.visible:=true; ImageHero1.visible:=false; end;
end;
if (key=VK_LEFT) and (Blocked=false) then begin // Key Left
if PosChar=2 then begin PosChar:=1; ImageHero1.visible:=true; ImageHero2.visible:=false; end;
if PosChar=3 then begin PosChar:=2; ImageHero2.visible:=true; ImageHero3.visible:=false; end;
if PosChar=4 then begin PosChar:=3; ImageHero3.visible:=true; ImageHero4.visible:=false; end;
end;
if (key=VK_SPACE) and (Blocked=false) then begin // Key Space - Firing bullet
if BulletHero=0 then begin
BulletHero:=1;
if PosChar=1 then begin BulletAHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=2 then begin BulletBHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=3 then begin BulletCHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=4 then begin BulletDHeroPos:=1; PlaySound(pfPlay); end;
end;
end;
if (key=VK_RIGHT) and (Blocked=false) then begin // Key Right
if PosChar=3 then begin PosChar:=4; ImageHero4.visible:=true; ImageHero3.visible:=false; end;
if PosChar=2 then begin PosChar:=3; ImageHero3.visible:=true; ImageHero2.visible:=false; end;
if PosChar=1 then begin PosChar:=2; ImageHero2.visible:=true; ImageHero1.visible:=false; end;
end;
if (key=VK_LEFT) and (Blocked=false) then begin // Key Left
if PosChar=2 then begin PosChar:=1; ImageHero1.visible:=true; ImageHero2.visible:=false; end;
if PosChar=3 then begin PosChar:=2; ImageHero2.visible:=true; ImageHero3.visible:=false; end;
if PosChar=4 then begin PosChar:=3; ImageHero3.visible:=true; ImageHero4.visible:=false; end;
end;
if (key=VK_SPACE) and (Blocked=false) then begin // Key Space - Firing bullet
if BulletHero=0 then begin
BulletHero:=1;
if PosChar=1 then begin BulletAHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=2 then begin BulletBHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=3 then begin BulletCHeroPos:=1; PlaySound(pfPlay); end;
if PosChar=4 then begin BulletDHeroPos:=1; PlaySound(pfPlay); end;
end;
end;
Subscribe to:
Posts (Atom)