Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 18.05.2015
Сообщений: 1

Секундомер для игры

05.06.2015, 23:43. Показов 4783. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Возник вопрос по реализации секундомера в игре... Нужно, чтобы при открытии первой формы секундомер начинал отсчет и при переходе на вторую форму он продолжал отсчет времени, а не обнулялся..... Описываю таймер так....
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
int min, sec, mill;
       public int a, b, c;
 
        public void start_timer()
        {
            timer1.Enabled = true;
        }
 
        public void timer1_Tick(object sender, EventArgs e)
        {
            mill += 1;
            if (mill == 100)
            {
                sec += 1;
                mill = 0;
            }
 
            if (sec == 60)
            {
                sec = 0;
                min += 1;
            }
            label6.Text = ""+min+":"+sec+":"+mill;
        }
 
        public void stop_timer()
        {
            a = min;
            b = sec;
            c = mill; 
            FormLevel2 vrem = new FormLevel2();
            vrem.Owner = this;
            timer1.Enabled = false;
        }
После чего передаю значения a,b,с на другую форму...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
     private void timer1_Tick_1(object sender, EventArgs e)
        {
            FormLevel1 vrem = (FormLevel1)this.Owner;
            vrem.c = mill;
            vrem.b = sec;
            vrem.a = min;
 
            mill += 1;
            if (mill == 100)
            {
                sec += 1;
                mill = 0;
            }
 
            if (sec == 60)
            {
                sec = 0;
                min += 1;
            }
            label19.Text = "" + min + ":" + sec + ":" + mill;
        }
Но выскакивает ошибка....
http://rghost.ru/6tMwnYQFV/image.png

Также нашел другое решение.... но проблема таже... при переходе на другою форму секундомер начинает отсчет с нуля!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
DateTime date;
 
        public FormLevel1()
        {
            InitializeComponent();
        }
 
        public void start_timer()
        {
            date = DateTime.Now;
 
            Timer timer = new Timer();
            timer.Interval = 10;
            timer.Tick += new EventHandler (tickTimer);
            timer.Start();
        }
 
       public void tickTimer(object sender, EventArgs e)
        {
            long tick = DateTime.Now.Ticks - date.Ticks;
            DateTime stopWatch = new DateTime();
 
            stopWatch = stopWatch.AddTicks(tick);
            label6.Text = String.Format("{0:mm:ss:ff}", stopWatch);
        }
Миниатюры
Секундомер для игры  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2015, 23:43
Ответы с готовыми решениями:

Секундомер для игры
Добрый день) Помогите, пожалуйста, кому несложно) Очень нужен код секундомера на javascript для "Пятнашек". То есть чтобы...

Реализовать секундомер для игры
Нужен секундомер работающий параллельно программе

Скиньте простой секундомер для С++
Скиньте простой секундомер для С++

1
 Аватар для Пытливый Ум
22 / 22 / 16
Регистрация: 04.06.2015
Сообщений: 126
06.06.2015, 01:55
не знаю, как ты там переходишь с формы на форму (уточнений на этот счёт не было)
но вот тебе решение твоей проблемы (без закрытия первой формы), надеюсь поможет

Form 1:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            start_timer();
        }
 
        DateTime date;
 
        public void start_timer()
        {
            date = DateTime.Now;
 
            Timer timer = new Timer();
            timer.Interval = 10;
            timer.Tick += new EventHandler (tickTimer);
            timer.Start();
        }
 
        public void tickTimer(object sender, EventArgs e)
        {
            long tick = DateTime.Now.Ticks - date.Ticks;
            DateTime stopWatch = new DateTime();
 
            stopWatch = stopWatch.AddTicks(tick);
            label1.Text = String.Format("{0:mm:ss:ff}", stopWatch);
        }
        
        //у меня кнопка вызывает конструктор второй формы, у тебя может быть что угодно
        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(date);
            f2.Show();
        }
    }
Form2
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
    public partial class Form2 : Form
    {
        public Form2(DateTime prevDate)
        {
            date2 = prevDate;
            InitializeComponent();
 
            start_timer();
        }
 
        DateTime date2;
 
        public void start_timer()
        {
            //date2 = DateTime.Now;
 
            Timer timer = new Timer();
            timer.Interval = 10;
            timer.Tick += new EventHandler(tickTimer);
            timer.Start();
        }
 
        public void tickTimer(object sender, EventArgs e)
        {
            long tick2 = DateTime.Now.Ticks - date2.Ticks;
            DateTime stopWatch = new DateTime();
 
            stopWatch = stopWatch.AddTicks(tick2);
            label1.Text = String.Format("{0:mm:ss:ff}", stopWatch);
        }
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.06.2015, 01:55
Помогаю со студенческими работами здесь

Секундомер для подсчёта времени
У меня было задание такое секундомер для подсчёта времени работы разных видов сортировок (чтоб их можно было запихнуть в функцию)

Сборка ПК "для себя" - игры, игры, игры! Киев, бюджет 8300 грн с монитором.
Всем доброго времени суток. 1. Бюджет примерно 8300 грн (с монитором) 2. Украина, г. Киев, намерен покупать на http://rozetka.com.ua/...

Как сделать секундомер для UWP?
Выполняю задание, в VS2015 для Универсального Windows приложения создать секундомер. В MainPage.Xaml поместить элементы кнопку Button и...

Помогите сделать секундомер для ADuC812
Если в этом шарите, то помогите, пожалуйста. Прибор ADuC812, нужно запрограммировать как секундомер (ну или таймер), на ассемблере. В...

Секундомер(и только секундомер).
Да,я в гугле рылся,и там всё в усложнённом варианте.Мне нужно только по простому,поскольку я в JS только 2 день.вот я написал,но не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru