Monday, 21 April 2014

membuat bola pegas di visual c# (egi ifsu XI-R7)

Tags

bola pegas di visual c#  createby: (egi ifsu XI-R7)

using System;
using System.Threading;

namespace PingPong
{
    class Program
    {
        static void Main(string[] args)
        {
            //posisi Bola dan gerakan tambahnya
            int posLeft = 40;
            int posTop = 8;
            int leftPlus = 1;
            int topPlus = 1;
           
            //dimulai dengan kecepatan 200
            int Speed = 200;
           
            //posisi Player 1 dan 2
            int Player1 = 5;
            int Player2 = 5;
           
            //mencetak player1 dan player 2
            for (int i = Player1; i < Player1 + 4; i++)
            {
                Console.SetCursorPosition(5, i); Console.WriteLine("▓");
            }

            for (int i = Player2; i < Player2 + 4; i++)
            {
                Console.SetCursorPosition(70, i); Console.WriteLine("▓");
            }

            //bidang permainan
            Console.SetCursorPosition(5, 0); Console.WriteLine("▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓");
            Console.SetCursorPosition(5, 15); Console.WriteLine("▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓");

            //perulangan selama permainan
            bool Selesai = false;
            while (Selesai == false)
            {
                //mencetak posisi bola
                Console.SetCursorPosition(posLeft, posTop); Console.WriteLine((char)2);
               
                //membaca tombol yang ditekan
                if (Console.KeyAvailable == true)
                {
                   
                    //menghapus player 1 dan 2
                    for (int i = Player1; i < Player1 + 4; i++)
                    {
                        Console.SetCursorPosition(5, i); Console.WriteLine(" ");
                    }

                    for (int i = Player2; i < Player2 + 4; i++)
                    {
                        Console.SetCursorPosition(70, i); Console.WriteLine(" ");
                    }
                   
                    //proses pembacaan tombol
                    ConsoleKeyInfo keyb =  Console.ReadKey(true);
                    switch (keyb.Key)
                    {
                        case ConsoleKey.DownArrow:  //jika tombol panah bawah
                            Player2++;              //player2 turun/bertambah
                            if (Player2 == 12)      //jika sudah posisi 12 di kembalikan ke 11 (max 11)
                            {
                                Player2 = 11;
                            }
                            break;
                        case ConsoleKey.UpArrow:    //jika tombol panah atas
                            Player2--;              //player2 naik/berkurang
                            if (Player2 == 0)       //jika sudah posisi 0 kembalikan ke 1 (min 1)
                            {
                                Player2 = 1;
                            }
                            break;
                        case ConsoleKey.S:          //tombol turun untuk player1
                            Player1++;
                            if (Player1 == 12)
                            {
                                Player1 = 11;
                            }
                            break;
                        case ConsoleKey.W:          //tombol naik untuk player1
                            Player1--;
                            if (Player1 == 0)
                            {
                                Player1 = 1;
                            }
                            break;
                    }
                   
                    //mencetak lagi player1 dan 2 di posisi yang sudah berubah
                    for (int i = Player1; i < Player1 + 4; i++)
                    {
                        Console.SetCursorPosition(5, i); Console.WriteLine("▓");
                    }

                    for (int i = Player2; i < Player2 + 4; i++)
                    {
                        Console.SetCursorPosition(70, i); Console.WriteLine("▓");
                    }

                }

                //menunggu selama beberapa milidetik
                Thread.Sleep(Speed);
                //menghapus posisi bola
                Console.SetCursorPosition(posLeft, posTop); Console.WriteLine(" ");
               
                //menambahkan posisi bola sehingga bola bergerak
                posLeft = posLeft + leftPlus;
                posTop = posTop + topPlus;
               
              
                //jika bola menabrak batas bawah
                if (posTop == 14)
                {
                    topPlus = -1;
                }
                //jika bola menabrak batas atas
                else if (posTop == 1)
                {
                    topPlus = 1;
                }
               
               
                //jika bola menabrak batas kanan
                if (posLeft == 69)
                {
                    //check dengan posisi player
                    if (posTop >= Player2 && posTop <= Player2 + 4)
                    {
                        //berbalik arah dan menambah kecepatan
                        leftPlus = -1;
                        Speed = Speed - 10;
                    }
                }
                //jika bola tidak menabrak dan lewat sampai posisi 72
                else if (posLeft == 72)
                {
                    Console.Clear();
                    Console.WriteLine("Game over player 2 modiar");
                    Selesai = true;
                }
               
                //pengecekan yang sama untuk player1
                if (posLeft == 6)
                {
                    if (posTop >= Player1 && posTop <= Player1 + 4)
                    {
                        leftPlus = 1;
                        Speed =  Speed - 10;
                    }
                }
                else if (posLeft == 1)
                {
                    Console.Clear();
                    Console.WriteLine("Game over player 1 modiar");
                    Selesai = true;
                   
                }

                //jika speed suah <10 maka tetep dibuat 10
                if (Speed < 10)
                {
                    Speed = 10;
                }

            }

            Console.Read();
        }
    }
}


EmoticonEmoticon