[C# Tutorial] Object movement, scoreboard, and collision in under 20 lines of code

Discussion in 'C#' started by begallegal1, Dec 2, 2013.

  1. begallegal1

    begallegal1 Medicine Man Lifetime Gold TeamXPG
    0/47

    Hello all , today I have a super quick tut that demonstrates some of the key features in your most basic of games. :gamer4:

    sorry the frame rate of the capture is a bit low ,that's why the ball seems to disappear at times.
    http://www.youtube.com/watch?v=2EjUq7n-ZSo

    [​IMG]


    You will need a form sized at 600x600 , a button , a label , an "oval shape object" 100x100, and 2 timers

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace ballExampleTut
    {
    public partial class Form1 : Form
    {
    //create our score object used for counting our bounces
    public int score = 0;

    public Form1()
    {
    InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    //when the form loads we set the label
    //to show Bounces: + our score (which starts @ 0)
    scoreLbl.Text = "Bounces: " + score.ToString();
    }

    private void go_Click(object sender, EventArgs e)
    {
    //when GO button is clicked we start the timer for downward movement
    downTimer.Start();
    }

    private void downTimer_Tick(object sender, EventArgs e)
    {
    //variables for our "ball" location on the X and Y axis
    var X = ballShape.Location.X;
    var Y = ballShape.Location.Y;

    //if the ball has not reached the bottom of our board
    if (ballShape.Location.Y <= 450)
    {
    //move the ball +15 (down) the Y axis
    ballShape.Location = new Point(X, Y + 15);
    }
    else //meaning if our ball has reached the bottom of our board
    {
    //stop this (down movement) timer from running
    downTimer.Stop();
    //start the up movement timer
    upTimer.Start();
    }
    }

    private void upTimer_Tick(object sender, EventArgs e)
    {
    //variables for our "ball" location on the X and Y axis
    var X = ballShape.Location.X;
    var Y = ballShape.Location.Y;

    //if the ball has not reached the top of our board
    if (ballShape.Location.Y != 8)
    {
    //move the ball -15 (up) the Y axis
    ballShape.Location = new Point(X, Y - 15);
    }
    else //meaning if our ball has reached the top of the board
    {
    //stop this (up movement) timer from running
    upTimer.Stop();
    //start the down movement timer
    downTimer.Start();
    //add 1 to our score count(lookup operators for more info)
    score++;
    //update our score label with our new score total
    scoreLbl.Text = "Bounces: " + score.ToString();
    }
    }


    }
    }


    So with this tiny little bit of code we have created object movement, scoreboard, and a very generic manual type of collision detection all are the most basic things in any type of game, I hope this comes in handy to those looking into code , small things like this can be great skill builders and can be expanded on greatly!

    The notes in the code should pretty well explain how everything works, but as always if you have any questions or would like to share an alternate method for these functions etc,, feel free to drop a comment

    happy coding
    enjoy
    :begal:
     

    Attached Files:

  2. gold972

    gold972 团队XPG影响 Effect XPG Developer TeamXPG
    205/282

    great tuts bro as always ;)
     
  3. xpghax

    xpghax Gold Section Mod/Uploader
    205/282

    awesome TUT begal ;)
     
  4. Bu

    Bullet Guest

    Nice clean tutorial Begal.
     
  5. xIIJazza

    xIIJazza Gods divine one
    0/47

    All of your tutorials have been helping me so far :) Keep up the amazing work :3
     

Share This Page