@@ -10,23 +10,23 @@ pub enum PlayerScore {
1010
1111impl Display for PlayerScore {
1212 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
13- let str = match self {
13+ let score_text = match self {
1414 Self :: Love => "love" ,
1515 Self :: Fifteen => "15" ,
1616 Self :: Thirty => "30" ,
1717 Self :: Forty => "40" ,
1818 } ;
19- write ! ( f, "{}" , str )
19+ write ! ( f, "{}" , score_text )
2020 }
2121}
2222
2323impl PlayerScore {
24- fn advance_score ( self ) -> Self {
24+ fn next ( self ) -> Self {
2525 match self {
2626 Self :: Love => Self :: Fifteen ,
2727 Self :: Fifteen => Self :: Thirty ,
2828 Self :: Thirty => Self :: Forty ,
29- Self :: Forty => Self :: Forty ,
29+ Self :: Forty => unreachable ! ( "Cannot advance from Forty in regular scoring" ) ,
3030 }
3131 }
3232}
@@ -47,11 +47,11 @@ pub enum Player {
4747
4848impl Display for Player {
4949 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
50- let str = match self {
50+ let player_text = match self {
5151 Player :: One => "Player 1" ,
5252 Player :: Two => "Player 2" ,
5353 } ;
54- write ! ( f, "{}" , str )
54+ write ! ( f, "{}" , player_text )
5555 }
5656}
5757
@@ -64,17 +64,17 @@ impl Default for Game {
6464impl Display for Game {
6565 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
6666 match self {
67- Self :: Deuce => write ! ( f , "Deuce" ) ,
67+ Self :: Deuce => f . write_str ( "Deuce" ) ,
6868 Self :: Advantage ( player) => write ! ( f, "Advantage {}" , player) ,
6969 Self :: Win ( player) => write ! ( f, "{} has won" , player) ,
70- Self :: Scores ( lhs , rhs ) if lhs == rhs => write ! ( f, "{}-all" , lhs ) ,
71- Self :: Scores ( lhs , rhs ) => write ! ( f, "{}-{}" , lhs , rhs ) ,
70+ Self :: Scores ( player1_score , player2_score ) if player1_score == player2_score => write ! ( f, "{}-all" , player1_score ) ,
71+ Self :: Scores ( player1_score , player2_score ) => write ! ( f, "{}-{}" , player1_score , player2_score ) ,
7272 }
7373 }
7474}
7575
7676impl Game {
77- pub fn advance_score ( self , player : Player ) -> Self {
77+ fn advance_score ( self , player : Player ) -> Self {
7878 match ( player, self ) {
7979 ( x, Self :: Advantage ( y) ) if x != y => Self :: Deuce ,
8080 ( Player :: One , Self :: Scores ( PlayerScore :: Thirty , PlayerScore :: Forty ) ) => Self :: Deuce ,
@@ -86,11 +86,11 @@ impl Game {
8686 ( Player :: One , Self :: Scores ( PlayerScore :: Forty , _) ) => Self :: Win ( Player :: One ) ,
8787 ( Player :: Two , Self :: Scores ( _, PlayerScore :: Forty ) ) => Self :: Win ( Player :: Two ) ,
8888
89- ( Player :: One , Self :: Scores ( player1 , player2 ) ) => {
90- Self :: Scores ( player1 . advance_score ( ) , player2 )
89+ ( Player :: One , Self :: Scores ( player1_score , player2_score ) ) => {
90+ Self :: Scores ( player1_score . next ( ) , player2_score )
9191 }
92- ( Player :: Two , Self :: Scores ( player1 , player2 ) ) => {
93- Self :: Scores ( player1 , player2 . advance_score ( ) )
92+ ( Player :: Two , Self :: Scores ( player1_score , player2_score ) ) => {
93+ Self :: Scores ( player1_score , player2_score . next ( ) )
9494 }
9595 ( _, x) => x,
9696 }
0 commit comments