Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
14 / 11 / 4
Регистрация: 14.11.2020
Сообщений: 411

Полю не присваивается значение

05.05.2021, 11:30. Показов 703. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создаю игру. Осталось реализовать рейтинг, но столкнулась с проблемой, очки не начисляются за победу.

Начисление очков выглядит таким образом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
private void CheckWin()
        {
            if (FirstPlayer.Count == 15 || SecondPlayer.Count == 15)
            {
                if (FirstPlayer.Count > SecondPlayer.Count)
                {
                    string winner = FirstPlayer.Name;
                    FirstPlayer.Wins++;
                    saveRate = FirstPlayer.Wins.ToString();
                    MessageBox.Show($"Игра окончена, победил {winner}");
                }
                else
                {
                    string winner = SecondPlayer.Name;
                    SecondPlayer.Wins++;
                    saveRateSecond = SecondPlayer.Wins.ToString();
                    MessageBox.Show($"Игра окончена, победил {winner}");
                }
                
            }
            File.WriteAllText("Rate.txt", saveRate + "\n" + saveRateSecond);
        }
При последующем запуске данные с файла Rate.txt должны присвоиться к полям классов FirstPlayer.Wins и SecondPlayer.Wins.
Отписала такую логику:
C#
1
2
3
4
5
6
7
8
9
10
11
12
private void btn_NewGame(object sender, RoutedEventArgs e)
        {
 
            Placement.Initialisation();
            var rate = File.ReadAllLines("Rate.txt");
            FirstPlayer.Wins = int.Parse(rate[0]);
            FirstPlayer.Wins = int.Parse(rate[1]);
            Game game = new Game();
            game.Show();
            this.Close();
            
        }
Может я туплю, но подскажите, по какой причине им присваиваются нули ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2021, 11:30
Ответы с готовыми решениями:

Не присваивается значение полю
Здравствуйте. Почему полю не присваивается значение? Есть класс самолетов и их конструктор, присваивающий значение полям. Пытаюсь прочитать...

Полю нигде не присваивается значение, поэтому оно всегда будет иметь значение null
Пишу программу которая должна png картинки преобразовывать в матрицу (матрица заносится в массив).Т.к. картинки имеют разный размер...

Не присваивается значение переменной
private void button1_Click(object sender, EventArgs e) { double OhmMMcl=0; double OhmMMst=0; ...

9
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
05.05.2021, 11:43
Сомнительные моменты:
  1. У тебя всегда rate записывается для первого игрока, а secondRate — для второго.
  2. Запись в файл происходит всегда, вне зависимости от условия FirstPlayer.Count == 15 || SecondPlayer.Count == 15
  3. 6,7 строки идентичны в btn_NewGame
0
628 / 392 / 135
Регистрация: 06.03.2017
Сообщений: 1,469
05.05.2021, 11:45
C#
1
2
            FirstPlayer.Wins = int.Parse(rate[0]);
            FirstPlayer.Wins = int.Parse(rate[1]);
зачем нужна верхняя строка? Где SecondPlayer?
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
05.05.2021, 11:46
а что именно записано в файле в этот момент?
0
14 / 11 / 4
Регистрация: 14.11.2020
Сообщений: 411
05.05.2021, 11:52  [ТС]
Pilarentes, упс, да, я исправила. Но не помогло

Добавлено через 1 минуту
Diamante, стартовый файл:
0
0

Добавлено через 2 минуты
Diamante, он должен при запуске игры загружаться в Ферстплеер и секондплеер и в зависимости от окончания игры начислять очки либо первому, либо второму игроку, и измененные данные сохранять.
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
05.05.2021, 11:52
ну вот они, твои нули...
проверь что записано в файле после выигрышей
0
14 / 11 / 4
Регистрация: 14.11.2020
Сообщений: 411
05.05.2021, 11:53  [ТС]
Diamante, Так они и не изменяются..
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
05.05.2021, 11:55
а где и когда создается файл?
0
Эксперт .NET
 Аватар для Даценд
5878 / 4755 / 2939
Регистрация: 20.04.2015
Сообщений: 8,361
05.05.2021, 11:57
Цитата Сообщение от Nuyta Посмотреть сообщение
они и не изменяются
А FirstPlayer или SecondPlayer достигают значения Count==15?
0
14 / 11 / 4
Регистрация: 14.11.2020
Сообщений: 411
05.05.2021, 11:58  [ТС]
Diamante, хм Теперь заработало. Оказывается, я один момент не проработала при повторном запуске..) Но спасибо)

Добавлено через 25 секунд
Даценд, да, да, всё теперь нормально)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2021, 11:58
Помогаю со студенческими работами здесь

Не присваивается значение переменной
Столкнулся с такой проблемой: У меня в классе есть поле "Vector2" cityPos. Я присваиваю ему значение из функции. После лога выводит...

не присваивается значение элементу
Здравствуйте. Проблема в закомментированных строчках. В первом случае элементу elem присваивается значение и событие нормально...

Не присваивается значение свойству...
Всем доброго времени суток. Проблема в том, что если просто стартую программу то значение не присваивается, а если с отладкой пошагово иду...

Не присваивается значение переменной из консоли
Здравия всем! сделала маленький парсер на новости, и надо чтоб спрашивал, продолжать ли работу дальше. Все нормально, но не читает ответ из...

Класс для рисования треугольников. Предупреждение "Полю нигде не присваивается значение"
сделал класс для рисования треугольников class Triangle { Graphics Graph;//тут ошибка Pen MyPen; int...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru