Turing Assistance
Author |
Message |
adrianr2z
|
Posted: Tue May 14, 2013 7:13 pm Post subject: Turing Assistance |
|
|
Hey guys,
I just need some assisstance as to what I should do. So for my final assignment, we are suppose to create a game and i want to create a game very similar to this :
http://www.albinoblacksheep.com/games/falldown2
however i am struggling because I really have no clue where I have to start. What should I do? Would someone please give me some guidance as to what steps I should take? Thanks |
|
|
|
|
|
Sponsor Sponsor
|
|
|
Insectoid
|
Posted: Tue May 14, 2013 7:17 pm Post subject: RE:Turing Assistance |
|
|
Start by making a ball you can control with the keyboard. |
|
|
|
|
|
adrianr2z
|
Posted: Wed May 15, 2013 5:08 pm Post subject: Re: Turing Assistance |
|
|
Ok I did, but my two biggest questions are:
Can I randomly place the blocks and have a little space for the ball to escape from?
Also, How would I make the screen keep going up and making it a never ending until the screen reaches the ball? |
|
|
|
|
|
Panphobia
|
Posted: Wed May 15, 2013 5:14 pm Post subject: RE:Turing Assistance |
|
|
I would probably make 30-40 different arrangement of blocks and randomly pick then to be placed on screen, and also making the game finish when the ball hits the top is a simple if statement. |
|
|
|
|
|
Raknarg
|
Posted: Wed May 15, 2013 5:48 pm Post subject: RE:Turing Assistance |
|
|
Instead of arrangements Panphobia, you can do something like this:
Turing: |
var space : int := Rand.Int (50, maxx - 50)
loop
game ()
drawblock_to_space ()
drawblock_from_space_plus50 ()
if character_is_in_space () then
drop_character ()
end if
end loop
|
|
|
|
|
|
|
jr5000pwp
|
Posted: Thu May 16, 2013 11:55 am Post subject: RE:Turing Assistance |
|
|
My approach would be to make a gravity/collision simulation engine without screen movement first, then add it in afterwards. As for the blocks, I would do tiles. Have an array of booleans representing tiles from left to right, and make holes by setting tiles to false. You can have a generator that makes it more likely to have more holes the sooner into the game you are, thus making the movement harder even without the constantly increasing screen speed.
As for infinite-ness, I would use an approach similar to that of any other infinite game and generate as you go, adding elements to your row collection and removing them when they leave the screen.
As I mentioned, to avoid confusion, you should probably do screen movement last. |
|
|
|
|
|
Raknarg
|
Posted: Thu May 16, 2013 6:24 pm Post subject: RE:Turing Assistance |
|
|
There's no point in adding and removing elements, that's needlessly costly. Just recycle elements instead. |
|
|
|
|
|
adrianr2z
|
Posted: Tue May 21, 2013 5:51 pm Post subject: Re: Turing Assistance |
|
|
This is turning out to be such a PAIN IN THE BEHIND! I worked on it and i've gotten this far however it like feels weird and not right. Goes through the bricks even with collision checks and just doesn't seem right. Could someone take a look at the code and give me some feedback?
*Note** A lot of the coding was done with the help of my teacher. I mean alot of help. He told me that I'm on my own and that he can't do the project for me so I really need more assistance how I should proceed.
Turing: |
View.Set ("graphics:max;max,nobuttonbar, offscreenonly")
%Introducing variables
var ballx, bally : int
var ballradius : int := 20
ballx := maxx div 2
bally := maxy - ballradius
var blockx1, blockx2, blocky1, blocky2 : int
blockx1 := 100
blockx2 := maxx div 2
blocky1 := 0
blocky2 := 50
var space : int := Rand.Int (50, maxx - 50)
var chars : array char of boolean
var spots : array 1 .. 500, 1 .. 2 of int
var newspot : boolean := false
var xvalue, width : int := 0
var numSpots : int
% create one spot and place on screen
numSpots := 1
loop
randint (width, 0, 150) % sets the x location
xvalue := xvalue + 20 + width
spots (numSpots, 2) := 0
spots (numSpots, 1) := xvalue
exit when xvalue >= maxx
numSpots := numSpots + 1
end loop
put numSpots
loop
Draw.FillOval (ballx, bally, ballradius, ballradius, brightgreen)
bally := bally - 1
if bally - 1 = 0 then
bally := maxy - ballradius
end if
for i : 1 .. numSpots
Draw.FillBox (spots (i, 1), spots (i, 2), spots (i, 1) + 100, spots (i, 2) + 20, black)
end for
for i : 1 .. numSpots
spots (i, 2) := spots (i, 2) + 1
if spots (i, 2) = maxx div 10 then
newspot := true
end if
end for
if newspot = true then
xvalue := 0
loop
numSpots := numSpots + 1
randint (width, 0, 150) % sets the x location
xvalue := xvalue + 20 + width
spots (numSpots, 2) := 0
spots (numSpots, 1) := xvalue
exit when xvalue >= maxx
end loop
newspot: = false
end if
%Checks for collision between ball and block
for i : 1 .. numSpots
if bally - ballradius >= spots (i, 2) and bally - ballradius <= spots (i, 2) + 20 and ballx - ballradius <= spots (i, 1) + 100 and ballx + ballradius >= spots (i, 1) then
bally := bally + 2
end if
end for
Input.KeyDown (chars )
if chars (KEY_RIGHT_ARROW) and ballx + ballradius <= maxx then
ballx := ballx + 2
elsif chars (KEY_LEFT_ARROW) and ballx - ballradius >= 0 then
ballx := ballx - 2
end if
View.Update
cls
exit when bally - ballradius > maxy
end loop
|
|
|
|
|
|
|
Sponsor Sponsor
|
|
|
adrianr2z
|
Posted: Sat May 25, 2013 6:14 pm Post subject: Re: Turing Assistance |
|
|
any help? |
|
|
|
|
|
Dreadnought
|
Posted: Sat May 25, 2013 7:10 pm Post subject: Re: Turing Assistance |
|
|
Well the game slows down the longer you play and eventually crashes, so you could always try to fix that. You're being pretty inefficient in some places (ex: keeping blocks you don't need) so you could also look into that. |
|
|
|
|
|
Zren
|
Posted: Sun May 26, 2013 6:15 pm Post subject: RE:Turing Assistance |
|
|
You might want to guarantee all the open spots are larger than the ball.
|
|
|
|
|
|
adrianr2z
|
Posted: Sun May 26, 2013 8:21 pm Post subject: Re: Turing Assistance |
|
|
Ok thanks.... So basically to finish my game off, I want to make levels. Easy,Medium and hard. How do i do it so that it goes to a main menu and they select the difficulty and it takes them to that? How do I do a main screen?
Also, How do i guarantee the spaces are enough for the ball? |
|
|
|
|
|
Raknarg
|
Posted: Sun May 26, 2013 9:00 pm Post subject: RE:Turing Assistance |
|
|
Think about it logically. What factors change how difficult this game is? Is there something you can use to keep track of it, an integer perhaps?
Also think of the menu screen. What goes on a menu screen?
For your spaces, make the minimum the radius of the ball. If the ball is 10 pixels acros, the space can't be less than ten pixels. |
|
|
|
|
|
|
|