Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 16:44   #11
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Ээх, не работает моя проверка((

Может кто-то поможет?
ElviS1992 вне форума Ответить с цитированием
Старый 23.01.2013, 21:52   #12
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

Прикрепите код, могу посмотреть
Reskov вне форума Ответить с цитированием
Старый 24.01.2013, 15:05   #13
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Вот:

Create.cs

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace game_ver_1._0
{
    public class Create
    {

        //int[,] field = new int[4, 4];
        int[] mass = new int[16];
        Random myRand = new Random();
        Button[] ButtonArray = new Button[16];
        int i,k,m,n;

        int [] price = new int [15];//массив текущих значений(берётся из buttonaray
        int[] etalon = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,0 };// этaлонный массив
        List<int> array = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,0};

        public void create(Form1 form)
        {
            int x = 0, y = 0;
            for (i = 0; i < ButtonArray.Count(); i++)
            {
                ButtonArray[i] = new Button();
                int randomNumber = myRand.Next(array.Count);
                ButtonArray[i].Text = array[randomNumber].ToString();
                //ButtonArray[i].Text = ((i - 1) + 1).ToString();

                switch (i)
                {
                    case 4: y = y + 40;
                        x = 0;
                        break;
                    case 8: y = y + 40;
                        x = 0;
                        break;
                    case 12: y = y + 40;
                        x = 0;
                        break;
                }

                ButtonArray[i].SetBounds(x, y, 50, 40);
                array.RemoveAt(randomNumber);
                x = x + 50;
                if (ButtonArray[i].Text == "0")
                {
                    ButtonArray[i].Visible = false;
                }
                form.Controls.Add(ButtonArray[i]);
                this.ButtonArray[i].Click += new EventHandler(Button_Click);
              
            }
          
           
        }
        public void charintoint()
        {
            for (i = 0; i < price.Length; i++)
            {
                price[i] = Convert.ToInt32(ButtonArray[i].Text);
                MessageBox.Show(price[i].ToString());
            }
        }
        private void Button_Click(object sender, EventArgs e)
        {
            Button bt = (sender) as Button;
            Button bt0 = new Button();
            for (k = 0; k < ButtonArray.Count(); k++)
            {
                if (ButtonArray[k].Text == "0")
                {
                    bt0 = ButtonArray[k];

                }
            }
            if (bt0.Location.X == bt.Location.X + 50 && bt0.Location.Y == bt.Location.Y ||
                bt0.Location.X == bt.Location.X - 50 && bt0.Location.Y == bt.Location.Y ||
                bt0.Location.Y == bt.Location.Y + 40 && bt0.Location.X == bt.Location.X ||
                bt0.Location.Y == bt.Location.Y - 40 && bt0.Location.X == bt.Location.X)
            {
                for (n = 0; n < ButtonArray.Count(); n++)
                {

                  if (ButtonArray[n].Text == "0")
                    {
                        Point pt = bt.Location;
                        bt.Location = ButtonArray[n].Location;
                        ButtonArray[n].Location = pt;

                        int Index = bt.TabIndex;
                        bt.TabIndex = ButtonArray[n].TabIndex;
                        ButtonArray[n].TabIndex = Index;
                   }
                 
                    
                }
            }

        }
      
     /*   public void check()
        {
           
            for (m = 0; m <price.Length; m++)
            {
                
                if (price[m] == etalon[m])
                {
                      win = true;
                  }
                  else
                    win = false;
            }

        }*/
    }
}

Последний раз редактировалось ElviS1992; 24.01.2013 в 21:22.
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 15:06   #14
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

form.cs

Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace game_ver_1._0
{
    public partial class Form1 : Form
    {

        Create q = new Create();
        int s = 0;
        int m = 0;
        SaveFileDialog sv = new SaveFileDialog();
        int[] price = new int[15];//массив текущих значений(берётся из buttonaray
        int[] etalon = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };// этaлонный массив
        Button[] ButtonArray = new Button[16];
        int i,m1;
        bool win = false;

        public Form1()
        {
            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)
        {

            q.create(this);
            label1.Visible = false;
            textBox1.Visible = false;
            q.charintoint(); 
        }

        
        private void timer1_Tick(object sender, EventArgs e)
        {
            s++;
            if (s >= 60)
            {
                s = 0;
                m++;
            }
            if (s < 10 && m < 10)
                label1.Text = "0" + m + ":" + "0" + s;

            else if (s < 10 && m >= 10) label1.Text = m + ":" + "0" + s;
            else label1.Text = "0" + m + ":" + s;


            for (m1 = 0; m1 < price.Length; m1++)
            {

                if (etalon[m1] == price[m1])
                {
                    win = true;
                }
                else
                    win = false;
            }

            if (timer1.Enabled == true)
            {

                
                // q.check();
                label1.Visible = true;
                 if (win == true)
                {
                    win = false;
                    timer1.Enabled = false;
                    m = 0;
                    s = 0;
                    textBox1.Visible = true;
                    MessageBox.Show("вы победили!!");
                }
            }

        }

        private void button1_Click_1(object sender, EventArgs e)
        {
            if (timer1.Enabled == false)
            {
                timer1.Enabled = true;
                button1.Text = "Pause";

            }
            else
            {
                button1.Text = "Resume game";
                timer1.Stop();
            }
         
        }
         
        private void button2_Click(object sender, EventArgs e)
        {

            if (sv.ShowDialog() == DialogResult.OK)
            {

                FileStream f = new FileStream(sv.FileName, FileMode.Create, FileAccess.ReadWrite);
                StreamWriter sw = new StreamWriter(f);
                sw.Write(label1.Text);
                sw.Write(textBox1.Text);
                sw.Close();
                f.Dispose();

            }
        }
    }
}

Последний раз редактировалось ElviS1992; 24.01.2013 в 21:22.
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 21:05   #15
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Конвертирование значение текста кнопок не происходит, хотя по идее должно...(
код по преобразованию не работает( в отладчике показывает, что в price[i] всегда 0)
Код:
   for (i = 0; i < price.Length; i++)
            {
                price[i] = Convert.ToInt32(ButtonArray[i].Text);
            }
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 21:16   #16
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Нет, конвертирование работает нормально, числа заносятся в массив, но всё равно не работает, блин(
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 21:21   #17
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

А проверку всё равно не проходит, нет никаких значений в price[m1], почему, кто знает?

Код:
  for (m1 = 0; m1 < price.Length; m1++)
            {

                if (etalon[m1] == price[m1])
                {
                    win = true;
                }
                else
                    win = false;
            }
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 21:23   #18
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Странно, вроде не суббота, а людей нет...
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 22:04   #19
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Нароооод...
ElviS1992 вне форума Ответить с цитированием
Старый 24.01.2013, 23:07   #20
ElviS1992
Пользователь
 
Аватар для ElviS1992
 
Регистрация: 09.02.2010
Сообщений: 26
По умолчанию

Ладно, сдам так, а там посмотрим.
ElviS1992 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с созданием экземпляра С# Sanuch89 Помощь студентам 5 30.07.2011 16:15
роблема с созданием объекта динамического массива Класса GDA230105 C++ Builder 3 26.07.2011 09:25
Обработчик OnClick у массива кнопок MyLastHit Общие вопросы Delphi 15 18.05.2011 11:33
Проблема с созданием двумерного массива из объектов производных классов Vang Общие вопросы C/C++ 15 28.05.2010 17:04
Проблема с созданием CButton st1q Общие вопросы C/C++ 5 14.09.2008 13:57