Cześć Mirki, potrzebuję pomocy.

Muszę napisać funkcję, która będzie spawnowała pewnego mobka na serwerze. Funkcja spawnuje go w prostokącie ograniczonym koordynatami(pierwsze 4 zmienne w kodzie). Ale żeby nie było za łatwo to w tym prostokącie są dwa kolejne i mobek nie może w nich wylądować.
W tym celu napisałem funkcje, które losują po prostu koordynaty odpowiednio x i y w podanym zasięgu min max i następnie kolejna funkcja sprawdza, czy wylosowany koordynat
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@dodzik: Pamiętaj, że każdy spawn musi się odwołać do siatki - bo być może przy nierównym terenie, postać może się zbugować. A nie daj boże twoj skrypt będzie informował poprzez konsolę, że jest bład przez co aplikacja może się zbugować lub serverlog będzie przepełniony i maszyna z czasem bedzie mulić.
  • Odpowiedz
To jakieś zadanie domowe, gdzie współrzędne to zapewne inty, do tego relatywnie małe?

Ja bym pokombinował tak:
1. Oblicz int s = pole powerzchni obszaru w którym losujesz (pole obszaru - pole obszarow wylaczonych + pole czesci wspolnej obszarow wylaczonych)
2. Wylosuj liczbe n = od 1 do s
3. Znajdz n-ty punkt na planszy (uwzgledniajac wylaczone obszary, łatwo ale pewnie niezbyt wydajnie będzie po prostu skanować wierszami)
  • Odpowiedz
Mirki! Zaczynam naukę programowania i coś nie działa w moim programie do zamiany niechcianych słów. 1sza pętla wykonuje się bez problemu, ale drugą pomija ( po wciśnięciu ctrl+z żeby wyjść z tej 1szej pętli). Nie wiem co jest tu nie tak. ()

Kod programu

  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@K5HV: GDB is your friend! A jak masz Windowsa to użyj Visual Studio. Super się w nim debuguje.

Edit:
W którym miejscu funkcji dopisujesz na końcu ciągu znakowego '\0' ?
  • Odpowiedz
jeśli jesteś bardzo początkujący to symfonia jest spoko, ogarniesz na jakiej zasadzie działają pętle, klasy, obiekty, dziedziczenie itp.


@zygmunt_III_waszka: a przy okazji świeżego programistę uczy złych nawyków i podejścia do C++ sprzed parunastu lat.
  • Odpowiedz
Jakich pluginów używacie do programowania? Niestety jestem zmuszony do korzystania z VIM'a, a nie wiem jakie pluginy są przydatne. Na wielu filmikach widzę, że mają coś w stylu intellisense (instalowałem YouCompleteMe, ale niezbyt mi pasuje jego praca), przełączają sprytnie między bufferami, jednym przyciskiem zmieniają pomiędzy plikiem .cpp i .h o tej samej nazwie. Szukałem po necie za pluginami, ale jakoś nie mogę znaleźć nic konkretnego. Może ktoś z Was by mógł podrzucić
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@siwersss: Aby kombajn był rozbudowany musi posiadać jakieś funkcje w przypadku Vima czym emcasa (czy jak mu tam) bez plugingów czy zewnętrznych programów to są mało wartę edytory które obok nawet zwykłego małego IDE nie mogą stanąć.
  • Odpowiedz
@KrzaQ2: Korzystam, ale nie zauważyłem. Dużo miałem podkreśleń z uwagi na anglojęzyczne zwroty i się wtopił ten błąd. Nie mniej jednak, dziękuje za zwrócenie uwagi w sposób całkiem kulturalny.
  • Odpowiedz
No nie wiem. Napieprzanie makrami, zewnętrzne narzędzia do prekompilacji kodu = kolejne zaleƶności (w uƶyciu jest sed, ciekawe czy testy na windows wypadły pomyślnie). Do tego stwierdzenia wyraźnie nieprawdziwe w readme, np:

Without symbols (or other similar constructs), it is not possible to write such a generic print_member function. Without, one would have to write the three version accessing the three different members.
  • Odpowiedz
Używam #qt Creator i robię sobie appki w #cpp ale strasznie męczące jest podpinanie czegokolwiek pod bazę danych bo nie ma takiego czegoś jak Entity Framework pod #csharp i trzeba ręcznie... w sumie to część odpowiedzialna za bazę danych zawsze zajmuje najwięcej linijek, paranoja. Może źle używam QSql ale nie ma tak fajnie jak pod MSVS gdzie robisz model, a on się tam dalej dzieje sam.
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki, piszę Arkanoida i mam problem z funkcją tworzenia formy. Mianowicie mam tam tworzenie pierwszego levelu, który chciałbym wrzucić do osobnej funkcji, a w FormCreate wywoływać tylko odpowiednią funkcję jakimś ifem. Niestety przy samym tworzeniu funkcji od levelu błędy się sypią jak domki w Afganistanie. Ma ktoś pomysł jak by to mogło wyglądać?
tl;dr
Jak te 3 fory z kodu wrzucić w osobną funkcję i wywołać w FormCreate?
http://pastebin.com/BRv0v9tY
#naukaprogramowania
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp jeśli chcę stworzyć np. licznik ilości instancji danej klasy, to z czego powinienem skorzystać ? ( myślałem o stworzeniu static inta w klasie a następnie inkrementowaniu go przy każdym wywołaniu konstruktora, ale nie chce działać )
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #cpp #pytanie

Czy mogę tak przeładować w c++ jakiś operator żeby wynik działania działał na obydwa argumenty a nie dawał wyniku końcowego?
Przykładowo chciałbym mieć klasę MyClass z przeładowanym operatorem (np "||" ) w taki sposób że jak wykonuje działanie z tym operatorem na dwóch obiektach A i B tej klasy to zmienia mi się właściwość obiektu A i obiektu B ale żadnego wyniku nie
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PanCogito: Od Ciebie zależy jak przeciążysz operator, ale jedna z dobrych praktyk mówi że przeciążone operatory powinny być intuicyjne. możesz przeciążyć '||' np. tak:

struct MyClass{
int x;
void operator ||(MyClass& rhs){
this->x = rhs.x
  • Odpowiedz
@PanCogito: nie opłaca się liczyć na cpu który region ekranu się zmienił, bo gpu i tak nic nie robi.
Dla gpu to czy odrysujesz 1/4, czy 1/2 ekrany czy cały ekran nie praktycznie znaczenia. Po co grzać cpu jak gpu śpi?
Oczywiście biblioteka której używasz musi rysować przy użyciu gpu. Stary SDL na przykład rysował tylko i wyłącznie na cpu i tam faktycznie mogło opłacać się sprawdzać co się zmieniło.
  • Odpowiedz
Mircy. Od jakiegoś czasu ciągnę pewien projekt.
Finalnie będzie tak, że do przeszukania oczywiście jak najszybciej, ale w okolicach 1/2, 1/3s będzie kilkanaście tysięcy rekordów z dokładnością 1.5.
Narazie siedzi szukanie binarne, ale boję się, że dla większych ilości danych to po prostu nie wyrobi w takim czasie.
I teraz pytanie:
Jak ma się wydajność SQL'a w przeszukiwaniu?
Jeżeli jest to jakoś opłacalne to implementowałbym w projekcie pisanym w C++.
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

zastanawiam się czy jest wystarczająco szybki.

@Wyrewolwerowanyrewolwer: Najpierw profilowanie, potem optymalizacja. Dla 13 tysięcy rekordów możesz wykorzystać nawet przeszukiwanie O(n) i współczesny procesor da radę.
W JS (znacząco mniej wydajnym niż C++) policzenie odległości losowo wybranego punktu do 20 tysięcy innych losowo wybranych punktów zajmuje na moim komputerze 60ms.
Jeśli martwisz się o problemy z wydajnością przy większej ilości danych - SPRAWDŹ. Wprowadź jakieś losowe dane i sprawdź ile zajmuje
  • Odpowiedz
QtCreator zżyna z KDevelopa


@patrolez: no chyba nie bardzo. KDevelop bazuje na Kate, a QC nie ma nic wspólnego z Kate. KDevelop jedynie podobnie wygląda i zachoduje się do QtCreatora, ale nie dzielą kodu.
  • Odpowiedz