Mirki z #programowanie i #gamedev (troche #cpp ale to koncept wiec moze byc tez cos innego).

Mam aplikację do "klienta" gry, w którym outputem jest plik .exe
Ten plik .exe zaciąga jeszcze "parę" rzeczy ze skryptów .lua, które są w folderze z tym plikiem .exe (i innych rozszerzeń, ale skupmy się na .lua narazie).
Nie chcę by gracz widział te pliki .lua.
To znaczy, jeżeli chodzi o edytowanie tych plików
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@karol221-10: jestem zdanie, że jeżeli już używasz kodu, którego i tak nie wyjaśnisz (mam na myśli srand), to może już użyć C++-owej wersji schowanej w jakiejś małej, dodatkowej funkcji, okraszonej komentarzemreturns a random variable in range <0, N>

niestety metodą Copiego i Pasta spowoduje rozprzestrzenianie się takich wzorców

a co do wskaźników, warum nie użyc po prostu... referencji?

btw: https://www.youtube.com/watch?v=YnWhqhNdYyk - bardzo fajny filmik od pani Kate Gregory
  • Odpowiedz
@Metoksyfenidyna9: Kiedyś wielowątkowość, ale jak teraz są takie super biblioteki jak std::future to ez sprawa.
W sumie to sprowadza się do jednego UB. Takie rozróżnianie czy kod powoduje UB czy nie to jak problem NP trudny.
Pomijając to, to chyba najgorsze zostało dedukowanie parametrów szablonu oraz całe SFINAE.
  • Odpowiedz
@marcineckixx: Jeździsz na jakieś konferencje gdzie słuchasz o nowościach, template metaprogramming, rozmyślasz nad jakimiś abstrakcjami, w pracy utrzymujesz jakiś system napisany w C++ 98 (albo jeszcze lepiej, w części C++ wspieranej przez jakiś dziki kompilator z disclaimerami w stylu "nie używamy STL, bo nasze środowisko ma ch** implementację") przez programistów C którzy przeczytali jakąś książkę o obiektowości, a zarabiasz mniej niż gdybyś walił CRUDy w Springu ( ͡° ͜
  • Odpowiedz
@Metoksyfenidyna9: Ten 3 sposób jest prostszy w wytłumaczeniu. Działa tylko przy założeniu, że tablica jest posortowana. Bierzesz pierwszy i ostatni element, jeżeli suma jest za duża, to odrzucasz ten większy na końcu, jeżeli za mała, to ten mniejszy na początku i tak lecisz, dopóki nie znajdziesz szukanej sumy lub nie zostanie ci jeden element.
Co do 2 to musisz wiedzieć, co to jest wyszukiwanie binarne. Więc bierzesz pierwszy element i
  • Odpowiedz
@Alfa_ale_Beta: Ja bym szukał w pętli, prawdopodobnie wyjeżdżasz poza zakres tablicy.

Taki mały hint, jak definiujesz tablicę np. 4 elementową to ona ma zakres od 0 do 3. Jak zrobisz tab[4] to właśnie wyjeżdżasz poza zakres.

Dodatkowo w 17 i 18 linii możesz zrobić if'a i od razu ustawić j = srodek, analogicznie w następnej pętli
  • Odpowiedz
Szybkie pytanie, rzuci ktoś okiem na moje zadanie domowe z #cpp, program ma tworzyć dynamiczną tablicę i ją posortować. Wydaje mi się, że chyba wszystko dobrze zrobiłem... program się kompiluje i nawet działa

https://pastebin.com/ZX0QZH2D
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

alokuje pamięć, potem mam switcha, przechodzi do jednej opcji, potem wraca, znowu alokuje znowu wykonuje kod, znowu alokuje itd aż do przepełniania stosu? w którym miejscu mam zwolnić pamięć żeby było lepiej? czy mogę zwolnić pamięć w każdym switchu chociaż alokuje ją tylko jeden raz? Kompiluje się bez błędu, ale gdzieś czytałem, że jeden new() - jeden delete ()

@Akira: dlatego ludzie wymyślili coś takiego jak smart pointery
  • Odpowiedz
Siema Wykopki! ( ͡° ͜ʖ ͡°) Mamy dla Was nowe #cppnews, czyli #nowinki ze świata #programowanie w #jezykc i #cpp ( ͡ ͜ʖ ͡)

https://cpp-polska.pl/post/cppnews-55-2801-03022019 ()

W tym tygodniu znajdziecie linka do wszystkich proposali przed najbliższym spotkaniem komisji standaryzacyjnej - wyszczególniliśmy dla Was wszystkie te,
CppPolska - Siema Wykopki! ( ͡° ͜ʖ ͡°) Mamy dla Was nowe #cppnews, czyli #nowinki ze ...

źródło: comment_b4TQFq7RyYf5A636ujB7e2CUCzRUtVw5.jpg

Pobierz
  • 22
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej, takie szybkie pytanko ;)
Kombinuję w jaki sposób mogę użyć funktora aby policzyć ilość liter w stringu. Utknąłem w takim momencie. Ktoś pomoże, rozjaśni czy dobrze kombinuję?

Wiem, że ostatni argument count_if powinien być wywołany inaczej to na pewno.
W jaki sposób ma być wywołany, i czy jako argument ma może przyjmować zadeklarowany wskaźnik do iteratora?

https://pastebin.com/c67RcKwN
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Metoksyfenidyna9: Stwórz obiekt tej struktury ischar i ten obiekt podaj jako ostatni argument w count_if. Poza tym w tych wszystkich funkcjach z argument powinno się rzutować na unsigned char żeby uniknąć UB.
  • Odpowiedz
set posiada metodę count, która mówi ile razy wsadziłeś ten sam element, co może byc przydatne, jak chcesz licznik


@Saly: objection, w secie count zwraca tylko 1(jak jest) i 0(jak nie ma)

dla takiego licznika używa się std::map z operatorem []++
  • Odpowiedz
@JakTamCoTam: tak chcę bez inicjalizacji nowego obiektu Konto, móc wypisać imie i nazwisko wlasciciela KOnto Plus. Czy to możliwe w ogóle przy takim zapisie? , bo nie chce mi się tyle scrollować do nauki

//edit
Zmienić zmienne klasy bazowej z private na protected?
  • Odpowiedz
#cpp #naukaprogramowania
Piszę słynne Tanki (Battle City) i nie mam pojęcia jak zabrać się za poruszanie przeciwnikami. Gdy próbuję co pętlę losować kierunek to zachowują się jakby miały padaczkę.

Jakieś hinty jak się za to zabrać?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam problem z wyobrażeniem sobie jakie powinny być klasy w przykładowym programie chociażby do obsługi turniejów bilardowych czyli tworzenie meczy, turniejów, ranking zawodnikow, statystyki wygranych przegranych itp itd.
Czy znacie przykłady z jakich klas tworzone są programy i jak się łączą?
#naukaprogramowania #programowanie #cpp #glupiepytaniametoksyfenidyny
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@kebab-case: Typowy błąd programisty w pierwszej fazie fascynacji wzorcami obiektowymi. Sranie wszędzie abstrakcyjnymi fabrykami i strategiami. A potem i tak się okazuje, że to, co miało się zmieniać razem - zmienia się oddzielnie, a to, co miało być od siebie niezależne - musi teraz być zależne. I zamiast skasować 10-linijkowego if-then-else, którego możesz przeczytać i zrozumieć w całości w 5 minut, i napisać innego, którego też możesz zrozumieć w całości
  • Odpowiedz
@kebab-case: widzisz, to są problemy do rozwiązania. Niektóre z nich wymagają wzorców. Większość nie :)

Np. sensowna implementacja sortowania nie wymaga wzorca strategii, tylko lambd (funkcji anonimowych, domknięć, jak zwał, tak zwał). Nawet powiedziałbym, że stosowanie wzorca strategii w tym przypadku to błąd.

Wzorzec strategii to zwykle rozwiązanie problemu domknięć w języku programowania. Ale w c++ już są, więc wzorzec strategii powoli odchodzi do
  • Odpowiedz
Treść przeznaczona dla osób powyżej 18 roku życia...
  • 36
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

1) Czy rozpoznasz phishing od prawdziwego maila? - zabawa od Google


@imlmpe: Trochę dziwny jest ten quiz. Z jednej strony dobrze że uczy prawidłowych zachowań a z drugiej strony pokazuje że dropbox używa innej domeny do komunikacji i trzeba ją wcześniej sprawdzić żeby wiedzieć że jest ok. To chyba trochę odwrotny kierunek promowania promowania zachowań. Ludzie mogą nabrać podobne zachowania przy innych serwisach. Moim zdaniem powinni promować jedną spójną domenę
d.....s - > 1) Czy rozpoznasz phishing od prawdziwego maila? - zabawa od Google

@i...

źródło: comment_lvqrxMImwpaB9FIYN4zNkU6mGp9ZFfyT.jpg

Pobierz
  • Odpowiedz
@imlmpe: na końcu tego quizu powinni dodać link do jakiejś strony na domenie tinyurl jako odnośnik "dowiedz się więcej" i zdenerwować się na użytkownika że nic się nie nauczył ( ͡° ʖ̯ ͡°)
  • Odpowiedz