From 101dba4f9ebdb2904c973ff1e3650267d08216e7 Mon Sep 17 00:00:00 2001 From: lixiangwuxian Date: Sat, 12 Jul 2025 02:00:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=20Blackjack=20=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E5=99=A8=E4=B8=AD=E7=9A=84=E7=8A=B6=E6=80=81=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E4=BB=8E=20util=20=E7=A7=BB=E5=8A=A8=E5=88=B0=20utilj?= =?UTF-8?q?ack?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- handler/blackjack/controller/simulator.go | 22 ++++++++++---------- handler/blackjack/util/status.go | 10 --------- handler/blackjack/{util => utiljack}/dict.go | 2 +- handler/blackjack/utiljack/status.go | 10 +++++++++ util/split.go | 6 ++++++ 5 files changed, 28 insertions(+), 22 deletions(-) delete mode 100644 handler/blackjack/util/status.go rename handler/blackjack/{util => utiljack}/dict.go (90%) create mode 100644 handler/blackjack/utiljack/status.go diff --git a/handler/blackjack/controller/simulator.go b/handler/blackjack/controller/simulator.go index 8aa63c5..1f65d87 100644 --- a/handler/blackjack/controller/simulator.go +++ b/handler/blackjack/controller/simulator.go @@ -4,7 +4,7 @@ import ( "strconv" "git.lxtend.com/lixiangwuxian/qqbot/handler/blackjack/model" - "git.lxtend.com/lixiangwuxian/qqbot/handler/blackjack/util" + "git.lxtend.com/lixiangwuxian/qqbot/handler/blackjack/utiljack" ) type BackJackSimulator struct { @@ -13,7 +13,7 @@ type BackJackSimulator struct { playerCards *model.Deck dealerScore int playerScore int - status util.Status + status utiljack.Status } func NewBlackJackSimulator() *BackJackSimulator { @@ -77,13 +77,13 @@ func (simulator *BackJackSimulator) Init() *BackJackSimulator { simulator.playerCards = initPlayerCards(simulator.playerCards, simulator.deck) simulator.dealerScore, simulator.playerScore = 0, 0 - simulator.status = util.INITIALIZED + simulator.status = utiljack.INITIALIZED return simulator } func (simulator *BackJackSimulator) Hit() *BackJackResponse { - if simulator.status == util.FAILED || simulator.status == util.WINNED || simulator.status == util.DRAW { + if simulator.status == utiljack.FAILED || simulator.status == utiljack.WINNED || simulator.status == utiljack.DRAW { return NewBlackJackResponse(400, "[🐧] You have failed in this Blackjack game !\n") } @@ -96,7 +96,7 @@ func (simulator *BackJackSimulator) Hit() *BackJackResponse { } if simulator.playerScore > 21 { - simulator.status = util.FAILED + simulator.status = utiljack.FAILED return NewBlackJackResponse(400, "[🐧] Your total score exceeds 21 ! You lose !\n") } } @@ -105,7 +105,7 @@ func (simulator *BackJackSimulator) Hit() *BackJackResponse { } func (simulator *BackJackSimulator) Stand() *BackJackResponse { - if simulator.status == util.FAILED || simulator.status == util.WINNED || simulator.status == util.DRAW { + if simulator.status == utiljack.FAILED || simulator.status == utiljack.WINNED || simulator.status == utiljack.DRAW { return NewBlackJackResponse(400, "[🐧] You have failed in this Blackjack game !\n") } @@ -150,20 +150,20 @@ func (simulator *BackJackSimulator) Stand() *BackJackResponse { } if minDealerScore > 21 { - simulator.status = util.WINNED + simulator.status = utiljack.WINNED return NewBlackJackResponse(400, "[🐧] The dealer burst and you have won the game !\n") } } } if maxDealerScore > maxPlayerScore { - simulator.status = util.FAILED + simulator.status = utiljack.FAILED return NewBlackJackResponse(400, "[🐧] The dealer wins the game !\n") } else if maxDealerScore < maxPlayerScore { - simulator.status = util.WINNED + simulator.status = utiljack.WINNED return NewBlackJackResponse(400, "[🐧] You have won the game !\n") } else if maxDealerScore == maxPlayerScore { - simulator.status = util.DRAW + simulator.status = utiljack.DRAW return NewBlackJackResponse(200, "[🐧] It is a draw !\n") } @@ -178,6 +178,6 @@ func (simulator *BackJackSimulator) GetPlayerCards() *model.Deck { return simulator.playerCards } -func (simulator *BackJackSimulator) GetStatus() util.Status { +func (simulator *BackJackSimulator) GetStatus() utiljack.Status { return simulator.status } diff --git a/handler/blackjack/util/status.go b/handler/blackjack/util/status.go deleted file mode 100644 index fab2822..0000000 --- a/handler/blackjack/util/status.go +++ /dev/null @@ -1,10 +0,0 @@ -package util - -type Status int - -const ( - INITIALIZED Status = iota - WINNED Status = iota - FAILED Status = iota - DRAW Status = iota -) diff --git a/handler/blackjack/util/dict.go b/handler/blackjack/utiljack/dict.go similarity index 90% rename from handler/blackjack/util/dict.go rename to handler/blackjack/utiljack/dict.go index 04c01f4..43c772b 100644 --- a/handler/blackjack/util/dict.go +++ b/handler/blackjack/utiljack/dict.go @@ -1,4 +1,4 @@ -package util +package utiljack var Dict map[string]string diff --git a/handler/blackjack/utiljack/status.go b/handler/blackjack/utiljack/status.go new file mode 100644 index 0000000..5606ebd --- /dev/null +++ b/handler/blackjack/utiljack/status.go @@ -0,0 +1,10 @@ +package utiljack + +type Status int + +const ( + INITIALIZED Status = iota + WINNED Status = iota + FAILED Status = iota + DRAW Status = iota +) diff --git a/util/split.go b/util/split.go index c5243d6..83a9e4f 100644 --- a/util/split.go +++ b/util/split.go @@ -4,6 +4,12 @@ import ( "regexp" ) +/* +ζŒ‰η©Ίζ Όεˆ†ε‰²ε­—η¬¦δΈ²οΌŒθΏ”ε›žεˆ†ε‰²εŽηš„ε­—η¬¦δΈ²ζ•°η»„ +@param text θ¦εˆ†ε‰²ηš„ε­—η¬¦δΈ² +@param n εˆ†ε‰²ηš„ζ¬‘ζ•° +@return εˆ†ε‰²εŽηš„ε­—η¬¦δΈ²ζ•°η»„ +*/ func SplitN(text string, n int) []string { re := regexp.MustCompile(`\s+`) tokens := re.Split(text, n)