Computer Science Canada

making boundries

Author:  roosterfest123 [ Tue Jun 07, 2011 3:40 pm ]
Post subject:  making boundries

hey im making a street fighter game and i cant figure out how to make boundries so that my guy doesnt walk back through the screen, does anyone know how to make a boudry for this situation?

Author:  Raknarg [ Tue Jun 07, 2011 3:46 pm ]
Post subject:  RE:making boundries

Turing:

if key (KEY_LEFT_ARROW) and x > 0 then
     x := x - 1
end if

Author:  roosterfest123 [ Tue Jun 07, 2011 3:53 pm ]
Post subject:  RE:making boundries

i just tried it and he still goes through it heres the code maybe u know what im doing wrong
View.Set ("offscreenonly")
setscreen ("graphics:max;678;nobuttonbar")
var punch,jump1,kick, man2, man3, man4,duck, hit1 : int
var man5 : int
var background : int
var count : boolean
var keys : array char of boolean
var x := 1
var y := 1
background := Pic.FileNew ("background.bmp")
jump1 := Pic.FileNew ("jump.bmp")
man2 := Pic.FileNew ("man2.bmp")
duck := Pic.FileNew ("duck.bmp")
man3 := Pic.FileNew ("man3.bmp")
kick := Pic.FileNew ("kick.bmp")
man4 := Pic.FileNew ("man4.bmp")
man5 := Pic.FileNew ("man 5.bmp")
hit1 := Pic.FileNew ("hit1.bmp")
punch := Pic.FileNew ("punch.bmp")
procedure walkRight
for i : 1 .. 2
x := x + 70
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man4, x, y, picMerge)
View.Update
end for
end walkRight
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure walkLeft
for i : 1 .. 2
x := x - 70
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man4, x, y, picMerge)
View.Update
end for
end walkLeft

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump
for i : 1 .. 15
y := y + 15
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump2
for i : 1 .. 15
y := y + 15
x := x + 9
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
x := x + 10
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump3
for i : 1 .. 15
y := y + 15
x := x - 9
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
x := x - 10
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump3

loop

Pic.Draw (jump1, x, y, picMerge)
Input.KeyDown (keys)
if keys (KEY_UP_ARROW) then
jump
end if
if keys (KEY_RIGHT_ARROW) then
delay (100)
walkRight
delay(50)
Pic.Draw (man5, x, y, picMerge)
end if

if keys (KEY_LEFT_ARROW) then
delay (100)
walkLeft
delay (50)
Pic.Draw (man5, x, y, picMerge)
end if
if keys (KEY_LEFT_ARROW) and x > 0 then
x := x + 1
end if
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man5, x, y, picMerge)
if keys ('1') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (hit1, x, y, picMerge)
end if
if keys ('e') then
jump2
end if
if keys ('q') then
jump3
end if
if keys ('2') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (punch, x, y, picMerge)
end if
if keys ('3') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (kick, x, y, picMerge)
end if
if keys (KEY_DOWN_ARROW) then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (duck, x, y, picMerge)
end if
View.Update
end loop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Author:  Raknarg [ Tue Jun 07, 2011 5:48 pm ]
Post subject:  RE:making boundries

Could you attach the pictures?

So why do you use a procedure for walking left and right?

Author:  Tony [ Tue Jun 07, 2011 5:51 pm ]
Post subject:  Re: RE:making boundries

roosterfest123 @ Tue Jun 07, 2011 3:53 pm wrote:

if keys (KEY_LEFT_ARROW) then
delay (100)
walkLeft
delay (50)
Pic.Draw (man5, x, y, picMerge)
end if
if keys (KEY_LEFT_ARROW) and x > 0 then
x := x + 1
end if

Author:  Raknarg [ Tue Jun 07, 2011 6:03 pm ]
Post subject:  RE:making boundries

good call, didn't see that. It's going left twice.

Author:  apython1992 [ Tue Jun 07, 2011 6:55 pm ]
Post subject:  RE:making boundries

Also, if I may pop in here - use syntax tags in the future.

code:
[syntax="turing"]put "Welcome!"[/syntax]


Turing:
put "Welcome!"

Author:  Raknarg [ Tue Jun 07, 2011 7:03 pm ]
Post subject:  RE:making boundries

Wait, it's not going left twice. It's calling the walkleft procedure, which indefinitely goes left, then activating the other left command, which actually goes RIGHT. You should get rid of the procedures, I don't think you need them.

Author:  Raknarg [ Tue Jun 07, 2011 7:04 pm ]
Post subject:  RE:making boundries

The walk left and right ones, I mean.

Author:  roosterfest123 [ Tue Jun 07, 2011 7:49 pm ]
Post subject:  RE:making boundries

i just tried taking away the procedures and puting in the
if key (KEY_LEFT_ARROW) and x > 0 then
x := x - 1
end if
and it still didn't work

Author:  apython1992 [ Tue Jun 07, 2011 8:01 pm ]
Post subject:  RE:making boundries

Can you post your update code using the syntax tags I showed you?

Author:  roosterfest123 [ Tue Jun 07, 2011 8:03 pm ]
Post subject:  RE:making boundries

View.Set ("offscreenonly")
setscreen ("graphics:max;678;nobuttonbar")
var punch,jump1,kick, man2, man3, man4,duck, hit1 : int
var man5 : int
var background : int
var count : boolean
var keys : array char of boolean
var x := 1
var y := 1
background := Pic.FileNew ("background.bmp")
jump1 := Pic.FileNew ("jump.bmp")
man2 := Pic.FileNew ("man2.bmp")
duck := Pic.FileNew ("duck.bmp")
man3 := Pic.FileNew ("man3.bmp")
kick := Pic.FileNew ("kick.bmp")
man4 := Pic.FileNew ("man4.bmp")
man5 := Pic.FileNew ("man 5.bmp")
hit1 := Pic.FileNew ("hit1.bmp")
punch := Pic.FileNew ("punch.bmp")
procedure walkRight
for i : 1 .. 2
x := x + 70
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man4, x, y, picMerge)
View.Update
end for
end walkRight
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump
for i : 1 .. 15
y := y + 15
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump2
for i : 1 .. 15
y := y + 15
x := x + 9
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
x := x + 10
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump3
for i : 1 .. 15
y := y + 15
x := x - 9
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
for i : 1 .. 15
y := y - 15
x := x - 10
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (jump1, x, y, picMerge)
View.Update
end for
end jump3

loop
Pic.Draw (jump1, x, y, picMerge)
Input.KeyDown (keys)
if keys (KEY_UP_ARROW) then
jump
end if
if keys (KEY_RIGHT_ARROW) then
delay (100)
walkRight
delay(50)
Pic.Draw (man5, x, y, picMerge)
end if
if keys (KEY_LEFT_ARROW) then
delay (100)
for i : 1 .. 2
x := x - 70
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man4, x, y, picMerge)
View.Update
end for
delay (50)
Pic.Draw (man5, x, y, picMerge)
end if
if keys (KEY_LEFT_ARROW) and x > 0 then
x := x + 1
end if
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (man5, x, y, picMerge)
if keys ('1') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (hit1, x, y, picMerge)
end if
if keys ('e') then
jump2
end if
if keys ('q') then
jump3
end if
if keys ('2') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (punch, x, y, picMerge)
end if
if keys ('3') then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (kick, x, y, picMerge)
end if
if keys (KEY_DOWN_ARROW) then
cls
Pic.Draw (background, 1, 1, picXor)
Pic.Draw (duck, x, y, picMerge)
end if
View.Update
end loop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Author:  ProgrammingFun [ Tue Jun 07, 2011 8:21 pm ]
Post subject:  RE:making boundries

It always helps to indent and to use the <b>[syntax="turing"] [/syntax]</b> tags.

EDIT: It has been mentioned already as well...

Author:  crossley7 [ Tue Jun 07, 2011 8:42 pm ]
Post subject:  RE:making boundries

That code is a nightmare to try to look at to help you out. If you want productive help, try doing as mentioned above. If it is like that in your turing screen, pressing F2 always helps for reading code easily.

Author:  roosterfest123 [ Tue Jun 07, 2011 8:50 pm ]
Post subject:  Re: making boundries

Turing:
put "View.Set ("offscreenonly")
setscreen ("
graphics:max;678;nobuttonbar")
var punch, jump1, kick, man2, man3, man4, duck, hit1 : int
var man5 : int
var background : int
var count : boolean
var keys : array char of boolean
var x := 1
var y := 1
background := Pic.FileNew ("
background.bmp")
jump1 := Pic.FileNew ("
jump.bmp")
man2 := Pic.FileNew ("
man2.bmp")
duck := Pic.FileNew ("
duck.bmp")
man3 := Pic.FileNew ("
man3.bmp")
kick := Pic.FileNew ("
kick.bmp")
man4 := Pic.FileNew ("
man4.bmp")
man5 := Pic.FileNew ("
man 5.bmp")
hit1 := Pic.FileNew ("
hit1.bmp")
punch := Pic.FileNew ("
punch.bmp")
procedure walkRight
    for i : 1 .. 2
        x := x + 70
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (man4, x, y, picMerge)
        View.Update
    end for
end walkRight
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump
    for i : 1 .. 15
        y := y + 15
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
    for i : 1 .. 15
        y := y - 15
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
end jump
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump2
    for i : 1 .. 15
        y := y + 15
        x := x + 9
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
    for i : 1 .. 15
        y := y - 15
        x := x + 10
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
end jump2
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
procedure jump3
    for i : 1 .. 15
        y := y + 15
        x := x - 9
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
    for i : 1 .. 15
        y := y - 15
        x := x - 10
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (jump1, x, y, picMerge)
        View.Update
    end for
end jump3

loop
    Pic.Draw (jump1, x, y, picMerge)
    Input.KeyDown (keys)
    if keys (KEY_UP_ARROW) then
        jump
    end if
    if keys (KEY_RIGHT_ARROW) then
        delay (100)
        walkRight
        delay (50)
        Pic.Draw (man5, x, y, picMerge)
    end if
    if keys (KEY_LEFT_ARROW) then
        delay (100)
        for i : 1 .. 2
            x := x - 70
            cls
            Pic.Draw (background, 1, 1, picXor)
            Pic.Draw (man4, x, y, picMerge)
            View.Update
        end for
        delay (50)
        Pic.Draw (man5, x, y, picMerge)
    end if
    if keys (KEY_LEFT_ARROW) and x > 0 then
        x := x + 1
    end if
    cls
    Pic.Draw (background, 1, 1, picXor)
    Pic.Draw (man5, x, y, picMerge)
    if keys ('1') then
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (hit1, x, y, picMerge)
    end if
    if keys ('e') then
        jump2
    end if
    if keys ('q') then
        jump3
    end if
    if keys ('2') then
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (punch, x, y, picMerge)
    end if
    if keys ('3') then
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (kick, x, y, picMerge)
    end if
    if keys (KEY_DOWN_ARROW) then
        cls
        Pic.Draw (background, 1, 1, picXor)
        Pic.Draw (duck, x, y, picMerge)
    end if
    View.Update
end loop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"

Author:  Tony [ Tue Jun 07, 2011 8:51 pm ]
Post subject:  RE:making boundries

Not only that, but there's also a lot of code that's irrelevant to the problem. If you cut it down to the minimum example that demonstrates the problem, it will have _two_ good effects:

- it will be easier for you to figure out exactly what's going on
- it will be _much_ easier for others to read your code, and thus be more likely to help you.

Author:  apython1992 [ Tue Jun 07, 2011 8:53 pm ]
Post subject:  RE:making boundries

Put all of your code between the tags.

code:
[syntax="turing"]
put "I"
put "am"
put "writing"
put "many"
put "lines"
put "of"
put "code"
[/syntax]


Turing:

put "I"
put "am"
put "writing"
put "many"
put "lines"
put "of"
put "code"


: