@@ -44,37 +44,35 @@ private void Member_FailedToReact(BlackjackMember member)
4444 {
4545 var game = blackjackGames . FirstOrDefault ( x =>
4646 x . members . FindIndex ( y => y . ConnectionId == member . ConnectionId ) != - 1 ) ;
47- if ( game != null )
47+ if ( game == null ) return ;
48+
49+ var memberIdx = game . members . FindIndex ( x => x . ConnectionId == member . ConnectionId ) ;
50+ if ( member . waitingForBet && member is { NewlyJoined : false , notPlaying : false } )
4851 {
49- var memberIdx = game . members . FindIndex ( x => x . ConnectionId == member . ConnectionId ) ;
50- if ( member . waitingForBet && member is { NewlyJoined : false , notPlaying : false } )
51- {
52- member . SetBet ( 5 ) ;
53- game . dealer . money += member . Bet ;
54- AskForBet ( game , memberIdx + 1 ) ;
55- member . waitingForBet = false ;
56- }
57- else if ( member . waitingForPull && member is { NewlyJoined : false , notPlaying : false } )
58- {
59- AskForPull ( game , memberIdx + 1 ) ;
60- member . waitingForPull = false ;
61- }
52+ member . SetBet ( 5 ) ;
53+ game . dealer . money += member . Bet ;
54+ AskForBet ( game , memberIdx + 1 ) ;
55+ member . waitingForBet = false ;
56+ }
57+ else if ( member . waitingForPull && member is { NewlyJoined : false , notPlaying : false } )
58+ {
59+ AskForPull ( game , memberIdx + 1 ) ;
60+ member . waitingForPull = false ;
6261 }
6362 }
6463
6564 private async void Member_DidSplit ( BlackjackMember member )
6665 {
6766 var game = blackjackGames . FirstOrDefault ( x =>
6867 x . members . FindIndex ( y => y . ConnectionId == member . ConnectionId ) != - 1 ) ;
69- if ( game != null )
70- {
71- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
72- game . DealCard ( member ) ;
73- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
74- game . DealSplitCard ( member ) ;
75- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1500 ) ) ;
76- AskForSplitPull ( game , game . members . FindIndex ( x => x . ConnectionId == member . ConnectionId ) , false ) ;
77- }
68+ if ( game == null ) return ;
69+
70+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
71+ game . DealCard ( member ) ;
72+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
73+ game . DealSplitCard ( member ) ;
74+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
75+ AskForSplitPull ( game , game . members . FindIndex ( x => x . ConnectionId == member . ConnectionId ) , false ) ;
7876 }
7977
8078 private async void Game_RoundEnded ( BlackjackLogic game )
@@ -100,7 +98,7 @@ private async void Game_CardDealed(BlackjackLogic game, BlackjackMember member)
10098 private async Task AddMoney ( BlackjackLogic game )
10199 {
102100 var dealerText = $ "Dealer had { game . dealer . pointsDTO } . ";
103- foreach ( var member in game . members ? . Where ( x => x is { notPlaying : false , NewlyJoined : false } ) . ToList ( ) )
101+ foreach ( var member in game . members . Where ( x => x is { notPlaying : false , NewlyJoined : false } ) . ToList ( ) )
104102 {
105103 var totalText = $ "You had { member . points } ";
106104
@@ -135,19 +133,18 @@ private async Task AddMoney(BlackjackLogic game)
135133
136134 private async Task InitRound ( BlackjackLogic game , int timeout )
137135 {
138- await SendAllUsers ( game ) ;
139136 game . members . ForEach ( x => x . NewlyJoined = false ) ;
140137 await Task . Delay ( timeout ) ;
141138 if ( ! game . GameEnded ) AskForBet ( game , 0 ) ;
142139 }
143140
144141 public async Task SendAllUsers ( BlackjackLogic game )
145142 {
146- foreach ( var member in game . members ? . Where ( x => x . ConnectionId . Length > 0 ) . ToList ( ) )
143+ foreach ( var member in game . members . Where ( x => x . ConnectionId . Length > 0 ) . ToList ( ) )
147144 {
148145 await _hub . Clients . Client ( member . ConnectionId ) . sendblackjackself ( member ) ;
149146 await _hub . Clients . Client ( member . ConnectionId )
150- . sendblackjackmembers ( game . members ? . Where ( x => x . ConnectionId != member . ConnectionId ) . ToList ( ) ) ;
147+ . sendblackjackmembers ( game . members . Where ( x => x . ConnectionId != member . ConnectionId ) . ToList ( ) ) ;
151148 }
152149
153150 await _hub . Clients . Group ( game . RoomId ) . sendblackjackdealer ( game . dealer ) ;
@@ -159,18 +156,19 @@ public async Task<bool> PlayNewRound(string UniqueId)
159156 if ( idx < 0 )
160157 {
161158 var room = MainManager . GetRoom ( UniqueId ) ;
162- var bjMember = new List < BlackjackMember > ( ) ;
163- foreach ( var member in room . server . members . Take ( 5 ) . ToList ( ) ) bjMember . Add ( member . ToBlackjackMember ( this ) ) ;
159+ var bjMember = room . server . members . Take ( 5 ) . ToList ( ) . Select ( member => member . ToBlackjackMember ( this ) )
160+ . ToList ( ) ;
164161
165162 if ( room . server . members . Count > 5 )
166- foreach ( var member in room . server . members . Skip ( 5 ) . ToList ( ) )
163+ foreach ( var bjMem in room . server . members . Skip ( 5 ) . ToList ( )
164+ . Select ( member => member . ToBlackjackMember ( this ) ) )
167165 {
168- var bjMem = member . ToBlackjackMember ( this ) ;
169166 bjMem . notPlaying = true ;
170167 bjMember . Add ( bjMem ) ;
171168 }
172169
173170 var game = new BlackjackLogic ( this , UniqueId , bjMember ) ;
171+ await SendAllUsers ( game ) ;
174172 blackjackGames . Add ( game ) ;
175173 await _hub . Clients . Group ( UniqueId ) . playblackjack ( true ) ;
176174 await InitRound ( game , 500 ) ;
@@ -211,7 +209,7 @@ public async void AskForBet(BlackjackLogic game, int memberIdx)
211209 }
212210 else
213211 {
214- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 250 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
212+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 250 ) , TimeSpan . FromMilliseconds ( 500 ) ) ;
215213 member . SetBet ( 5 ) ;
216214 game . dealer . money += member . Bet ;
217215 AskForBet ( game , memberIdx + 1 ) ;
@@ -225,9 +223,9 @@ public async void AskForBet(BlackjackLogic game, int memberIdx)
225223 else
226224 {
227225 await game . PlayRound ( ) ;
228- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
226+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
229227 await game . PlayRound ( ) ;
230- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
228+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
231229 var idx = game . members . FindIndex ( x =>
232230 x is { notPlaying : false , NewlyJoined : false } and { blackjack : false , points : < 21 } ) ;
233231 if ( idx > - 1 )
@@ -253,7 +251,7 @@ public async void AskForPull(BlackjackLogic game, int memberIdx)
253251 }
254252 else
255253 {
256- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1500 ) ) ;
254+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
257255 switch ( BlackjackAi . SmartPull ( member , game . dealer , true , false ) )
258256 {
259257 case BlackjackSmartReaction . Stand :
@@ -301,7 +299,7 @@ public async void AskForSplitPull(BlackjackLogic game, int memberIdx, bool pullF
301299 }
302300 else
303301 {
304- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1500 ) ) ;
302+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
305303 switch ( BlackjackAi . SmartPull ( member , game . dealer , false , pullForSplitHand ) )
306304 {
307305 case BlackjackSmartReaction . Stand :
@@ -332,7 +330,7 @@ public async void AskForSplitPull(BlackjackLogic game, int memberIdx, bool pullF
332330 }
333331 else
334332 {
335- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1500 ) ) ;
333+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
336334 switch ( BlackjackAi . SmartPull ( member , game . dealer , false , pullForSplitHand ) )
337335 {
338336 case BlackjackSmartReaction . Stand :
@@ -355,11 +353,11 @@ public async void DealerPull(BlackjackLogic game)
355353 {
356354 game . dealer . cards [ 1 ] . FaceUp = true ;
357355 await _hub . Clients . Group ( game . RoomId ) . sendblackjackdealer ( game . dealer ) ;
358- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
356+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
359357 while ( game . DealDealerCard ( ) )
360358 {
361359 await _hub . Clients . Group ( game . RoomId ) . sendblackjackdealer ( game . dealer ) ;
362- await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 1000 ) , TimeSpan . FromMilliseconds ( 2500 ) ) ;
360+ await BlackjackTimer . RndDelay ( TimeSpan . FromMilliseconds ( 500 ) , TimeSpan . FromMilliseconds ( 1250 ) ) ;
363361 }
364362
365363 game . EndRound ( ) ;
0 commit comments