procedure pallymove
Input.KeyDown (chars)
if chars (KEY_UP_ARROW) and paladin.disable = false and paladin.up = true then
if paladin.atkdis = false then
if paladin.movement <= 10 then
BSprite.Change ("pally6.bmp", paladin.pic)
elsif paladin.movement > 10 then
BSprite.Change ("pally6-2.bmp", paladin.pic)
end if
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.atkdis = true then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
paladin.y += paladin.movesp
paladin.movement += paladin.movesp
paladin.facing := 1
elsif chars (KEY_DOWN_ARROW) and paladin.disable = false and paladin.down = true then
if paladin.atkdis = false then
if paladin.movement <= 10 then
BSprite.Change ("pally5.bmp", paladin.pic)
elsif paladin.movement > 10 then
BSprite.Change ("pally5-2.bmp", paladin.pic)
end if
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.atkdis = true then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
paladin.y -= paladin.movesp
paladin.movement += paladin.movesp
paladin.facing := 2
elsif chars (KEY_RIGHT_ARROW) and paladin.disable = false and paladin.right = true then
if paladin.atkdis = false then
if paladin.movement <= 5 then
BSprite.Change ("pally3-2.bmp", paladin.pic)
elsif paladin.movement > 5 and paladin.movement < 11 then
BSprite.Change ("pally7-2.bmp", paladin.pic)
elsif paladin.movement > 10 and paladin.movement < 16 then
BSprite.Change ("pally2-2.bmp", paladin.pic)
elsif paladin.movement > 15 and paladin.movement < 21 then
BSprite.Change ("pally7-2.bmp", paladin.pic)
end if
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.atkdis = true then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
paladin.x += paladin.movesp
paladin.movement += paladin.movesp
paladin.facing := 3
elsif chars (KEY_LEFT_ARROW) and paladin.disable = false and paladin.left = true then
if paladin.atkdis = false then
if paladin.movement <= 5 and paladin.attack = 0 then
BSprite.Change ("pally3.bmp", paladin.pic)
elsif paladin.movement > 5 and paladin.movement <= 10 then
BSprite.Change ("pally7.bmp", paladin.pic)
elsif paladin.movement > 10 and paladin.movement <= 15 then
BSprite.Change ("pally2.bmp", paladin.pic)
elsif paladin.movement > 15 and paladin.movement <= 20 then
BSprite.Change ("pally7.bmp", paladin.pic)
end if
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.atkdis = true then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
paladin.x := paladin.x - paladin.movesp
paladin.movement += paladin.movesp
paladin.facing := 4
elsif chars (KEY_LEFT_ARROW) = false and chars (KEY_RIGHT_ARROW) = false and chars (KEY_DOWN_ARROW) = false and chars (KEY_UP_ARROW) = false and paladin.atkdis = false then
if paladin.facing = 1 then
BSprite.Change ("pally6.bmp", paladin.pic)
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.facing = 2 then
BSprite.Change ("pally5.bmp", paladin.pic)
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.facing = 3 then
BSprite.Change ("pally1-2.bmp", paladin.pic)
BSprite.Move (paladin.x, paladin.y, paladin.pic)
elsif paladin.facing = 4 then
BSprite.Change ("pally1.bmp", paladin.pic)
BSprite.Move (paladin.x, paladin.y, paladin.pic)
end if
end if
if paladin.movement >= 20 then
paladin.movement := 0
end if
%ATTACK
if chars ('a') and paladin.atkdis = false then
paladin.atkdis := true
end if
if paladin.atkdis = true then
if paladin.attack = 1 then
if paladin.facing = 4 then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
BSprite.Change ("pallya1.bmp", paladin.pic)
elsif paladin.facing = 3 then
BSprite.Change ("pallya1-2.bmp", paladin.pic)
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
elsif paladin.facing = 2 then
BSprite.Change ("pallya1-3.bmp", paladin.pic)
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
elsif paladin.facing = 1 then
BSprite.Change ("pallya1-4.bmp", paladin.pic)
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
elsif paladin.attack = 6 then
if paladin.facing = 4 then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
BSprite.Change ("pallya2.bmp", paladin.pic)
elsif paladin.facing = 3 then
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
BSprite.Change ("pallya2-2.bmp", paladin.pic)
elsif paladin.facing = 2 then
BSprite.Change ("pallya2-3.bmp", paladin.pic)
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
elsif paladin.facing = 1 then
BSprite.Change ("pallya2-4.bmp", paladin.pic)
BSprite.Move (paladin.x - 24, paladin.y - 24, paladin.pic)
end if
elsif paladin.attack = 20 then
paladin.attack := 0
paladin.atkdis := false
end if
paladin.attack += 1
end if
%speedboots
if paladin.x > (sbx - 20) and paladin.x < (sbx + 20) and paladin.y > (sby - 20) and paladin.y < (sby + 20) then
sbhave := 1
BSprite.Change ("emptysprite.bmp", speedboots)
paladin.movement := 0
end if
if sbhave = 1 then
paladin.movesp := 2
end if
%defend
if chars ('d') then
if paladin.facing = 4 then
BSprite.Change ("pallyblock4.bmp", paladin.pic)
elsif paladin.facing = 3 then
BSprite.Change ("pallyblock3.bmp", paladin.pic)
elsif paladin.facing = 2 then
BSprite.Change ("pallyblock1.bmp", paladin.pic)
end if
paladin.disable := true
elsif chars ('d') = false then
paladin.disable := false
end if
end pallymove
procedure enemymove1
if num = 1 and enemy1.disable = false and enemy1.right = true then
enemy1.x += enemy1.movesp
BSprite.Move (enemy1.x, enemy1.y, enemy1.pic)
enemy1.movement += enemy1.movesp
elsif num = 2 and enemy1.disable = false and enemy1.left = true then
enemy1.x -= enemy1.movesp
BSprite.Move (enemy1.x, enemy1.y, enemy1.pic)
enemy1.movement += enemy1.movesp
elsif num = 3 and enemy1.disable = false and enemy1.up = true then
enemy1.y += 1
BSprite.Move (enemy1.x, enemy1.y, enemy1.pic)
enemy1.movement += 1
elsif num = 4 and enemy1.disable = false and enemy1.down = true then
enemy1.y -= enemy1.movesp
BSprite.Move (enemy1.x, enemy1.y, enemy1.pic)
enemy1.movement += enemy1.movesp
end if
if enemy1.movement >= 20 then
enemy1.disable := true
enemy1.movement := 0
end if
if enemy1.movement = 0 then
randint (num, 1, 4)
end if
end enemymove1
procedure enemymove2
if num2 = 1 and enemy2.disable = false then
if paladin.x > enemy2.x and enemy2.right = true then
enemy2.x += enemy2.movesp
elsif paladin.x < enemy2.x and enemy2.left = true then
enemy2.x -= enemy2.movesp
elsif paladin.x = enemy2.x then
num2 := 2
elsif enemy2.right = false then
num2 := 2
elsif enemy2.left = false then
num2 := 2
end if
elsif num2 = 2 and enemy2.disable = false then
if paladin.y > enemy2.y and enemy2.up = true then
enemy2.y += enemy2.movesp
elsif paladin.y < enemy2.y and enemy2.down = true then
enemy2.y -= enemy2.movesp
elsif paladin.y = enemy2.y then
num2 := 1
elsif enemy2.up = false then
num2 := 1
end if
end if
if enemy2.right = false then
num2 := 2
end if
if enemy2.left = false then
num2 := 2
end if
if enemy2.up = false then
num2 := 1
end if
if enemy2.down = false then
num2 := 1
end if
if enemy2.movement = 20 then
enemy2.movement := 0
randint (num2, 1, 2)
elsif enemy2.movement < 20 then
enemy2.movement := 0
end if
BSprite.Move (enemy2.x, enemy2.y, enemy2.pic)
enemy2.movement += enemy2.movesp
end enemymove2
loop
enemy1.disable := false
enemy2.disable := false
enemymove2
enemymove1
pallymove
%input collision parameters here here
Time.Delay (10)
View.Update
end loop
|