Skocz do zawartości

KillerBee

Forumowicze
  • Zawartość

    286
  • Rejestracja

  • Ostatnio

Posty napisane przez KillerBee


  1. Witajcie. Czy moglibyście wyjasnic mi co sie po kolei dzieje w tym kodzie?

    Prosze o wklejenie kodu z komentarzem.

    C#

    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 tetris
    {
        public partial class Form1 : Form
        {
            public bool appRunning = false;
            public Tile activeTile = null;
            Random rnd = new Random();
            public bool[,] tilesMatrix;
            public Form1()
            {
                InitializeComponent();
                tilesMatrix = new bool[
                    arenaPanel.Width / Tile.TileWidth,
                    arenaPanel.Height / Tile.TileHeight];
            }

            private void startButton_Click(object sender, EventArgs e)
            {
                if (appRunning)
                {
                    appRunning = false;
                    startButton.Text = "START";
                }
                else
                {
                    appRunning = true;
                    startButton.Text = "STOP";
                    timer1.Enabled = true;
                }
            }

            private void timer1_Tick(object sender, EventArgs e)
            {
                if (appRunning)
                {
                    if (activeTile == null) //create a new tile to fall down
                    {
                        int pos = rnd.Next(1,tilesMatrix.GetLength(0)-1);
                        if (tilesMatrix[pos, 0])
                        {  // end of game
                            appRunning = false;
                            MessageBox.Show("Game Over");
                            arenaPanel.Controls.Clear();
                            for (int i = 0; i < tilesMatrix.GetLength(0); ++i)
                                for (int j = 0; j < tilesMatrix.GetLength(1); ++j)
                                {
                                    tilesMatrix[i, j] = false;
                                }
                            startButton.Text = "START";
                        }
                        else
                        {
                            tilesMatrix[pos, 0] = true;
                            activeTile = new Tile();
                            arenaPanel.Controls.Add(activeTile);
                            
                            activeTile.Location = new Point(pos * Tile.TileWidth, 0);
                            activeTile.UseVisualStyleBackColor = true;
                            activeTile.Enabled = true;
                            //activeTile.BackColor = Color.Red;
                            int x = rnd.Next(3);
                            if (x == 1)
                            {
                                activeTile.BackColor = Color.Red;
                            }
                            else if (x == 2)
                            {
                                activeTile.BackColor = Color.Yellow;
                            }
                            else
                            {
                                activeTile.BackColor = Color.Green;
                            }

                        }
                    }
                    else
                    { //continue falling down
                        if (activeTile.Location.Y + 2 * Tile.TileHeight >= arenaPanel.Height)
                        {  // the tile is at the bottom
                            activeTile = null;
                        }
                        else
                        {
                            int posx = activeTile.Location.X / activeTile.Width;
                            int posy = activeTile.Location.Y / activeTile.Height;

                            if (!tilesMatrix[posx, posy + 1])
                            {
                                tilesMatrix[posx, posy + 1] = true;
                                activeTile.Location = new Point(posx * Tile.TileWidth, (posy + 1) * Tile.TileHeight);
                                tilesMatrix[posx, posy] = false;
                            }
                            else
                            { //tile blocked
                                activeTile = null;
                            }

                        }
                    }
                }
            }

            private void leftButton_Click(object sender, EventArgs e)
            {
                if (appRunning)
                {
                    if (activeTile != null)
                    {
                        int posx = activeTile.Location.X / activeTile.Width;
                        int posy = activeTile.Location.Y / activeTile.Height;

                        if ((posx - 1) >=0 && tilesMatrix[posx - 1, posy] == false)
                        {
                            activeTile.Location = new Point((posx -1) * Tile.TileWidth, posy * Tile.TileHeight);
                            tilesMatrix[posx, posy] = false;
                        }
                    }
                }
            }

            private void rightButton_Click(object sender, EventArgs e)
            {
                if (appRunning)
                {
                    if (activeTile != null)
                    {
                        int posx = activeTile.Location.X / activeTile.Width;
                        int posy = activeTile.Location.Y / activeTile.Height;

                        if ((posx + 1) < tilesMatrix.GetLength(0) && tilesMatrix[posx + 1, posy] == false)
                        {
                            activeTile.Location = new Point((posx + 1) * Tile.TileWidth, posy * Tile.TileHeight);
                            tilesMatrix[posx, posy] = false;
                        }
                    }
                }
            }

            private void downButton_Click(object sender, EventArgs e)
            {
                if (appRunning)
                {
                    if (activeTile != null)
                    {
                        int posx = activeTile.Location.X / activeTile.Width;
                        int posy = activeTile.Location.Y / activeTile.Height;
                        int buf =0;
                        for (int i = posy; i < (arenaPanel.Height / Tile.TileHeight);i++ )
                        {
                            if (tilesMatrix[posx, i] == false) buf = i;
                        }
                        tilesMatrix[posx, posy] = false;
                        activeTile.Location = new Point(posx * Tile.TileWidth, buf * Tile.TileHeight);
                        tilesMatrix[posx, buf] = true;
                    }
                }
            }

            private void Form1_Load(object sender, EventArgs e)
            {

            }
        }

    }

    Dziekuje za pomoc.


  2. A nawiązując do Mass Effect 3 to nie podoba mi się brak polskiej ścieżki dialogowej.

    Moim zdaniem jest to złe, ponieważ uważam, ze polska wersja była bardzo dobra w poprzednich odsłonach. Po za tym udało mi się zagrać w ME 2, który był po polsku, z dodatkami Lair of the Shadow Broker oraz Arrival (znalazłem instalatory w internecie zrobione przez fanów).

    Sadzę, ze ME 3 powinien wyjść w wersji polskiej a jak już mają być jakieś dodatki to niech Bio Ware zrobi tez takie instalatory ja zrobili fani, w tedy fani polskiego dubbingu będą zadowoleni i nie będzie takich problemów z niezgodnością DLC.


  3. Witam wszystkich. Moim problemem jest myszka bezprzewodowa firmy logitech z nadajnikiem USB.

    Problem tkwi w tym, że niedawno, wczoraj, myszka przestała łapać sygnał z nadajnika, który był od niej oddalony o jakieś 30 cm. kiedy przełożyłem nadajnik do innego gniazda USB, przez chwile wszystko było dobrze, ale jak się niebawem przekonałem myszka straciła i na powrót odzyskiwała sygnał. Dzisiaj natomiast przestała w ogóle odbierać sygnał z nadajnika, czy wie ktoś jak można sobie poradzić z tym problemem?

    Porty USB reagują kiedy wkładam nadajnik, a myszka mimo to nie chce działać.

    Proszę o szybka odpowiedź


  4. Witam Wszystkich bardzo serdecznie.

    Niedawno na moim kanale YT nabiła mi się liczba 200 widzów i teraz mam prośbę do was drodzy forumowicze.

    Mianowicie chodzi o to, ze poszukuje ludzi, którzy chcieliby ze mną nagrać jeden mecz w trybie Sabotaż w Call of Duty Modern Warfare 2.

    Jedna z osób powinna mieć dobry internet w domu by zasilić postawiony u siebie serwer, ja nie mogę z racji takiej iż będę nagrywać potyczkę.

    Poszukuje jeszcze 9 osób do gry.

    Chętni proszeni są o zgłoszenie się tutaj oraz na moim kanale: Ambroz18 (prywatna wiadomość)

    Jeśli posiadacie profile na YT i swoja działalność to oczywiście w filmie zostaną dodane adnotacje do waszych kanałów.

×
×
  • Utwórz nowe...