Skip to content

reshetyk/ConcurrecyTaskFootball

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

ConcurrencyTaskFootball

Написать программу, которая создает 4 игрока (по 2 на команду) (каждый игрок характеризуется id, именем, командой, координатами на поле 20х20).

Также имеется класс мяч, который характеризуется своим положением на поле и id игрока, которому предназначен мяч (-1 до того, когда определен получатель мяча).

Удар по мячу производит игрок, которому предназначен мяч, случайным образом назначая ему новые координаты .

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

Каждый игрок и арбитр запущены в разных потоках.

При ударе арбитр печатает на экране, кто ударил мяч и его новые координаты.

Если горизонтальная координата мяча < 0 или > 20, то все процессы прерываются и игра заканчивается с соответствующим сообщением.

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

About

It's a training task

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages