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

Username:   Password: 
 RegisterRegister   
 Help Me With My Game!!!
Index -> Programming, Turing -> Turing Help
View previous topic Printable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic
Author Message
killjackin61




PostPosted: Tue Nov 24, 2009 9:02 am   Post subject: Help Me With My Game!!!

What is it you are trying to achieve?
I MADE A GAME, SHOOTER, MOVE WITH ARROWS AND SHOOT WITH MOUSE

What is the problem you are having?
WHEN I PUT IN BACKGROUND, EVERYTHING FLASHES


Describe what you have tried to solve this problem
<Answer Here>


Post any relevant code (You may choose to attach the file instead of posting the code if it is too long)
<Answer Here>

Turing:


% This program will allow the player to shoot at the zombie
% Made by Tom Ai and Justin Jia
% Name: BEST GAME EVER !!!!!!

% The declartion of some of the varible
var guy, zombie, background : int
var jump_s : int
var grav : int := 1
var key : array char of boolean
var px, py : int
var vel_y : real
var boom : boolean := false
var hit : boolean := false
var picture :int := Pic.FileNew ("forward.bmp")



px := 200
py := 30
vel_y := 0
var zx := 9
var zy : int := 20
var x, y, oldx, oldy, b : int := -1
var x1, y1 : int
x1 := px
y1 := py

var distantright : real
var health : int
var zombiehealth : int
var numzombie : int := 1
var count : int := 0
var name : string
var picturenum : int

% The background
picturenum := Pic.FileNew ("zombie background.JPG")

% Introduction to the game
locate (1, 30)
put "Kill Kill Kill!"
put skip
color (2)
put "          you are the only guy left that isn't a zombie"
put "   defend youself from the countless amount of zombies coming at you"
put " Even worse, the zombie gets faster and faster every time you kill one"
put "                  luckly you have a machine gun"
put "               but sadly not every bullet will hit!"
put "                  to move, use the arrow keys"
put "         but watch out, you may not jump as high as you think"
put "         you can aim by putting the crosshair on the zombie!"
put "              you can shoot by click you mouse keys"
put "  you must attempt to survive as long as you can.  After surviving each"
put "                wave, the next wave will be launched."
put "The health bar on the left top corner is your life, do not let it fall to 0"
put " The health bar on the right is the zombie's, kill it before it kills you!"
put ""
put "                       There is cheat modes"
put "  but let's just say if you want to use it, do not enter chuck norris"
put ""
put "                   Good Luck!  You'll need it."
put ""
put "                   Please enter your name: " ..
get name : *
put name, " press any key to enter HELL...."
Input.Pause
cls
process PlayBackgroundMusic (music : string)
    loop
        Music.PlayFile (music)
        exit when health = 0 or zombiehealth = 0
    end loop
end PlayBackgroundMusic
fork PlayBackgroundMusic ("music.mp3")
% cheat modes!!!
if name = "jesus" then
    Font.Draw ("God Mode!!!", maxx div 2, maxy div 2 + 100, defFontID, red)
    health := 1000
    zombiehealth := 10
    jump_s := 5
elsif name = "justin jia" or name = "tom ai" then
    Font.Draw ("Creator mode!!!!", maxx div 2, maxy div 2 + 100, defFontID, red)
    health := 10000000
    zombiehealth := 10
    jump_s := 20
elsif name = "chuck norris" then
    Font.Draw ("Impossible mode!!!!", maxx div 2, maxy div 2 + 100, defFontID, red)
    health := 1
    zombiehealth := 10
    jump_s := 0
elsif name = "ninja" then
    Font.Draw ("super speed mode!!!!", maxx div 2, maxy div 2 + 100, defFontID, red)
    health := 100
    zombiehealth := 10
    jump_s := 5
else
    health := 100
    zombiehealth := 10
    jump_s := 5
end if

% Movement of zombie
process zombiemove
    for i : 1 .. numzombie
        % This loop will end when the life of the zombie is equal to zero
        loop
            drawfillbox (0, 0, maxx, 10, black)

            drawfilloval (zx, zy, 10, 10, red)
            zx := zx + 1
            if zx >= maxx then
                zx := 10
            end if
            delay (25)
            exit when health = 0 or zombiehealth = 0
        end loop
    end for
end zombiemove

%life of zombie and guy then display them
procedure life
    if boom = true then
        health := health - 1
    end if
    Font.Draw ("Health: ", 50, maxy - 15, defFontID, white)
    locate (2, 9)

    colorback (black)
    color(white)
    put health ..
    if health >= 76 then
        drawfillbox (0, maxy - 60, 150, maxy - 30, green)
    elsif health >= 50 and health <= 75 then

        drawfillbox (0, maxy - 60, 100, maxy - 30, yellow)
    elsif health >= 25 and health < 50 then

        drawfillbox (0, maxy - 60, 50, maxy - 30, 40)
    elsif health >= 10 and health < 25 then

        drawfillbox (0, maxy - 60, 25, maxy - 30, red)
    elsif health < 10 then

        drawfillbox (0, maxy - 60, 10, maxy - 30, black)
        Font.Draw ("WARNING! you are about to die", 200, 200, defFontID, red)
    end if
    delay (25)
    if hit = true then
        zombiehealth := zombiehealth - 1
    end if
    Font.Draw ("Zombie Health: ", 530, maxy - 15, defFontID, white)
    locate (2, 70)
    put zombiehealth ..
    if zombiehealth = 10 then
        drawfillbox (550, maxy - 60, maxx, maxy - 40, green)
    elsif zombiehealth >= 6 and zombiehealth <= 9 then
        drawfillbox (550, maxy - 60, maxx - 20, maxy - 30, yellow)
    elsif zombiehealth >= 4 and zombiehealth < 6 then
        drawfillbox (550, maxy - 60, maxx - 40, maxy - 30, 40)
    elsif zombiehealth >= 1 and zombiehealth < 4 then
        drawfillbox (550, maxy - 60, maxx - 60, maxy - 30, red)
    end if
    if health = 0 then
        cls
        Font.Draw ("GAME OVER!", maxx div 2 - 30, maxy div 2, defFontID, white)
    end if
    if zombiehealth = 0 then
        zombiehealth := 10
        zx := 10
        numzombie := numzombie + 10
        count := count + 1
        Font.Draw ("Next Wave!", maxx div 2 - 30, maxy div 2, defFontID, white)
        delay (500)
        cls
        fork zombiemove
    end if
    locate (5, 30)
    put name, " YOU SURVIVED, ", count, " ZOMBIES!!!" ..
end life

% check when zombie hit guy his life goes down, and when bullet hit zombie then zombie's life goes down.
procedure CheckForCollision
    % distant between zombie and guy
    var zombiedistant : int
    distantright := (px - 20) - (zx + 10)
    if distantright <= 0 and distantright >= -60 and py = 30 then
        boom := true
    else
        boom := false
    end if
    % Distant between bullet and zombie
    zombiedistant := x1 - (zx + 10)
    % Cheat mode on
    if name = "jesus" or name = "justin jia" or name = "tom ai" then
        if zombiedistant <= 0 and zombiedistant >= -60 then
            hit := true
        else
            hit := false
            delay (25)
        end if
    else
        % Cheat mode off
        if zombiedistant <= 0 and zombiedistant >= -60 and py = 30 then
            hit := true
        else
            hit := false
            delay (25)
        end if
    end if
    life
end CheckForCollision

% The process for the  where it should start and where it end.
process bullet
    % This loop will end when the health of the guy is equal to zero
    loop
        % Get the current location of the mouse
        mousewhere (x, y, b)
        drawoval (x, y, 20, 20, green)
        drawline (x - 45, y, x + 45, y, green)
        drawline (x, y + 45, x, y - 45, green)
        delay (1)
        drawoval (x, y, 20, 20, white)
        drawline (x - 45, y, x + 45, y, picCopy)
        drawline (x, y + 45, x, y - 45, picCopy)
        % If the mouse has moved and the button is pressed.
        if (x not= oldx or y not= oldy) and b = 1 then
            % What happen if you click to the right of the guy
            if x > px then
                for a : 1 .. 80
                    drawfilloval (x1, y1, 5, 5, white)
                    drawfillbox (x1 - 12, y1 - 5, x1, y1 + 5, white)
                    delay (1)
                    drawfilloval (x1, y1, 5, 5, black)
                    drawfillbox (x1 - 12, y1 - 5, x1, y1 + 5, black)
                    x1 := x1 + 4
                end for
                x1 := px
                y1 := py
                % What happen if you click to the left of the guy
            elsif x < px then
                for a : 1 .. 80
                    drawfilloval (x1 - 12, y1, 5, 5, white)
                    drawfillbox (x1 - 12, y1 - 5, x1, y1 + 5, white)
                    delay (10)
                    drawfilloval (x1 - 12, y1, 5, 5, black)
                    drawfillbox (x1 - 12, y1 - 5, x1, y1 + 5, black)
                    x1 := x1 - 4
                end for
                x1 := px - 5
                y1 := py

            end if
        end if
        exit when health = 0
    end loop
end bullet
fork bullet


fork zombiemove

% Check for the boudery so that the guy cannot go out of the screen
procedure checkboundery
    if px <= 30 then
        px := 30
    elsif px >= maxx - 30 then
        px := maxx - 30
    end if
end checkboundery

% This loop will display the guy as he keep moving.
% Also it loop will stop when the health of the guy is equal to zero
loop
    Pic.Draw (picturenum, 0, 0, picCopy)
    delay (10)
    CheckForCollision
    % with cheat on
    if name = "justin jia" or name = "tom ai" or name = "ninja" then
        Input.KeyDown (key)
        % What happen if you press left arrow
        if key (KEY_LEFT_ARROW) then
            px -= 30
            checkboundery
            % What happen if you press right arrow
        elsif key (KEY_RIGHT_ARROW) then
            px += 30
            checkboundery
            % What happen if you press up arrow
        end if
        if key (KEY_UP_ARROW) and py = 30 then
            vel_y := jump_s
        end if
        vel_y -= grav
        py += round (vel_y)
        if py < 30 then
            py := 30
            vel_y := 0
        end if
        % Draw the guy with the cheat mode on
        drawfillbox (px - 10, py + 10, px + 10, py + 25, yellow)
        drawfillbox (px - 15, py - 15, px + 15, py + 10, yellow)

        delay (25)
    else
        % with cheat off
        Input.KeyDown (key)
        % What happen if you press the left arrow
        if key (KEY_LEFT_ARROW) then
            px -= 5
            checkboundery
            % What happen if you press the right arrow
        elsif key (KEY_RIGHT_ARROW) then
            px += 5
            checkboundery
            % What happen if you press the up arrow
        end if
        if key (KEY_UP_ARROW) and py = 30 then
            vel_y := jump_s
        end if
        vel_y -= grav
        py += round (vel_y)
        if py < 30 then
            py := 30
            vel_y := 0
        end if
        % Draw the guy with cheat mode on
        drawfillbox (px - 10, py + 10, px + 10, py + 25, yellow)
        drawfillbox (px - 15, py - 15, px + 15, py + 10, yellow)

        delay (25)
    end if
    View.Update
    exit when health = 0
end loop

% Game end
if count = 30 then
    cls
    Font.Draw ("You have killed every single zombie on Earth, and you survived.", maxx div 2 - 150, maxy div 2 + 100, defFontID, red)
    Font.Draw ("GAME OVER!", maxx div 2 - 30, maxy div 2, defFontID, red)
end if




Please specify what version of Turing you are using
<Answer Here>
 
Sponsor
Sponsor
Sponsor
sponsor
Zren




PostPosted: Tue Nov 24, 2009 9:17 am   Post subject: RE:Help Me With My Game!!!

Don't forget that View.Update is partnered with View.Set("graphics,offscreenonly")

After all. Your updating, when Turing is automatically set to update as it draws. Without the line above (Which will make it not update the screen without you telling it), View.Update is nothing.
 
killjackin61




PostPosted: Tue Nov 24, 2009 9:26 am   Post subject: Re: Help Me With My Game!!!

thx bud, u saved my lifee
 
Zren




PostPosted: Tue Nov 24, 2009 10:39 am   Post subject: Re: Help Me With My Game!!!

Awesome just let me cross that off my list.

Things To Do

[♦] Save a life
[ ] Win a million dollars
[ ] Watch The Ruins
 
Display posts from previous:   
   Index -> Programming, Turing -> Turing Help
View previous topic Tell A FriendPrintable versionDownload TopicSubscribe to this topicPrivate MessagesRefresh pageAdd this topic to your bookmarks (CTRL-D) View next topic

Page 1 of 1  [ 4 Posts ]
Jump to:   


Style:  
Search: