С Новым годом! Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 5
1

Не могу вывести разные значения игрока, все значения копируются

29.09.2021, 22:18. Показов 463. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужно реализовать программу, которая будет добавлять игроков в лист, а также при нажатии определенной кнопки показывать весь список, я недавно выучил ООП, но некоторые моменты не понимаю, добавление игрока работает, но, какой бы не был список, выводится копия последнего игрока, помогите пожалуйста, вот код:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp21
{
    
    class Program
    {
 
        static void Main(string[] args)
        {
            
            Player playerone = new Player();
            DataBase database = new DataBase();
            int userInput;
            while (true)
            {
                Console.WriteLine("Меню");
                Console.WriteLine("Добро пожаловать в меню!\nВыберите один вариант из двух:\n1 - добавить игрока.\n2 - показать список всех игроков.");
                
                switch (userInput = Convert.ToInt32(Console.ReadLine()))
                {
                    case 1:
                        database.AddPlayer();
                        break;
                    case 2:
                        database.ShowAllList();
                        break;
                }
                Console.ReadKey();
                Console.Clear();
                
            }
        }
            
                    
    }
    class DataBase
    {
        List<Player> players = new List<Player>();
        Player player = new Player();
        public void AddPlayer()
        {
            Console.WriteLine("Добавить игрока:");
            player.GetId();
            player.ChooseName();
            player.IndicateLevel();
            players.Add(player);
        }
        public void ShowAllList()
        {
            for(int i = 0; i < players.Count; i++)
            {
                players[i].PLayerInfo();
            }
        }
 
    }
    class Player
    {
        public int IDNumber { get; private set; }
        public string NickName { get; private set; }
        public int Level { get; private set; }
        public void GetId()
        {
            Console.WriteLine("Укажите ID вашего персонажа:");
            IDNumber = Convert.ToInt32(Console.ReadLine());
            
        }
        public void ChooseName()
        {
            Console.WriteLine("Выберите имя игроку: ");
            NickName = Console.ReadLine();
 
        }
        public void IndicateLevel()
        {
            Console.WriteLine("Укажите уровень вашего персонажа");
            Level = Convert.ToInt32(Console.ReadLine());
        }
        public void PLayerInfo()
        {
            Console.WriteLine($"Игрок {NickName}, уровень - {Level}, ID - {IDNumber}");
        }
 
    }
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2021, 22:18
Ответы с готовыми решениями:

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

Не могу понять как найти силу тока при известных E и R. все значения не равны 0 .значения не проблема

Вывести все значения аргументов x и a, при которых значения функции равно c
Дана функция y=f(x,a) Вывести все значения аргументов x и a,при которых значения функции = c ...

Вывести все значения, у которых цена больше MIN значения цены
Помогите пожалуйста создать запрос,который бы выводил все значения,у которых цена больше MIN...

2
296 / 120 / 33
Регистрация: 06.03.2016
Сообщений: 453
29.09.2021, 22:53 2
Вы создали DataBase database = new DataBase(); и в нем создается Player player = new Player();. Поэтому каждый раз когда Вы вызываете метод добавления, добавляете один и тот же player
C#
1
2
3
4
5
6
7
8
        public void AddPlayer()
        {
            Console.WriteLine("Добавить игрока:");
            player.GetId(); // этот player создан при создании экземпляра DataBase
            player.ChooseName();
            player.IndicateLevel();
            players.Add(player);
        }
Надо делать так
C#
1
2
3
4
5
6
7
8
9
10
11
        List<Player> players = new List<Player>();
        Player player = new Player(); // это удалить
 
        public void AddPlayer(Player player)
        {
            Console.WriteLine("Добавить игрока:");
            player.GetId();
            player.ChooseName();
            player.IndicateLevel();
            players.Add(player);
        }
1
0 / 0 / 0
Регистрация: 29.09.2021
Сообщений: 5
29.09.2021, 22:54  [ТС] 3
Спасибо большое!
0
29.09.2021, 22:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.09.2021, 22:54
Помогаю со студенческими работами здесь

Вывести все значения аргументов x и a, при которых значения функции равно c
Дана функция y=f(x,a) Вывести все значения аргументов x и a,при которых значения функции = c ...

Для каждого значения A вывести все значения функции попдающие в интервал от C до D
Мне дали вот такое условие задачи: Y=f(x; a) X1&lt;=x&lt;=x2, x3 A1&lt;=a&lt;=a2, a3 Для каждого значения...

Замените все четные значения введённого с клавиатуры массива нулями и вывести скорректированные значения (с помощью указателей)
Дорогие форумчане! Помогите пожалуйста с заданием!:cry: Введите с...

Программа работает, но выводит разные значения Sx и Yx (значения должны быть одинаковыми)
#include &lt;stdio.h&gt; #include &lt;iostream&gt; #include &lt;math.h&gt; #pragma warning(disable : 4996) int...

Вывести значения одной таблицы двумя запросами,где значения второго запроса должны исключить значения первого
Есть две таблицы. Таблица GRP c полями NameGroup и CodElementGroup. Содержание её таково: Группа_1...

Посчитать значения функции и вывести в разные ячейки
дана функция w= sqr(0.2*x*k), x &lt; m/2 ; exp(-2)*x*k, x &gt;= m/2. Значения переменных x=-7*10-3; k=3;...

Массивы. Найти максимальные и минимальные значения. В строках, где находятся искомые значения все значения обратить в ноль и вернуть номер строки
Всем привет! Вот такая задачка: Ввести двумерный массив 5х6. Найти максимальные и минимальные...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru