Programming C, C++, Java, PHP, Ruby, Turing, VB
Computer Science Canada 
Programming C, C++, Java, PHP, Ruby, Turing, VB  

Username:   Password: 
 RegisterRegister   
 BLOCKSIES GAME......AGAIN
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic
Author Message
benQ




PostPosted: Thu Jan 13, 2005 9:01 am   Post subject: BLOCKSIES GAME......AGAIN

Ok. So in class i'm writing this game and here's what it is. The asterisk falls from a random spot and using your blocker ou have to block it. Now. If I could make the walls (except the bottom of the screen) bouncy, a new asterisk wouldn't fall until the one on the screen got past the blocker. So for my code, I need to know how to make the asterisk bounce off the 3 walls and the blocker.
code:
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%
%% BLOCKSIES SUMMATIVE %%   
%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%

% This plays music. %
process playstuff
    loop
        play ("decdbcabebbdeacgabcefgabcgdbegdbcgabdgcbegdec")
        delay (500)
        play ("cdefgabcdefgabcdefgabcdefgabcdefgabcdefgabcdefgabc")
        delay (500)
    end loop
end playstuff

fork playstuff %fork it to play music%

% This is a program that lets you use the arrow keys to control the blocker.%
% The object is to block ten asterisks.%

const BLOCKER :=
    chr(220)+chr(220)+chr(220)+chr(220)+chr(220)
const WAIT := 125
const NUMBER_OF_ASTERISKS := 10
const LEFT_ARROW := chr(203)
const RIGHT_ARROW := chr(205)
const HOME := chr(199)
const END := chr(207)
const BLOCKER_ROW := 24
const BLANK_BLOCKER := "     "

var Key : string (1)
var Asterisk_Column, Start, Finish : int
var Blocker_Column := 38
var Asterisk_Row := 2

setscreen ("noecho,nocursor")


procedure Move_Blocker
    %We wait for the user to press a key.%
    getch (Key)

    %We erase a previously positioned blocker.%
    locate (BLOCKER_ROW, Blocker_Column)
    put BLANK_BLOCKER

    %We adjust the position of the blocker%
    %according to the direction specified%
    %by the user.%
    if Key = RIGHT_ARROW then
        Blocker_Column := Blocker_Column + 2
    elsif Key = LEFT_ARROW then
        Blocker_Column := Blocker_Column - 2
    elsif Key = HOME then
        Blocker_Column := 2
    elsif Key = END then
        Blocker_Column := 75
    end if

    %We do not allow the blocker to be moved%
    %Beyond the borders of the screen%

    if Blocker_Column > 75 then
        Blocker_Column := 75
    elsif Blocker_Column < 2 then
        Blocker_Column := 2
    end if

    %The blocker is displayed on the screen.%

    locate (BLOCKER_ROW, Blocker_Column)
    put BLOCKER

end Move_Blocker

locate (BLOCKER_ROW, Blocker_Column)
put BLOCKER

randomize

clock (Start)

for Asterisk : 1 .. NUMBER_OF_ASTERISKS
    locate (1, 1)
    put "Asterisk #", Asterisk
    randint (Asterisk_Column,2,79)

    loop
        locate (Asterisk_Row, Asterisk_Column)
        put "*"
        delay (100)

        if hasch then
            Move_Blocker
        end if

        locate (Asterisk_Row, Asterisk_Column)
        put " "

        Asterisk_Row := Asterisk_Row + 1

        if Asterisk_Row > 24 then
            Asterisk_Row := 2
        end if

        if Asterisk_Column >= Blocker_Column and
                Asterisk_Column <= Blocker_Column + 4 and
                Asterisk_Row = 24 then
            sound (100, 100)
            exit
        elsif Asterisk_Row=24 and
            (Asterisk_Column<Blocker_Column or
            Asterisk_Column>Blocker_Column+4) then
            sound (100,100)
        end if
    end loop
end for

% After this for loop, the clock stops and the time is displayed.%

clock (Finish)

cls
put "Time: ", (Finish - Start) / 1000, " Seconds."


Any help is greatly appreciated.
Sponsor
Sponsor
Sponsor
sponsor
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh page View next topic

Page 1 of 1  [ 1 Posts ]
Jump to:   


Style:  
Search: