Anonymní profil P – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil P – Programujte.comAnonymní profil P – Programujte.com

 

Příspěvky odeslané z IP adresy 83.240.80.–

P
MS SQL › Automatické doplňování
19. 11. 2013   #184118

V Management Studiu pro MS SQL 2012 je to v kontextove nabidce v editoru (prave tlacitko mysi) volba "IntelliSense Enabled", nebo klavesova zkratka Ctrl+Q. Snad je to v 2008 stejne.

P
.NET › Program v Ruštině - azbuka
21. 7. 2013   #179355

Cisla jsou v azbuce stejna jako v latince.

P
MS SQL › Přidání řádku
10. 6. 2013   #177794

   

INSERT INTO tabulka (datum, data, pocet)
VALUES ('20130606', 'xxx', 3);

INSERT INTO tabulka (datum, data, pocet)
VALUES ('20130607', 'yyy', 3.13);

P
.NET › XPath a metoda StartWidth
10. 6. 2013   #177793
P
.NET › XPath a metoda StartWidth
9. 6. 2013   #177698

No a co jsi uz zkousel hledat?

P
.NET › C# - Try and Catch
30. 5. 2013   #177011

Misto try...catch pouzij double.TryParse

P
MS SQL › Výkon
1. 5. 2013   #175637

Nenapsal.

P
.NET › Loydova patnáctka (osmička)…
19. 9. 2012   #163454

   

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 _15Puzzle
{
    public partial class Form1 : Form
    {
        TableLayoutPanel panel;
        Puzzle puzzle;

        public Form1()
        {
            InitializeComponent();
            Init();
        }

        private void Init()
        {
            this.Width = 290;
            this.Height = 314;
            this.FormBorderStyle = FormBorderStyle.FixedSingle;
            this.MaximizeBox = false;
            this.Text = "15 Puzzle";

            panel = new TableLayoutPanel();
            panel.Parent = this;
            panel.Dock = DockStyle.Fill;
            panel.RowCount = 4;
            panel.ColumnCount = 4;

            foreach (ColumnStyle style in panel.ColumnStyles)
            {
                style.SizeType = SizeType.AutoSize;
            }

            foreach (RowStyle style in panel.RowStyles)
            {
                style.SizeType = SizeType.AutoSize;
            }

            for (int i = 0; i <= 3; i++)
            {
                for (int j = 0; j <= 3; j++)
                {
                    if (i == 3 && j == 3)
                    {
                        break;
                    }
                    
                    Button btn = new Button();
                    btn.Size = new Size(65, 65);

                    btn.Parent = panel;
                    panel.SetCellPosition(btn, new TableLayoutPanelCellPosition(j, i));
                    
                    Font fnt = btn.Font;
                    btn.Font = new Font(fnt.FontFamily, 16, fnt.Style);
                    btn.Text = (4 * i + j + 1).ToString();
                    
                    btn.Click += new EventHandler(btn_Click);
                }
            }

            puzzle = new Puzzle();

        }

        private void btn_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            TableLayoutPanelCellPosition position = panel.GetCellPosition(btn);
            int row = position.Row;
            int column = position.Column;

            if (puzzle.Move(ref row, ref column))
            {
                panel.SetCellPosition(btn, new TableLayoutPanelCellPosition(column, row));
            }
        }
    }

    public class Puzzle
    {
        int[,] tiles;

        public Puzzle()
        {
            Init();
        }

        private void Init()
        {
            tiles = new int[4, 4];
            for (int i = 0; i <= 3; i++)
            {
                for (int j = 0; j <= 3; j++)
                {
                    tiles[i, j] = 4 * i + j + 1;
                }
            }
            tiles[3, 3] = 0;
        }

        public bool Move(ref int row, ref int column)
        {
            //test jestli je v okoli dlazdice prazdne misto
            for (int i = row - 1; i <= row + 1; i++)
            {
                for (int j = column - 1; j <= column + 1; j++)
                {
                    if (i >= 0 && i <= 3 && j >= 0 && j <= 3)
                    {
                        //je prazdne misto
                        if ((i == row || j == column) && tiles[i, j] == 0)
                        {
                            //posuneme dlazdici na prazdne misto
                            tiles[i, j] = tiles[row, column];
                            tiles[row, column] = 0;
                            row = i;
                            column = j;
                            return true;
                        }
                    }
                }
            }
            return false;
        }
    }
}

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032020 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý