Computer Science Canada Stay Alive - Game Help |
Author: | altdas [ Mon Jan 21, 2008 6:20 pm ] |
Post subject: | Stay Alive - Game Help |
Hello, I'm altdas and I need a little Turing help. I'm pretty new to Turing, almost done a course in it, and for my final project, well, I'm a little stuck with my game. This is my project so far, and I am having a little problems with the animation, All the images and files you need are in the attached file, could you please look at some of the things it is doing, and tell me how to fix them? You will easily be able to see what is wrong with it. Quote: % Screen Settings var win := Window.Open ("graphics:644;404,offscreenonly") var chars : array char of boolean % *************************************** % Variables & Constants % *************************************** % Physics const RUN_SPEED := 10 const JUMP_SPEED := 15 const GRAVITY := 1 % Map const GROUND_HEIGHT := 1 const WALL_LEFT := 1 const WALL_RIGHT := 573 % Character; Position var posx, posy : int var velx, vely : real % Character; Physics Tracker posx := 5 velx := 0 posy := 5 vely := 0 % Scene background var background : string background := "background.jpg" % Character var mc_air_right : string mc_air_right := "mc_air_right.jpg" var mc_air_left : string mc_air_left := "mc_air_left.jpg" % Character Running Right const mc_run_right := "mc_run_right.gif" var numFrames_right : int := Pic.Frames (mc_run_right) % Load the picture var delayTime_right : int var pics_right : array 1 .. numFrames_right of int Pic.FileNewFrames (mc_run_right, pics_right, delayTime_right) % Character Running Left const mc_run_left := "mc_run_left.gif" var numFrames_left : int := Pic.Frames (mc_run_left) % Load the picture var delayTime_left : int var pics_left : array 1 .. numFrames_left of int Pic.FileNewFrames (mc_run_left, pics_left, delayTime_left) %Rockets var ranrocket : int % *************************************** % Main Program % *************************************** View.Set ("graphics,offscreenonly") setscreen ("graphics") % Pic.ScreenLoad (background, 0, 0, picCopy) process character () loop % In-game menu Input.KeyDown (chars) if chars ('q') then exit end if Input.KeyDown (chars) if chars ('i') then put "Info" % Instructions go here end if % Making the Character move if chars (KEY_LEFT_ARROW) then velx := -RUN_SPEED elsif chars (KEY_RIGHT_ARROW) then velx := RUN_SPEED else velx := 0 end if % Character must be on the ground to jump if chars (KEY_UP_ARROW) and posy = GROUND_HEIGHT then vely := JUMP_SPEED end if % Gravity working with velocity vely -= GRAVITY posx += round (velx) posy += round (vely) % Borders | ground, and walls if posy < GROUND_HEIGHT then posy := GROUND_HEIGHT vely := 0 end if if posx <= WALL_LEFT then posx := WALL_LEFT velx := 0 end if if posx >= WALL_RIGHT then posx := WALL_RIGHT velx := 0 end if % Draw Borders % Draw.Line (0, GROUND_HEIGHT, maxx, GROUND_HEIGHT, 0) % Delay render, this is needed for fast computers delay (15) View.Update end loop end character fork character loop % Character Display if velx <= 0 then for i : 1 .. 1 Pic.DrawFrames (pics_right, posx, posy, picCopy, upper (pics_right), 70, false) end for end if if velx >= 0 then for i : 1 .. 1 Pic.DrawFrames (pics_left, posx, posy, picCopy, upper (pics_left), 70, false) end for end if if posy >= 5 and velx <= 0 then Pic.ScreenLoad (mc_air_left, posx, posy, picCopy) end if if posy >= 5 and velx >= 0 then Pic.ScreenLoad (mc_air_right, posx, posy, picCopy) end if View.Update Draw.Cls end loop fork character loop randint (ranrocket, 1, 843) end loop |
Author: | isaiahk9 [ Mon May 05, 2008 5:42 pm ] |
Post subject: | Re: Stay Alive - Game Help |
what do you mean - on the laptop I'm working off now, it's working fine. |