What is it you are trying to achieve?
<I'm trying to make a game like space invaders.>
What is the problem you are having?
<I have no idea how to go about getting the spaceship a the bottom of the screen to shoot the alien at the top>
Describe what you have tried to solve this problem
<I've been able to get the alien to scroll back and forth at the top and the ship can be controlled with the left and right arrow keys at the bottom of the screen but I don't have any idea on how to make it shoot.>
Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
<Answer Here>
Turing: |
<Draw.FillBox (0, 0, maxx, maxy, black)
%%%%%%%%%%% SHIP %%%%%%%%%%%%%%
var logoPicID, spriteID : int
% The picture IDs of the logo and the background
var logoWidth, logoHeight : int
% The width and height of the logo picture
var x, y : int := 1 % The location of the logo
var dx, dy : int := 2 % The direction of movement of the logo
% Load the logo from file and get its height and width
logoPicID := Pic.FileNew ("ship.jpg")
logoWidth := Pic.Width (logoPicID )
logoHeight := Pic.Height (logoPicID )
% Create the sprite
spriteID := Sprite.New (logoPicID )
%Sprite.SetPriority (spriteID, 3)
Sprite.Show (spriteID )
%%%%%%%%%%ALIEN%%%%%%%%%%%%%%
var logoPicID1, spriteID1 : int
% The picture IDs of the logo and the background
var logoWidth1, logoHeight1 : int
% The width and height of the logo picture
var x1 : int := 0
var y1 : int := 375 % The location of the logo
var dx1, dy1 : int := 2 % The direction of movement of the logo
% Load the logo from file and get its height and width
logoPicID1 := Pic.FileNew ("alien.jpg")
logoWidth1 := Pic.Width (logoPicID1 )
logoHeight1 := Pic.Height (logoPicID1 )
% Create the sprite
spriteID1 := Sprite.New (logoPicID1 )
%Sprite.SetPriority (spriteID, 3)
Sprite.Show (spriteID1 )
%%%%%%%%%%%LASER%%%%%%%%%%%%%%%%%
var logoPicID2, spriteID2 : int
% The picture IDs of the logo and the background
var logoWidth2, logoHeight2 : int
% The width and height of the logo picture
var x2 : int := 0
var y2 : int := 375 % The location of the logo
var dx2, dy2 : int := 2 % The direction of movement of the logo
% Load the logo from file and get its height and width
logoPicID2 := Pic.FileNew ("laser.jpg")
logoWidth2 := Pic.Width (logoPicID2 )
logoHeight2 := Pic.Height (logoPicID2 )
% Create the sprite
spriteID2 := Sprite.New (logoPicID2 )
%Sprite.SetPriority (spriteID, 3)
Sprite.Show (spriteID2 )
loop
%%%%%%%%%SHIP%%%%%%%%%%
drawline (0, 0, 0, maxy, red)
drawline (maxx, maxy, maxx, 0, red)
drawline (0, 0, maxx, 0, red)
drawline (0, maxy, maxx, maxy, red)
x1 := x1 + dx1
%cls
if (y1 + logoHeight1 >= maxy) then
dy1 := dy1 * (- 1)
end if
if (x1 + logoWidth1 >= maxx) then
dx1 := dx1 * (- 1)
y1 := y1 - 20
end if
if (y1 <= 0) then
dy1 := dy1 * (- 1)
end if
if (x1 <= 0) then
dx1 := dx1 * (- 1)
y1 := y1 - 20
end if
Sprite.SetPosition (spriteID1, x1, y1, false)
var c : int := 1
var chars : array char of boolean
Input.KeyDown (chars )
if chars (KEY_RIGHT_ARROW) then % RIGHT
dx := 2
dy := 0
c := 6
end if
if chars (KEY_LEFT_ARROW) then % LEFT
dx := - 2
dy := 0
c := 7
end if
if (chars (chr (27)) or chars ('q')) then % ESCAPE or q to exit
exit
end if
delay (10)
%cls
%%%%%%%%%ALIEN%%%%%%%%%%
Sprite.SetPosition (spriteID, x, y, false)
drawline (0, 0, 0, maxy, red)
drawline (maxx, maxy, maxx, 0, red)
drawline (0, 0, maxx, 0, red)
drawline (0, maxy, maxx, maxy, red)
x := x + dx
delay (10)
if (y + logoHeight >= maxy) then
dy := dy * (- 1)
end if
if (x + logoWidth >= maxx) then
dx := dx * (- 1)
end if
if (y <= 0) then
dy := dy * (- 1)
end if
if (x <= 0) then
dx := dx * (- 1)
end if
%delay (10)
%cls
end loop
>
|
Please specify what version of Turing you are using
<Answer Here> |