Browse Source

MTB-36 Первая ночь

Tigran 4 years ago
parent
commit
e917053501

+ 2 - 2
MafiaTelegramBot.sln.DotSettings.user

@@ -2,11 +2,11 @@
 	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002Fappsettings/@EntryIndexedValue">True</s:Boolean>
 	
 	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002FResources_002Fkeyboard/@EntryIndexedValue">False</s:Boolean>
-	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002FResources_002Froles/@EntryIndexedValue">True</s:Boolean>
+	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002FResources_002Froles/@EntryIndexedValue">False</s:Boolean>
 	
 	
 	
-	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002FResources_002Fstrings/@EntryIndexedValue">False</s:Boolean>
+	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002FResources_002Fstrings/@EntryIndexedValue">True</s:Boolean>
 	<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=MafiaTelegramBot_002Fstrings/@EntryIndexedValue">True</s:Boolean>
 	
 	<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean>

+ 18 - 3
MafiaTelegramBot/Game/GameRooms/GameRoom.cs

@@ -60,14 +60,29 @@ namespace MafiaTelegramBot.Game.GameRooms
 
         private async Task FirstNight()
         {
-            
-            await Task.Run(() => { });
+            await Task.Run(async() =>
+            {
+                await NotifyPlayersAbout(-1, strings.city_falls_asleep);
+                var mafia = Players.Values.Where(player => player.CurrentRole.RoleKey is Roles.Mafia).ToArray();
+                var don = Players.Values.FirstOrDefault(player => player.CurrentRole.RoleKey is Roles.Don);
+                var message = strings.your_teammates;
+                if (don != null) message += $" \\({don.TurnOrder}\\) {don.NickName} - {roles.Don}";
+                message = mafia.Aggregate(message, (current, player) => current + $" \\({player.TurnOrder}\\) {player.NickName}");
+                if (don != null) await Bot.SendWithMarkdown2(don.ChatId, message);
+                foreach (var player in mafia)
+                    await Bot.SendWithMarkdown2(player.ChatId, message);
+                Thread.Sleep(10000);
+            });
         }
 
 
         private async Task GameCycle()
         {
-            await Task.Run(() => { });
+            await NotifyPlayersAbout(-1, strings.first_day_message);
+            await Task.Run(() =>
+            {
+                
+            });
         }
 
 

+ 18 - 0
MafiaTelegramBot/Resources/strings.Designer.cs

@@ -422,5 +422,23 @@ namespace MafiaTelegramBot {
                 return ResourceManager.GetString("you_leave_from_game", resourceCulture);
             }
         }
+        
+        internal static string your_teammates {
+            get {
+                return ResourceManager.GetString("your_teammates", resourceCulture);
+            }
+        }
+        
+        internal static string first_day_message {
+            get {
+                return ResourceManager.GetString("first_day_message", resourceCulture);
+            }
+        }
+        
+        internal static string city_falls_asleep {
+            get {
+                return ResourceManager.GetString("city_falls_asleep", resourceCulture);
+            }
+        }
     }
 }

+ 9 - 0
MafiaTelegramBot/Resources/strings.resx

@@ -207,4 +207,13 @@
     <data name="you_leave_from_game" xml:space="preserve">
         <value>Вы покинули игру</value>
     </data>
+    <data name="your_teammates" xml:space="preserve">
+        <value>Ваши напарники:</value>
+    </data>
+    <data name="first_day_message" xml:space="preserve">
+        <value>Пока мирные жители спали, в городе завелась мафия. Город собрался на главной площади и жители решают, кто среди них предатель.</value>
+    </data>
+    <data name="city_falls_asleep" xml:space="preserve">
+        <value>Город засыпает</value>
+    </data>
 </root>