xy 1 Minggu lalu
induk
melakukan
7475b02746
2 mengubah file dengan 24 tambahan dan 2 penghapusan
  1. 24 1
      src/server/console/console.go
  2. 0 1
      src/server/game/ludo/ludo_room_data.go

+ 24 - 1
src/server/console/console.go

@@ -2,8 +2,19 @@ package console
 
 import (
 	"fmt"
+	"reflect"
+	"strings"
 )
 
+type Formatter func(any) string
+
+var formatters = map[reflect.Kind]Formatter{
+	reflect.String:  func(v any) string { return fmt.Sprintf("%s", v) },
+	reflect.Int:     func(v any) string { return fmt.Sprintf("%d", v) },
+	reflect.Float64: func(v any) string { return fmt.Sprintf("%.2f", v) },
+	// 可以添加更多类型的格式化函数
+}
+
 func Error() {
 
 }
@@ -13,5 +24,17 @@ func Debug() {
 }
 
 func Log(msg string, a ...any) {
-	fmt.Printf("%v\n", fmt.Sprintf("%v%v", msg, a))
+	builder := strings.Builder{}
+	builder.WriteString(msg)
+
+	for _, arg := range a {
+		kind := reflect.TypeOf(arg).Kind()
+		if fn, ok := formatters[kind]; ok {
+			builder.WriteString(fn(arg))
+		} else {
+			builder.WriteString(fmt.Sprintf("%v", arg))
+		}
+	}
+
+	fmt.Println(builder.String())
 }

+ 0 - 1
src/server/game/ludo/ludo_room_data.go

@@ -39,7 +39,6 @@ func (room_info *RoomInfoWrapper) getNotKickColors() []*msg.ColorData {
 		element := room_info.Colors[i]
 		if !element.IsKick {
 			temp = append(temp, element)
-			break
 		}
 	}
 	return temp