Skocz do zawartości
Masz już aplikację Sharegon?

Odkryj wszystkie możliwości. Dowiedz się więcej

Sharegon.pl

Zainstaluj aplikację Sharegon i korzystaj z powiadomień push oraz licznika nowych aktywności bezpośrednio z ekranu głównego.

Aby zainstalować tę aplikację na iOS i iPadOS.
  1. Tap the Share icon in Safari
  2. Przewiń menu i stuknij Dodaj do ekranu początkowego.
  3. Stuknij Dodaj w prawym górnym rogu.
Zainstaluj aplikację Sharegon na Androidzie
  1. Otwórz Sklep Google Play na swoim smarfonie.
  2. Wyszukaj „Sharegon” w pasku wyszukiwania.
  3. Stuknij „Zainstaluj”, aby pobrać aplikację.

Naprawa błędu yang buga w systemie budowania terenu Gildii

Nieaktywny

Featured Replies

Opublikowano

image.png.a144663d4007d16872d3413c4a1a8bf3.png

 

Cześć,

 

W systemie budowania terenu gildii zidentyfikowałem błąd, który może prowadzić do wystąpienia tzw. yang buga.

 

Problem leży w funkcji 'PointChange', a dokładniej w obsłudze zmiennej 't->dwPrice', będącej liczbą typu DWORD, czyli liczbą całkowitą bez znaku. Kluczowy jest tutaj sposób, w jaki odbywa się operacja odejmowania. Gdy odejmujemy wartość typu DWORD od innej liczby bez znaku, może to prowadzić do generowania nieoczekiwanych wyników. W naszym przypadku, gdy 't->dwPrice', będące liczbą bez znaku, jest odejmowane od ilości yang gracza (przyjętej za liczbę całkowitą), może to skutkować sytuacją, gdzie yang gracza staje się wartością ujemną.

 

Aby rozwiązać ten problem, kluczowe jest jasne określenie typów danych używanych w operacji. Rozwiązanie polega na rzutowaniu 't->dwPrice' na typ całkowity przed wykonaniem operacji odejmowania. Dzięki temu, oba operandy w działaniu są traktowane jako liczby całkowite, co zapobiega pojawianiu się błędnych wartości i wyklucza ryzyko wystąpienia yang buga.

 

Ten błąd występuje podczas uruchomionego trybu testowego więc nie jest bardzo szkodliwe, ale warto naprawić. 

 

Implementacja:

📂 Lokalizacja pliku: 'game -> cmd_gm.cpp'

 

🔍 Szukaj

🔐 Ukryta Treść 🔐

 

🔐 Ukryta Treść 🔐

 

♻️ Zamień

🔐 Ukryta Treść 🔐

 

 

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Konto

Nawigacja

Skonfiguruj powiadomienia push w przeglądarce.

Chrome (Android)
  1. Stuknij ikonę kłódki obok paska adresu.
  2. Wybierz Uprawnienia → Powiadomienia.
  3. Dostosuj swoje preferencje.
Chrome (Desktop)
  1. Kliknij ikonę kłódki na pasku adresu.
  2. Wybierz Ustawienia witryny.
  3. Znajdź Powiadomienia i dostosuj swoje preferencje.