-1

Я увлеченный игрок в DOTA 2. Это командная видеоигра с 5 участниками, в которую вы играете из 100 героев с различными способностями, сильными и слабыми сторонами.

Я часто играю капитана команды, и важно выбирать героев, которые дополняют друг друга и выявляют уязвимости в выборе другого капитана.

Я хочу создать личную базу данных друзей и врагов, возможно, в Excel или Access, но могут быть и другие решения.

Как я могу сделать так, если я отмечу двух героев в качестве счетчиков, например, Venge> Enigma, как я могу сделать это только один раз, поэтому, если я вижу Venge, я вижу Enigma и если я вижу Enigma, я вижу Venge.

например

  • Счетчики мест Enigma
  • Загадка противостоит Венге

или же

  • Wisp сочетается с CK
  • СК сочетается с Wisp

Я хочу ввести данные для каждого счетчика / комбинации только один раз.

Иными словами, я хотел бы что-то вроде http://www.mobacounter.com/dota/heroes, но мой собственный список на моем собственном ПК.

Я подозреваю, что это легко, но Google очень трудно найти ответ, если вы не знаете, как сформулировать вопрос.

1 ответ1

2

Я понятия не имею об этих программах Microsoft; но я могу дать вам некоторые отзывы о дизайне.

Вам в основном нужна одна таблица для всех героев и их атрибутов и другая таблица, которая определяет, кто кого побеждает.

Вот как это сделать в postgresql. Это, вероятно, не совсем то, что вы хотите, но, возможно, вы можете извлечь из него некоторую полезную информацию:

create table hero (name varchar primary key, description varchar, size numeric);
create table defeats (stronger varchar references hero(name), weaker varchar references hero(name), reason varchar, constraint winlose_pk primary key (stronger,weaker));

Теперь пришло время заполнить таблицы:

insert into hero values ('rock', 'big and shiny', 5);
insert into hero values ('scissors', 'sharp and shiny', 4);
insert into hero values ('paper', 'white but dirty', 8);
insert into hero values ('noob', 'defeated by everything', 2);

А теперь таблица отношений:

insert into defeats values ('rock', 'scissors', 'crushing defeat');
insert into defeats values ('paper', 'rock', 'enveloped');
insert into defeats values ('scissors', 'paper', 'cut');
insert into defeats values ('rock', 'noob', 'stone to the head');
insert into defeats values ('paper', 'noob', 'finger got cut');
insert into defeats values ('scissors', 'noob', 'would not stop runnning');
insert into defeats values ('noob', 'noob', 'self explanatory');

Теперь у вас есть две таблицы:

   name   |      description       | size 
----------+------------------------+------
 rock     | big and shiny          |    5
 scissors | sharp and shiny        |    4
 paper    | white but dirty        |    8
 noob     | defeated by everything |    2



 stronger |  weaker  |         reason          
----------+----------+-------------------------
 rock     | scissors | crushing defeat
 paper    | rock     | enveloped
 scissors | paper    | cut
 rock     | noob     | stone to the head
 paper    | noob     | finger got cut
 scissors | noob     | would not stop runnning
 noob     | noob     | self explanatory

Теперь вы можете, например, проверить, кто сильный рок, используя этот запрос:

select * from defeats where stronger='rock';

 stronger |  weaker  |      reason       
----------+----------+-------------------
 rock     | scissors | crushing defeat
 rock     | noob     | stone to the head

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .