Chciałbym podzielić się z Wami zmianami, które wprowadziłem w funkcji Create, odpowiedzialnej za tworzenie nowych postaci.
Opis zmian:
Wyodrębnienie Generowania UID
W poprzedniej wersji funkcji Create, generowanie UID odbywało się przez funkcję GetCRC32, która była podatna na kolizje. Zamiast tego, zdecydowałem się na wykorzystanie identyfikatorów UUID.
UUID (Universally Unique Identifier) to unikalny identyfikator generowany losowo. Jest on znacznie mniej podatny na kolizje niż zwykły ciąg znaków CRC32.
Zalety korzystania z UUID
Unikalną identyfikację postaci/potwora pozostaje stały niezależnie od tłumaczenia nazw potworów na różne języki.
UUID pozostaje niezmieniony, nawet jeśli format nazwy potworów ulegnie zmianie (np. dodanie/usunięcie spacji).
Zaktualizowana klasa VID
Klasa VID teraz przechowuje identyfikator UUID zamiast CRC32.
Identyfikatory CRC32 są generowane na podstawie nazwy postaci są one podatne na konflikty, jeśli nazwy postaci są podobne. Identyfikatory UUID są generowane losowo i są zawsze unikalne.
Cześć,
Chciałbym podzielić się z Wami zmianami, które wprowadziłem w funkcji Create, odpowiedzialnej za tworzenie nowych postaci.
Opis zmian:
Wyodrębnienie Generowania UID
W poprzedniej wersji funkcji Create, generowanie UID odbywało się przez funkcję GetCRC32, która była podatna na kolizje. Zamiast tego, zdecydowałem się na wykorzystanie identyfikatorów UUID.
UUID (Universally Unique Identifier) to unikalny identyfikator generowany losowo. Jest on znacznie mniej podatny na kolizje niż zwykły ciąg znaków CRC32.
Zalety korzystania z UUID
Zaktualizowana klasa VID
Klasa VID teraz przechowuje identyfikator UUID zamiast CRC32.
Identyfikatory CRC32 są generowane na podstawie nazwy postaci są one podatne na konflikty, jeśli nazwy postaci są podobne. Identyfikatory UUID są generowane losowo i są zawsze unikalne.
Aktualizacja typów dla argumentu:
const char * c_pszName ➡️ std::string_view displayName
Wymagane:
Minimalny standard: C++17
Implementacja:
📂 Lokalizacja pliku: 'game -> char.cpp'
➕ Dodaj wyżej nową funkcję:
🔍 Szukaj
♻️ Zamień
📂 Lokalizacja pliku: 'game -> char.h'
🔍 Szukaj
➕ Dodaj wyżej nową funkcję:
🔍 Szukaj
♻️ Zamień
📂 Lokalizacja pliku: 'game -> vid.h'
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
🔍 Szukaj
♻️ Zamień
📂 Lokalizacja pliku: 'game -> stdx.h'
➕ Dodaj