Мясорубка - турнир

This commit is contained in:
Viktor Kholodov 2021-08-28 00:44:20 +03:00
parent ce4e99ce42
commit 208dd5936d
9 changed files with 40 additions and 16 deletions

View File

@ -41,7 +41,7 @@ class LobbieActor(hostUser: LobbyUser) extends Actor with LazyLogging {
private var status: LobbyStatus = NotStarted() private var status: LobbyStatus = NotStarted()
private var lobbyType: LobbyType = LooserPick() private var lobbyType: LobbyType = Last3()
private val mapsLobby: Set[DeciderMap] = { private val mapsLobby: Set[DeciderMap] = {
val configMaps = config.getStringList("maps").asScala val configMaps = config.getStringList("maps").asScala
@ -79,6 +79,7 @@ class LobbieActor(hostUser: LobbyUser) extends Actor with LazyLogging {
if (playerTurn== 1) playerTurn = 2 else playerTurn = 1 if (playerTurn== 1) playerTurn = 2 else playerTurn = 1
if(mapsLobby.count(_.isBanned == false) == 3 && lobbyType == Last3() || if(mapsLobby.count(_.isBanned == false) == 3 && lobbyType == Last3() ||
mapsLobby.count(_.isBanned == false) == 4 && lobbyType == Last4() || mapsLobby.count(_.isBanned == false) == 4 && lobbyType == Last4() ||
mapsLobby.count(_.isBanned == false) == 5 && lobbyType == Last5() ||
mapsLobby.count(_.isBanned == false) == 1 && lobbyType == LooserPick()){ mapsLobby.count(_.isBanned == false) == 1 && lobbyType == LooserPick()){
status = Finish() status = Finish()
} }
@ -131,6 +132,8 @@ class LobbieActor(hostUser: LobbyUser) extends Actor with LazyLogging {
lobbyType = Last3() lobbyType = Last3()
case "last4" => case "last4" =>
lobbyType = Last4() lobbyType = Last4()
case "last5" =>
lobbyType = Last5()
case "looserpick" => case "looserpick" =>
lobbyType = LooserPick() lobbyType = LooserPick()
} }
@ -247,4 +250,5 @@ class LobbyType
sealed case class Last3() extends LobbyType sealed case class Last3() extends LobbyType
sealed case class Last4() extends LobbyType sealed case class Last4() extends LobbyType
sealed case class Last5() extends LobbyType
sealed case class LooserPick() extends LobbyType sealed case class LooserPick() extends LobbyType

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@ -13,6 +13,7 @@
"2p_blood_river": "Blood River (2)", "2p_blood_river": "Blood River (2)",
"2p_blood_river_remix": "Blood River Remix (2)", "2p_blood_river_remix": "Blood River Remix (2)",
"2p_antiga_bay":"Antiga Bay (2)", "2p_antiga_bay":"Antiga Bay (2)",
"2p_terror_psyclaw":"Terror Psyclaw (2)",
"2p_outer_reaches": "Outer Reaches (2)", "2p_outer_reaches": "Outer Reaches (2)",
"2p_moonbase": "Moonbase (2)", "2p_moonbase": "Moonbase (2)",
"2p_deadly_fun_archeology": "Deadly Fun Archeology (2)", "2p_deadly_fun_archeology": "Deadly Fun Archeology (2)",
@ -51,6 +52,7 @@
"2p_short_below_zero": "Short Below Zero (2)", "2p_short_below_zero": "Short Below Zero (2)",
"2p_fata_morgana": "Fata Morga (2)", "2p_fata_morgana": "Fata Morga (2)",
"2p_fallen_city": "Fallen City (2)", "2p_fallen_city": "Fallen City (2)",
"2p_fallen_city_[Rem]": "Fallen City [Rem] (2)",
"2p_velvet_duress": "Velvet Duress (2)", "2p_velvet_duress": "Velvet Duress (2)",
"2p_fraziersdemise": "Fraziers Demise (2)", "2p_fraziersdemise": "Fraziers Demise (2)",
"2p_vortex_plateau": "Vortex Plateau (2)", "2p_vortex_plateau": "Vortex Plateau (2)",

View File

@ -103,7 +103,7 @@ window.onload = function() {
if($.cookie('user')=== undefined){ if($.cookie('user')=== undefined){
var result = prompt("Enter nickname: ", ); var result = prompt("Enter nickname: ", );
$.cookie('user', result, { expires: 7 }); $.cookie('user', result, { expires: 1337 });
userName = result; userName = result;
}else{ }else{
userName = $.cookie('user'); userName = $.cookie('user');
@ -268,6 +268,7 @@ function renderPlayersAndStats(lobby) {
var lobbyTypeText = ""; var lobbyTypeText = "";
var last3Selected = ""; var last3Selected = "";
var last4Selected = ""; var last4Selected = "";
var last5Selected = "";
var looserPickSelected = ""; var looserPickSelected = "";
switch (lobby.selectedType) { switch (lobby.selectedType) {
case "Last3()": case "Last3()":
@ -278,9 +279,13 @@ function renderPlayersAndStats(lobby) {
last4Selected = "selected"; last4Selected = "selected";
lobbyTypeText = "Play on last 4 maps"; lobbyTypeText = "Play on last 4 maps";
break; break;
case "Last5()":
last5Selected = "selected";
lobbyTypeText = "Play on last 5 maps";
break;
case "LooserPick()": case "LooserPick()":
looserPickSelected = "selected"; looserPickSelected = "selected";
lobbyTypeText = "Decide first, then looserpick"; lobbyTypeText = "Play on last map";
break; break;
} }
@ -304,9 +309,8 @@ function renderPlayersAndStats(lobby) {
disabledText = "disabled"; disabledText = "disabled";
} }
resHtml += "<br/><select class=\"form-control\" id = 'deciderOption' onChange='changeLobbyType()' "+disabledText+" >" + resHtml += "<br/><select class=\"form-control\" id = 'deciderOption' onChange='changeLobbyType()' "+disabledText+" >" +
/*"<option "+last3Selected+" value = 'last3'>Play on last 3 maps</option>" + "<option "+last3Selected+" value = 'last3'>Play on last 3 maps (BO3)</option>" +
"<option "+last4Selected+" value = 'last4'>Play on last 4 maps</option>" +*/ "<option "+last5Selected+" value = 'last5'>Play on last 5 maps (BO5)</option>" +
"<option "+looserPickSelected+" value = 'looserpick'>Decide first, then looserpick</option>" +
"</select>" "</select>"
resHtml += "</div>"; resHtml += "</div>";
break; break;

BIN
app/assets/sound/draft.mp3 Normal file

Binary file not shown.

View File

@ -13,7 +13,7 @@
<script type='text/javascript' src='@routes.Assets.at("lib/backbonejs/backbone.js")'></script> <script type='text/javascript' src='@routes.Assets.at("lib/backbonejs/backbone.js")'></script>
<script type="text/javascript" src="@routes.Assets.at("lib/jquery-cookie/jquery.cookie.js")"></script> <script type="text/javascript" src="@routes.Assets.at("lib/jquery-cookie/jquery.cookie.js")"></script>
<script type='text/javascript' src='@routes.Assets.at("javascripts/index.js?040421")'></script> <script type='text/javascript' src='@routes.Assets.at("javascripts/index.js?030721")'></script>
</head> </head>
<body data-ws-url="@routes.HomeController.ws.webSocketURL()"> <body data-ws-url="@routes.HomeController.ws.webSocketURL()">
<div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar navbar-inverse navbar-fixed-top">
@ -51,9 +51,9 @@
</div> </div>
</div> </div>
<div style="clear: both"></div> <div style="clear: both"></div>
<div><i><b>TournamentPatch Cup:</b><br/> <div><i><b>Правила турнира Мясорубка</b><br/>
Первая карта - десайдер, выбирается методом вычеркивания, далее лузерпики, повтор карт категорически запрещен. <p>Выбор карт в БО3 и БО5 осуществляется без лузерпиков, с тремя и пятью десайдерами соответственно. Игроки вычеркивают по очереди карты из маппула, пока их не останется 3 (для БО3) или 5 (для БО5). На этих картах и проходят все матчи встречи. Затем игроки вычеркивают выбранные карты, пока не останется только одна, на которой и играется первый матч встречи. Тот, кто первым начал вычеркивать из всего маппула, уступает оппоненту право вычеркивания первой карты из оставшихся карт-десайдеров. Во втором и последующем матчах проигравший выбирает карту из числа выбранных 3 (5) десайдеров.</p>
В суперфинале команда из сетки победителей начинает с +1 очком, но команда из сетки проигравших имеет лузерпик со старта встречи(десайдер в суперфинале не используется).<br/><br/> <p>You and your opponent disclude maps one-by-one, untill you'll get 3 (or five, for finals). By doing so, you decline 10 maps and won't play on them in the round. After that, you and your opponent disclude one map, to play your first match on the last map. Two left maps you and your opponent use as looser picks in the second and the third matches.</p>
</i> </i>
</div> </div>

View File

@ -7,5 +7,17 @@ play.filters.hosts {
play.http.secret.key="QCY?tAnfk?aZ?iwrNwnxIlR6CTf:123123Latabg@5241AB`R5W:1uDFN];Ik@n" play.http.secret.key="QCY?tAnfk?aZ?iwrNwnxIlR6CTf:123123Latabg@5241AB`R5W:1uDFN];Ik@n"
play.server.http.port = 80 play.server.http.port = 80
maps = ["2p_battle_marshes", "2p_fallen_city", "2p_fata_morgana_[Rem]", "2p_meeting_of_minds", "2p_faceoff", "2p_quests_triumph", "2p_shrine_of_excellion_[Rem]", "2p_titan_fall_[Rem]", "2p_tranquilitys_end_[rem]", "2p_blood_river_[Rem]", "2p_sugaroasis", "2p_outer_reaches","2p_fraziersdemise"] maps = ["2p_battle_marshes",
"2p_fallen_city_[Rem]",
"2p_fata_morgana_[Rem]",
"2p_meeting_of_minds",
"2p_outer_reaches",
"2p_quests_triumph",
"2p_shrine_of_excellion_[Rem]",
"2p_titan_fall_[Rem]",
"2p_tranquilitys_end_[Rem]",
"2p_fraziersdemise.jpg",
"2p_vortex_plateau",
"2p_sugaroasis",
"2p_blood_river_[Rem]"]

View File

@ -2,7 +2,9 @@
# This file defines all application routes (Higher priority routes first) # This file defines all application routes (Higher priority routes first)
# ~~~~ # ~~~~
GET /tpmodcup controllers.HomeController.index GET /meatgrinder controllers.HomeController.index
GET /dvijcup controllers.HomeController.index
GET /ws controllers.HomeController.ws GET /ws controllers.HomeController.ws
GET /reloadconfig controllers.AdminController.reloadConfig GET /reloadconfig controllers.AdminController.reloadConfig