Advertisement
Guest User

C#

a guest
Dec 12th, 2013
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 16.95 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Threading;
  11.  
  12. namespace BreakoutV3
  13. {
  14.     public partial class Form1 : Form
  15.     {
  16.         Rectangle[,] Brick = new Rectangle[10,2]; //For thr 2D Array, 2 Columns 10 rows
  17.         int x, y;
  18.         int xChange, yChange;      
  19.         int Credit, Score;
  20.         Rectangle Ball;
  21.         Rectangle paddle;
  22.         int Paddle;
  23.         Graphics paper;        
  24.         Random ranNum;
  25.  
  26.         public Form1()
  27.         {
  28.             Thread t = new Thread(new ThreadStart(Splash)); //Creates thread and starts the function
  29.             t.Start(); //Starts the thread
  30.             Thread.Sleep(5000); //Sleeps the splash screen for 5000 ms
  31.  
  32.             InitializeComponent();
  33.             t.Abort(); //Stops the splash screen
  34.  
  35.             paper = picDisplayBat.CreateGraphics();
  36.            
  37.             ranNum = new Random();
  38.             picDisplayBat.MouseMove += new System.Windows.Forms.MouseEventHandler(picDisplayBat_MouseMove);
  39.             txtBox.KeyDown += new System.Windows.Forms.KeyEventHandler(txtBox_KeyDown); //initialisation for key presson on textbox
  40.  
  41.  
  42.         }
  43.         public void Splash()
  44.         {
  45.             Application.Run(new Form2()); //Runs form 2
  46.         }
  47.         private void Createbricks() //Creates the bricks
  48.         { //Creates brick as a new rectangle with for 0, column 0, x position 0, y position 10, Width and length
  49.             Brick[0,0] = new Rectangle(0, 10, 50, 20);
  50.             Brick[1,0] = new Rectangle(60, 10, 50, 20);
  51.             Brick[2,0] = new Rectangle(120, 10, 50, 20);
  52.             Brick[3,0] = new Rectangle(180, 10, 50, 20);
  53.             Brick[4,0] = new Rectangle(240, 10, 50, 20);
  54.             Brick[5,0] = new Rectangle(0, 40, 50, 20);
  55.             Brick[6,0] = new Rectangle(60, 40, 50, 20);
  56.             Brick[7,0] = new Rectangle(120,40, 50, 20);
  57.             Brick[8,0] = new Rectangle(180,40, 50, 20);
  58.             Brick[9,0] = new Rectangle(240,40, 50, 20);
  59.             Brick[0,1] = new Rectangle(0, 70, 50, 20);
  60.             Brick[1,1] = new Rectangle(60,70, 50, 20);
  61.             Brick[2,1] = new Rectangle(120,70, 50, 20);
  62.             Brick[3,1] = new Rectangle(180, 70, 50, 20);
  63.             Brick[4,1] = new Rectangle(240, 70, 50, 20);
  64.            
  65.  
  66.         }
  67.         private void drawBricks()
  68.         { //draws the rectangles to the paper in the correct array with the colours
  69.             paper.FillRectangle(Brushes.Blue, Brick[0,0]);
  70.             paper.FillRectangle(Brushes.Black, Brick[1,0]);
  71.             paper.FillRectangle(Brushes.Red, Brick[2,0]);
  72.             paper.FillRectangle(Brushes.Yellow,Brick[3,0]);
  73.             paper.FillRectangle(Brushes.Green, Brick[4,0]);
  74.             paper.FillRectangle(Brushes.Blue, Brick[5, 0]);
  75.             paper.FillRectangle(Brushes.Black, Brick[6, 0]);
  76.             paper.FillRectangle(Brushes.Red, Brick[7, 0]);
  77.             paper.FillRectangle(Brushes.Yellow, Brick[8,0]);
  78.             paper.FillRectangle(Brushes.Green, Brick[9, 0]);
  79.             paper.FillRectangle(Brushes.Blue, Brick[0, 1]);
  80.             paper.FillRectangle(Brushes.Black, Brick[1, 1]);
  81.             paper.FillRectangle(Brushes.Red, Brick[2, 1]);
  82.             paper.FillRectangle(Brushes.Yellow, Brick[3, 1]);
  83.             paper.FillRectangle(Brushes.Green, Brick[4, 1]);
  84.            
  85.  
  86.         }
  87.         private void txtBox_KeyDown(object sender, KeyEventArgs e)
  88.         {
  89.             {
  90.                 if (e.KeyCode == Keys.Up)
  91.                 {
  92.                     xChange = 0;
  93.                     yChange = -(trackbarSpeed.Value);
  94.                 }
  95.  
  96.                 if (e.KeyCode == Keys.Down)
  97.                 {
  98.                     xChange = 0;
  99.                     yChange = (trackbarSpeed.Value);
  100.                 }
  101.  
  102.                 if (e.KeyCode == Keys.Left)
  103.                 {
  104.                     yChange = 0;
  105.                     xChange = -(trackbarSpeed.Value);
  106.                 }
  107.  
  108.                 if (e.KeyCode == Keys.Right)
  109.                 {
  110.                     yChange = 0;
  111.                     xChange = (trackbarSpeed.Value);
  112.                 }
  113.             }
  114.         }
  115.         private void btnCredit_Click(object sender, EventArgs e) //Add Credit Feature required to play
  116.         {
  117.             Credit = Credit + 5;
  118.             if (Score == 50)
  119.             {
  120.                 lblLives.Text = "Lives" + Credit;
  121.             }
  122.             string msg, msgTitle;
  123.             msg = "5 Lives Added";
  124.             msgTitle = "£1 Entered";
  125.             MessageBox.Show(msg, msgTitle);
  126.             lblLives.Text = "Lives: 5";
  127.  
  128.             btnStart.Visible = true;
  129.             timer1.Enabled = false;
  130.  
  131.         }
  132.         private void btnStart_Click(object sender, EventArgs e)
  133.         {
  134.             if (Credit >= 1)
  135.             {
  136.                 btnStart.Enabled = false;
  137.                 btnStop.Visible = true;
  138.                 btnStart.Visible = false;
  139.                 trackbarSpeed.Enabled = false;
  140.  
  141.                 x = ranNum.Next(1, picDisplayBat.Width);
  142.                 y = 100;
  143.                 xChange = trackbarSpeed.Value + 1;
  144.                 yChange = trackbarSpeed.Value + 1;
  145.                 Createbricks();
  146.                 timer1.Enabled = true;
  147.                 timer1.Interval = 10;
  148.             }
  149.  
  150.             else
  151.             {
  152.                 btnStart.Visible = false; //disables the visibility of the Start button if no credit is inserted
  153.                 timer1.Enabled = false;
  154.  
  155.                 string msg, msgTitle;
  156.                 msg = "Please enter £1 to play...";
  157.                 msgTitle = "£1 Required to play...";
  158.                 MessageBox.Show(msg, msgTitle);
  159.  
  160.             }
  161.  
  162.  
  163.         }
  164.         private void timer1_Tick(object sender, EventArgs e)
  165.         {
  166.             x = x + xChange;
  167.             y = y + yChange;  
  168.  
  169.             paper.Clear(Color.White);
  170.             DrawBall();
  171.             drawBat();
  172.             drawBricks();
  173.             checkCollision();
  174.             if (Score == 190)
  175.             {
  176.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\cheer-01.wav");
  177.                 player.Play();
  178.                 timer1.Enabled = false;
  179.                 btnStart.Enabled = false;
  180.                 Credit = 0;
  181.                 lblLives.Text = "Lives: " + Credit;
  182.                 MessageBox.Show("You completed the game well done!");
  183.             }
  184.         }
  185.         public void DrawBall()
  186.         {
  187.             Ball = new Rectangle(x, y, 10, 10);
  188.  
  189.             paper.FillRectangle(Brushes.Black, Ball);
  190.         }
  191.         public void drawBat()
  192.         {
  193.             paddle = new Rectangle(Paddle, picDisplayBat.Height - 10, 50, 6); //Initialises the bat
  194.             paper.FillRectangle(Brushes.Orange, paddle); //Draws the bat to the paper
  195.         }
  196.         private void picDisplayBat_MouseMove(object sender, MouseEventArgs e)
  197.         {
  198.             Paddle = e.X;
  199.         }
  200.         private void trackbarSpeed_Scroll(object sender, EventArgs e)
  201.         {
  202.             xChange = ranNum.Next(1, 10);
  203.             yChange = ranNum.Next(1, 10);
  204.         }
  205.         private void btnStop_Click(object sender, EventArgs e)
  206.         {
  207.             timer1.Enabled = false;
  208.             paper.Clear(Color.White);
  209.  
  210.             btnStop.Visible = false;
  211.  
  212.             btnStart.Visible = true;
  213.             btnStart.Enabled = true;
  214.  
  215.             trackbarSpeed.Enabled = true;
  216.  
  217.             string msg;
  218.             msg = " You Stopped the game. ";
  219.             DialogResult res = MessageBox.Show(msg);
  220.             paper.Clear(Color.White);
  221.  
  222.         }
  223.         private void checkCollision()
  224.         {
  225.             if (Ball.IntersectsWith(paddle))
  226.             {
  227.                 yChange = -yChange;
  228.             }
  229.  
  230.             if (x <= 0)
  231.                 xChange = -xChange;
  232.  
  233.             if (y <= 0)
  234.                 yChange = -yChange;
  235.  
  236.             if (x >= (picDisplayBat.Width - Ball.Width))
  237.                 xChange = -xChange;
  238.  
  239.             if (y >= picDisplayBat.Height)
  240.             {
  241.                 timer1.Enabled = false;
  242.                 MessageBox.Show("You have lost a life.");
  243.                 Score = 0;
  244.                 lblScore.Text = "Score: " + Score.ToString();
  245.  
  246.                 Credit -= 1;
  247.                 lblLives.Text = "Lives: " + Credit.ToString();
  248.  
  249.                 btnStop.Visible = false;
  250.                 btnStart.Visible = true;
  251.                 btnStart.Enabled = true;
  252.                 trackbarSpeed.Enabled = true;
  253.             }
  254.             if (Ball.IntersectsWith(Brick[0,0]))
  255.             {
  256.                 yChange = -yChange;
  257.                
  258.                 paper.Clear(Color.White);                
  259.                 Score += 10;                
  260.                 lblScore.Text = "Score: " + Score.ToString();
  261.                 Brick[0,0] = new Rectangle(0, 0, 0, 0);
  262.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  263.                 player.Play();
  264.                 paper.FillRectangle(Brushes.Blue, Ball);
  265.             }
  266.             if (Ball.IntersectsWith(Brick[1,0]))
  267.             {
  268.                 yChange = -yChange;
  269.                 Score += 10;                
  270.                 lblScore.Text = "Score: " + Score.ToString();
  271.                 Brick[1,0] = new Rectangle(0, 0, 0, 0);
  272.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  273.                 player.Play();
  274.                 paper.FillRectangle(Brushes.Green, Ball);
  275.             }
  276.             if (Ball.IntersectsWith(Brick[2,0]))
  277.             {
  278.                 yChange = -yChange;
  279.                 Score += 20;              
  280.                 lblScore.Text = "Score: " + Score.ToString();
  281.                 Brick[2,0] = new Rectangle(0, 0, 0, 0);
  282.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  283.                 player.Play();
  284.                 paper.FillRectangle(Brushes.Red, Ball);
  285.             }
  286.             if (Ball.IntersectsWith(Brick[3,0]))
  287.             {
  288.                 yChange = -yChange;
  289.                 Score += 10;              
  290.                 lblScore.Text = "Score: " + Score.ToString();
  291.                 Brick[3,0] = new Rectangle(0, 0, 0, 0);
  292.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  293.                 player.Play();
  294.                 paper.FillRectangle(Brushes.Purple, Ball);
  295.             }
  296.             if (Ball.IntersectsWith(Brick[4,0]))
  297.             {
  298.                 yChange = -yChange;
  299.                 Score += 10;                
  300.                 lblScore.Text = "Score: " + Score.ToString();
  301.                 Brick[4,0]= new Rectangle(0, 0, 0, 0);
  302.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  303.                 player.Play();
  304.                 paper.FillRectangle(Brushes.OliveDrab, Ball);
  305.             }
  306.             if (Ball.IntersectsWith(Brick[5, 0]))
  307.             {
  308.                 yChange = -yChange;
  309.                 Score += 10;
  310.                 lblScore.Text = "Score: " + Score.ToString();
  311.                 Brick[5, 0] = new Rectangle(0, 0, 0, 0);
  312.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  313.                 player.Play();
  314.                 paper.FillRectangle(Brushes.Pink, Ball);
  315.             }
  316.             if (Ball.IntersectsWith(Brick[6, 0]))
  317.             {
  318.                 yChange = -yChange;
  319.                 Score += 10;
  320.                 lblScore.Text = "Score: " + Score.ToString();
  321.                 Brick[6, 0] = new Rectangle(0, 0, 0, 0);
  322.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  323.                 player.Play();
  324.             }
  325.             if (Ball.IntersectsWith(Brick[7, 0]))
  326.             {
  327.                 yChange = -yChange;
  328.                 Score += 20;
  329.                 lblScore.Text = "Score: " + Score.ToString();
  330.                 Brick[7, 0] = new Rectangle(0, 0, 0, 0);
  331.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  332.                 player.Play();
  333.                 paper.FillRectangle(Brushes.NavajoWhite, Ball);
  334.             }
  335.             if (Ball.IntersectsWith(Brick[8, 0]))
  336.             {
  337.                 yChange = -yChange;
  338.                 Score += 10;
  339.                 lblScore.Text = "Score: " + Score.ToString();
  340.                 Brick[8, 0] = new Rectangle(0, 0, 0, 0);
  341.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  342.                 player.Play();
  343.                 paper.FillRectangle(Brushes.MintCream, Ball);
  344.             }
  345.             if (Ball.IntersectsWith(Brick[9, 0]))
  346.             {
  347.                 yChange = -yChange;
  348.                 Score += 10;
  349.                 lblScore.Text = "Score: " + Score.ToString();
  350.                 Brick[9, 0] = new Rectangle(0, 0, 0, 0);
  351.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  352.                 player.Play();
  353.                 paper.FillRectangle(Brushes.Moccasin, Ball);
  354.             }
  355.             if (Ball.IntersectsWith(Brick[0, 1]))
  356.             {
  357.                 yChange = -yChange;
  358.                 Score += 10;
  359.                 lblScore.Text = "Score: " + Score.ToString();
  360.                 Brick[0, 1] = new Rectangle(0, 0, 0, 0);
  361.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  362.                 player.Play();
  363.                 paper.FillRectangle(Brushes.PaleGoldenrod, Ball);
  364.             }
  365.             if (Ball.IntersectsWith(Brick[1, 1]))
  366.             {
  367.                 yChange = -yChange;
  368.                 Score += 10;
  369.                 lblScore.Text = "Score: " + Score.ToString();
  370.                 Brick[1, 1] = new Rectangle(0, 0, 0, 0);
  371.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  372.                 player.Play();
  373.                 paper.FillRectangle(Brushes.Peru, Ball);
  374.             }
  375.             if (Ball.IntersectsWith(Brick[2, 1]))
  376.             {
  377.                 yChange = -yChange;
  378.                 Score += 20;
  379.                 lblScore.Text = "Score: " + Score.ToString();
  380.                 Brick[2, 1] = new Rectangle(0, 0, 0, 0);
  381.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  382.                 player.Play();
  383.                 paper.FillRectangle(Brushes.SkyBlue, Ball);
  384.             }
  385.             if (Ball.IntersectsWith(Brick[3, 1]))
  386.             {
  387.                 yChange = -yChange;
  388.                 Score += 10;
  389.                 lblScore.Text = "Score: " + Score.ToString();
  390.                 Brick[3, 1] = new Rectangle(0, 0, 0, 0);
  391.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  392.                 player.Play();
  393.                 paper.FillRectangle(Brushes.Tomato, Ball);
  394.             }
  395.             if (Ball.IntersectsWith(Brick[4, 1]))
  396.             {
  397.                 yChange = -yChange;
  398.                 Score += 10;
  399.                 lblScore.Text = "Score: " + Score.ToString();
  400.                 Brick[4, 1] = new Rectangle(0, 0, 0, 0);
  401.                 System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"h:\Component Programming\BreakoutV3\BreakoutV3\Resources\beep-07.wav");
  402.                 player.Play();
  403.                 paper.FillRectangle(Brushes.Turquoise, Ball);
  404.             }
  405.         }    
  406.         private void btnExit_Click(object sender, EventArgs e)  //void for Exiting and dialog results
  407.         {
  408.             string msg, msgTitle;
  409.             msg = "Are you sure you want to quit?";
  410.             msgTitle = "Confirm..";
  411.             DialogResult res = MessageBox.Show(msg, msgTitle, MessageBoxButtons.YesNo, MessageBoxIcon.Question);
  412.             if (res == DialogResult.Yes)
  413.                 Environment.Exit(0);
  414.         }        
  415.         private void lblScore_Click(object sender, EventArgs e)
  416.         {
  417.             Score = Score + 10;
  418.             if (Score == 50)
  419.                 lblLives.Text = "Lives:" + 1;
  420.         }
  421.  
  422.     }
  423. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement