Almost done...except for one thing!
Author |
Message |
ziggy2shoes
|
Posted: Thu Nov 23, 2006 10:08 pm Post subject: Almost done...except for one thing! |
|
|
Alrighty. I've been working on my Turing large program for school and I got most of it all done, it's one of those games where you're a ship and the submarines travel underneath you and you gotta drop the depth charges and destroy them, but, I'm having an extremely hard time trying to figure out how to make the ship drop the depth charges! I would really appreciate it if you could in anyway help me, big or small.
Here's my code:
Quote: /*
BBBBBB L OOOOOO OOOOOO DDDD W W AAAAAA K K EEEEEE
B B L O O O O D D W W A A K K E
BBBBBB L O O O O D D W W W AAAAAA KK EEEEEE
B B L O O O O D D W W W W A A K K E
BBBBBB LLLLLL OOOOOO OOOOOO DDDD WW WW A A K K EEEEEE
____________________________________________________________________________
B Y : J O S H W I L L I A M S
B L O O D W A K E (c) 2006
Purpose: This game is for entertainment purposes only. It is a basic
ship vs. submarine (U-Boat) game. The player is commandeering the
ship and must drop depth charges to destroy enemy nazi U-boats.
Controls: The Player uses "a" to go left and "d" to go right. Spacebar
is used to drop the depth charges.
Object: The object of the game is to destroy as many subs as you can.
If 5 subs reach the other side of the screen the convoy you're defending
is destroyed and you lose.
%----------------------------------------------------------------------------
*/
%***************************
%* *
%* SETSCREEN #1 *
%* *
%***************************
% setscreen command
setscreen ("graphics:max;max,title:Blood Wake")
% background
colorback (black)
cls
%***************************
%* *
%*SHIP w/ RED WAKE (title) *
%* *
%***************************
% title ship intro
var introboat := Pic.FileNew ("destroyerB.bmp")
for xx : -150..1200
Pic.Draw (introboat, xx, 300, picMerge)
drawline (xx, 305, xx, 330, brightred)
delay (5)
end for
%***************************
%* *
%* BLOODWAKE TITLE *
%* *
%***************************
% blood wake title
var font1 : int := Font.New ("arial:18") %to do: make an array
var font2 : int := Font.New ("arial:18")
var font3 : int := Font.New ("arial:18")
var font4 : int := Font.New ("arial:18")
var font5 : int := Font.New ("arial:18")
var font6 : int := Font.New ("arial:18")
var font7 : int := Font.New ("arial:18")
var font8 : int := Font.New ("arial:18")
var font9 : int := Font.New ("arial:18")
var font10 : int := Font.New ("arial:18")
Font.Draw (" B ", 360, 310, font1, black)
delay (300)
Font.Draw (" L ", 380, 310, font2, black)
delay (300)
Font.Draw (" O ", 395, 310, font3, black)
delay (300)
Font.Draw (" O ", 420, 310, font4, black)
delay (300)
Font.Draw (" D ", 440, 310, font5, black)
delay (300)
Font.Draw (" ", 460, 310, font6, black)
delay (300)
Font.Draw (" W ", 477, 310, font7, black)
delay (300)
Font.Draw (" A ", 503, 310, font8, black)
delay (300)
Font.Draw (" K ", 520, 310, font9, black)
delay (300)
Font.Draw (" E ", 540, 310, font10, black)
delay (1000)
cls
%***************************
%* *
%* PRESS ANY KEY *
%* *
%***************************
proc presskey
% anykey to continue
color (white)
var anykey : int := Font.New ("arial:32")
Font.Draw ("Press any key to continue...", 255, 310, anykey, brightred) % anykey prompt
loop
exit when hasch
end loop
end presskey
presskey
%***************************
%* *
%* GAMEPLAY *
%* movement *
%* *
%***************************
% movement variables
var x, y, spd, check : int
% var for input.keydown (key)
var key : array char of boolean
% player picture variable
var player1 := Pic.FileNew ("destroyer.bmp") % ship pic
% setscreen & background
setscreen ("graphics:max;max,title:Blood Wake,offscreenonly")
colorback (76)
cls
%sets variables x and y
x := 10
y := 50
%the ship, water, and sun
procedure drawship
% ship
Pic.Draw (player1, x, y + 323, 2)
end drawship
proc drawenviro
% water
drawfillbox (0,0,maxx,375,33)
% sun
drawfilloval (875,600,20,20,yellow)
end drawenviro
%draw procedure (ship + bottom line)
drawship
drawenviro
%var check = how high the ship can go (0)
check := 0
%var spd = gravity force (0)
spd := 0
loop
View.Update
%sets key as var for key pressed
Input.KeyDown (key)
%check is preset to 0
if check = 0 then
end if
%Moves Horizontally
%d is pressed
if key ('d') then
%moves ship 5 to the right
x := x + 5
%a is pressed
elsif key ('a') then
%moves ship 5 to the left
x := x - 5
end if
delay (50)
cls
drawship
drawenviro
end loop
I think this is where I should begin but I'm not sure
Quote: proc shoot
if key (' ') then
% ???????
end if
end shoot
Description: |
|
Download |
Filename: |
Bloodwake.zip |
Filesize: |
8.26 KB |
Downloaded: |
61 Time(s) |
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
ericfourfour
|
Posted: Thu Nov 23, 2006 10:30 pm Post subject: (No subject) |
|
|
I would start by indenting your code.
|
|
|
|
|
|
NikG
|
Posted: Thu Nov 23, 2006 10:45 pm Post subject: (No subject) |
|
|
ericfourfour, that's a pretty useless comment! Even without indenting, ziggy2shoes is spaced out enough to be pretty clear.
ziggy, you're a LONG way away from completion... I don't know how you can say you got most of it done... most of your code is just the intro and setup.
In terms of dropping the charges, think about what you need. You already have variables for where your ship is, all you need now are variables for the charges. Everytime space is pressed, you set the intial position of the charge to the ship's position and then do your work.
ziggy2shoes wrote: code: | proc shoot
if key (' ') then
% ???????
end if
end shoot |
You're almost right. Have the input in your main loop, and call the shoot proc, which should just check whether a charge is active and then update the charge's variables.
I suggest looking at the Turing Walkthrough (sorry, link not provided... just go to the Tutorials page). In particular, I think arrays will help you for multiple charges and ships.
Good luck.
|
|
|
|
|
|
NikG
|
Posted: Thu Nov 23, 2006 10:48 pm Post subject: (No subject) |
|
|
Sorry for the double post.
NikG wrote: ziggy2shoes is spaced out enough to be pretty clear. should be "ziggy2shoe's code is spaced out enough to be pretty clear."
Ignore the comment about not providing a link to the Turing Walkthrough... apparently this forum automatically turns that into a link. Very cool Dan!
|
|
|
|
|
|
ziggy2shoes
|
Posted: Thu Nov 23, 2006 10:55 pm Post subject: (No subject) |
|
|
Good stuff man!
You're right, now that I think of it I got a long way to go.
It looks like arrays are good for what I need.
I better get cracking!
|
|
|
|
|
|
wtd
|
|
|
|
|
Clayton
|
Posted: Fri Nov 24, 2006 7:46 am Post subject: (No subject) |
|
|
code: |
var font1 : int := Font.New ("arial:18") %to do: make an array
var font2 : int := Font.New ("arial:18")
var font3 : int := Font.New ("arial:18")
var font4 : int := Font.New ("arial:18")
var font5 : int := Font.New ("arial:18")
var font6 : int := Font.New ("arial:18")
var font7 : int := Font.New ("arial:18")
var font8 : int := Font.New ("arial:18")
var font9 : int := Font.New ("arial:18")
var font10 : int := Font.New ("arial:18")
|
err, why have all of those fonts when they all have exactly the same thing inside of them?
|
|
|
|
|
|
KevinW
|
Posted: Fri Nov 24, 2006 3:39 pm Post subject: (No subject) |
|
|
guess he's making an array with them?
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
|
|