Original Post
well I am building a breakout game using c#.I am able to get the ball to bounce off of the paddle and walls, but I am confused about how to get it to bounce off the bricks.I have done alot of research on this topic and I am kind of lost.there is sure alot of info. on the net. here is the code I am using.
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (e.KeyChar == ([/font][/font][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"])32)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"]Image[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] curImage17 = [/font][/font][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"]Image[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"].FromFile([/font][/font][font="Consolas"][size="2"][color="#a31515"][font="Consolas"][size="2"][color="#a31515"][font="Consolas"][size="2"][color="#a31515"]@"c:\Users\phil\Desktop\ball.bmp"[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"]);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]g.DrawImage(curImage17, x + vx, y + vy);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]x += vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]y += vy;[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (y >= bottom_wall || y<=top_wall)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vy = -vy;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (x >= right_wall || x <= left_wall)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vx = -vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] ((x >= paddle_left+i && x <= paddle_right+i) && (y >= paddle_top ))[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vx = -vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vy = -vy;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]this is probably the hardest part of this game,I am doing the best I can to solve on my own, but another pair of eyes is always appreciated.[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (e.KeyChar == ([/font][/font][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]char[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"])32)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"]Image[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] curImage17 = [/font][/font][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"][font="Consolas"][size="2"][color="#2b91af"]Image[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"].FromFile([/font][/font][font="Consolas"][size="2"][color="#a31515"][font="Consolas"][size="2"][color="#a31515"][font="Consolas"][size="2"][color="#a31515"]@"c:\Users\phil\Desktop\ball.bmp"[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"]);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]g.DrawImage(curImage17, x + vx, y + vy);[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]x += vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]y += vy;[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (y >= bottom_wall || y<=top_wall)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vy = -vy;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] (x >= right_wall || x <= left_wall)[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vx = -vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"][font="Consolas"][size="2"][color="#0000ff"]if[/font][/font][/font][font="Consolas"][size="2"][font="Consolas"][size="2"] ((x >= paddle_left+i && x <= paddle_right+i) && (y >= paddle_top ))[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]{[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vx = -vx;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]vy = -vy;[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]}[/font][/font]
[font="Consolas"][size="2"][font="Consolas"][size="2"]this is probably the hardest part of this game,I am doing the best I can to solve on my own, but another pair of eyes is always appreciated.[/font][/font]