|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
Вывод текста из label в txt29.04.2022, 19:23. Показов 2465. Ответов 59
Метки нет (Все метки)
Я написал код для вывода текста из lable в txt, но есть проблема. У меня игра пятнашки, есть таймер который записывает время прохождение игры, таймер пишется в lable, каждый раз когда я побеждаю таймер останавливается и записывается txt файл 1 раз, но когда я нажимаю играть снова, то старый результат не сохраняется, а записывается новый, что нужно добавить чтобы записывалися все результаты?
Вот сам код вывода из lable в txt : File.WriteAllText("C:\\Users\\Kiki\\Desk top\\txt.txt", label1.Text); Что же нужно еще дописать?
0
|
|
| 29.04.2022, 19:23 | |
|
Ответы с готовыми решениями:
59
Вывод текста Label из залитого txt на FTP
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|||||||||
| 29.04.2022, 21:05 | |||||||||
Сообщение было отмечено Yury Komar как решение
Решение
0
|
|||||||||
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 13:06 [ТС] | |
|
John Prick, А как сделать чтобы оно было не в ряд а в столбец
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|
| 30.04.2022, 13:58 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 15:49 [ТС] | |
|
John Prick, Cпасибо, а не подскажете, как мне отсортировать результат, от худшего к лучшему?
Добавлено через 10 минут John Prick, Не пойму просто как можно отсортировать таймер
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|
| 30.04.2022, 21:44 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 21:56 [ТС] | |
|
John Prick, Сортировку времени я уже решил, а вот я не могу сделать количество шагов, я сделал только так, что если нажимать просто на кнопку, то оно будет щитать это как за шаг.
Добавлено через 29 секунд Это основной клас using Timer = System.Windows.Forms.Timer; using System.IO; namespace Курсова_робота { public partial class FormGame : Form { Game game; DateTime date; public FormGame() { InitializeComponent(); game = new Game(4); } int count = 0; private void button7_Click(object sender, EventArgs e) { int position = Convert.ToInt16(((Button)sender).Tag); game.shift(position); label2.Text = ("Кількість кроків: ", ++count).ToString(); refresh(); if (game.check_numbers()) { timer1.Stop(); count = 0; MessageBox.Show("Ви перемогли!", "Вітання"); MessageBox.Show( " Час: " + label1.Text + "\n" + "Кроків: " + label2.Text, "Статистика гри " ); ; String path = "C:\\Users\\Kiki\\Desktop\\txt.txt"; File.AppendAllText(path, label1.Text + "\n"); } } private Button button(int position) { switch (position) { case 0: return button0; case 1: return button1; case 2: return button2; case 3: return button3; case 4: return button4; case 5: return button5; case 6: return button6; case 7: return button7; case 8: return button8; case 9: return button9; case 10: return button10; case 11: return button11; case 12: return button12; case 13: return button13; case 14: return button14; case 15: return button15; default: return null; } } private 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:HH:mm:ss:fff}", stopWatch); } private void Menu_start_Click(object sender, EventArgs e) { start_game(); count = 0; label2.Text = null; } private void start_game() { date = DateTime.Now; timer1.Interval = 10; timer1.Enabled = true; game.start(); for (int j = 0; j < 5; j++) game.shift_random(); refresh(); } private void refresh() { for (int position = 0; position < 16; position++) { int nr = game.get_number(position); button(position).Text = nr.ToString(); button(position).Visible = (nr > 0); } } private void FormGame_Load(object sender, EventArgs e) { start_game(); } public TimeSpan Check() { String path = "C:\\Users\\Kiki\\Desktop\\txt.txt"; string[] lines = File.ReadAllLines(path); List<TimeSpan> time = lines .Select(x => TimeSpan.ParseExact(x, @"hh\:mm\:ss\:fff", null)) .ToList(); var max = time.Max(); var min = time.Min(); return min; } private void статистикаToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Найкращий час: " + Check()); } } } Добавлено через 33 секунды John Prick, Это клас гейм using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Курсова_робота { internal class Game { int size; int[,] map; int space_x, space_y; static Random rand= new Random(); public Game(int size) { if (size < 2) size = 2; if (size > 5) size = 5; this.size = size; map = new int[size, size]; } public void start() { for (int x = 0; x < size; x++) for (int y = 0; y < size; y++) map[x, y] = coords_to_position(x, y) + 1; space_x = size - 1; space_y = size - 1; map[space_x, space_y] = 0; } public void shift(int position) { int x, y; position_to_coords(position, out x, out y); if (Math.Abs(space_x - x) + Math.Abs(space_y - y) != 1) return; map[space_x, space_y]=map[x, y]; map[x,y] = 0; space_x = x; space_y= y; } public void shift_random() { int a = rand.Next(0, 4); int x = space_x; int y = space_y; switch (a) { case 0:x--; break; case 1:x++; break; case 2:y--; break; case 3:y++; break; } shift(coords_to_position(x,y)); } public bool check_numbers () { if(!(space_x==size-1 && space_y==size-1)) return false; for (int x=0; x<size ; x++) for(int y=0; y<size ; y++) if(!(x == size-1 && y == size-1)) if(map[x, y] != coords_to_position(x, y) + 1) return false; return true; } public int get_number(int position) { int x, y; position_to_coords(position, out x, out y); if (x < 0 || x >= size) return 0; if (y < 0 || y >= size) return 0; return map[x, y]; } private int coords_to_position(int x, int y) { if(x<0) x = 0; if(x>size-1) x=size-1; if(y<0) y = 0; if(y>size-1) y=size-1; return y * size + x; } private void position_to_coords(int position, out int x, out int y) { if(position<0) position=0; if(position>size*size-1) position=size=size*size-1; x = position % size; y = position / size; } } } Добавлено через 1 минуту John Prick, Этим я щитаю так скажем коилчество кликов label2.Text = ("Кількість кроків: ", ++count).ToString(); Добавлено через 1 минуту John Prick, Но мне надо коиличество перемищений, я знаю что у меня перемищение это game.shift(position), но как бы я не писал через if этот game.shift(position) мне выдает ошибку, я типо хочу написать то, что если планки двигаються, то оно должно считать мне шаги
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||||||||||||||||
| 30.04.2022, 22:11 | ||||||||||||||||
|
Добавь в класс Game событие
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:20 [ТС] | |
|
Вот такое выдает
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:22 [ТС] | |
|
John Prick, Ошбики только в последних двох строках
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:32 [ТС] | |
|
Я чот попытался исравить, но вот что выдает
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
|
| 30.04.2022, 22:36 | |
|
Ну ошибку с точкой с запятой уж можно самому исправить? А game создавайте как и раньше, там какой-то параметр был, я не заметил.
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:38 [ТС] | |
|
Мне надо было его в game.load? или после game=new Game(4);?
John Prick, using Timer = System.Windows.Forms.Timer; using System.IO; namespace Курсова_робота { public partial class FormGame : Form { Game game; DateTime date; public FormGame() { InitializeComponent(); game = new Game(4); } int count = 0; private void button7_Click(object sender, EventArgs e) { int position = Convert.ToInt16(((Button)sender).Tag); game.shift(position); label2.Text = ("Кількість кроків: ", ++count).ToString(); refresh(); if (game.check_numbers()) { timer1.Stop(); count = 0; MessageBox.Show("Ви перемогли!", "Вітання"); MessageBox.Show( " Час: " + label1.Text + "\n" + "Кроків: " + label2.Text, "Статистика гри " ); ; String path = "C:\\Users\\Kiki\\Desktop\\txt.txt"; File.AppendAllText(path, label1.Text + "\n"); } } private Button button(int position) { switch (position) { case 0: return button0; case 1: return button1; case 2: return button2; case 3: return button3; case 4: return button4; case 5: return button5; case 6: return button6; case 7: return button7; case 8: return button8; case 9: return button9; case 10: return button10; case 11: return button11; case 12: return button12; case 13: return button13; case 14: return button14; case 15: return button15; default: return null; } } private 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:HH:mm:ss:fff}", stopWatch); } private void Menu_start_Click(object sender, EventArgs e) { start_game(); count = 0; label2.Text = null; } private void start_game() { date = DateTime.Now; timer1.Interval = 10; timer1.Enabled = true; game.start(); for (int j = 0; j < 5; j++) game.shift_random(); refresh(); } private void refresh() { for (int position = 0; position < 16; position++) { int nr = game.get_number(position); button(position).Text = nr.ToString(); button(position).Visible = (nr > 0); } } private void FormGame_Load(object sender, EventArgs e) { start_game(); game= new Game(); game.OnShift += () => { ++count; }; } public TimeSpan Check() { String path = "C:\\Users\\Kiki\\Desktop\\txt.txt"; string[] lines = File.ReadAllLines(path); List<TimeSpan> time = lines .Select(x => TimeSpan.ParseExact(x, @"hh\:mm\:ss\:fff", null)) .ToList(); var max = time.Max(); var min = time.Min(); return min; } private void статистикаToolStripMenuItem_Click(object sender, EventArgs e) { MessageBox.Show("Найкращий час: " + Check()); } } }
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||||||
| 30.04.2022, 22:41 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:43 [ТС] | |
|
John Prick,
Ну я сделал так как вы написали, при нажатии на любую кнопку оно начинает счет с 5, и даже при нажатии на любую кнопку итак считает как клик а не как перемещение(( Добавлено через 27 секунд John Prick, Я так и сделал, но не работает
0
|
|
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:44 [ТС] | |
|
John Prick,
Я кликаю на любую кнопку 1 раз и...
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||
| 30.04.2022, 22:52 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 22:59 [ТС] | |
|
John Prick, Мне нужно колисество шагов, типо когда я делаю ход, то мне должно считать его, но когда я нажимаю на кнопку которая не может никуда походить, то оно не должно считать ходы.
Добавлено через 41 секунду Нужен одним словом счётчик перемещений на пустое место кнопки
0
|
|
|
2394 / 1923 / 763
Регистрация: 27.07.2012
Сообщений: 5,567
|
||
| 30.04.2022, 23:12 | ||
|
Добавлено через 9 минут Все остальные изменения счётчика уберите. Если надо его выводить каждый раз при изменении, то там же, в обработчике события OnShift, выводите счётчик в label.
0
|
||
|
0 / 0 / 0
Регистрация: 18.10.2018
Сообщений: 118
|
|
| 30.04.2022, 23:20 [ТС] | |
|
John Prick, Как єто програмно написать, не понял просто как (Извините что туплю, я не совсем просто программист, а курсовая у нас по программированию.
0
|
|
| 30.04.2022, 23:20 | |
|
Помогаю со студенческими работами здесь
20
Вывод в Label с ограничением количества символов и переносом остатка текста в следующий Label Считывание текста из txt-файла в Label Вывод в Label нужной строки .*txt Поиск текста в .txt и вывод этого текста в консоль
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|