Skocz do zawartości

Jastrząb

Stały użytkownik
  • Postów

    57
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Jastrząb

  1. ASP.NET jest odpowiedzialne za tworzenie strony po stronie serwera więc technologia ta nie będzie tutaj zbytnio pomocna. Aby uzyskać powyższy efekt należy napisać skrypty JS które będą uruchamiane podczas ruchu myszy oraz kliknięcia.
  2. Na 90% oba sposoby (w tym konkretny przypadku) po skompilowaniu będą wyglądały w ten sam sposób (mam na myśli wynikowy kod maszynowy) - a to z prostego względu, tablice w sposobie 1 będą zajmowały ciągły obszar pamięci (stos) - tak samo jak w sposobie 2. Napisałeś że to program w c++, a jedyne z czego skorzystałes to strumienie i deklaracja zmiennych w środku funkcji. Osobiści wole "garbate" nazwy funkcji i zmiennych (podkreślniki używam w innych przypadkach np. w nazwach stałych), czyli napisałbym np. void WprowadzMacierz(int**, int, int); i z tego co obserwuje to jest to bardziej popularna praktyka - ale każdy pisze tak jak lubi (no chyba że pracuje w zespole :) ) - chciałem pokazać tylko inny sposób nazewnictwa Macierze mają stały rozmiar, przez co ograniczasz użytkownika do macierzy maksymalnie 10 x 10, użyłbym alokacji dynamicznej (new [] i delete []) (kmac) && (wmac) - miałeś chyba na myśli (kmac > 0) && (wmac > 0) - (kmac) zwróci true dla każdej wartości różnej od 0 (dla ujemnych również) Parametr int macierz[][10] zamieniłbym na int** macierz macC jest niepotrzebnie zerowana Jeżeli nie zależy Ci na zwróconej wartości podczas inkrementacji/dekrementacji "++"/"--", a jedynie dbasz o zmiane wartości zmiennej to zalecałbym stosowanie symbolu przed nazwa zmiennej (++zmienna), będzie szybcie (tutaj nie będzie widać różnicy, ale przy dużych obiektach i wielu operacjach da się to odczuć) - ! pamiętaj że zwrócone wartości się różnią i nie wszędzie da się to zastosować Działanie na macierzach napisałbym w formie klasy - jest to dużo czytelniejsza i wygodniejsza(pod każdym względem) forma
  3. Może jest ambitny - to dobrze. Pozatym, jeżeli chciałby dostać się do aplikacji to pewnie użyłby debuggera bez chwalenia się tym publicznie. Ale chyba już wystarczy tego offtopa
  4. Jeżeli na tym polega "hakierstwo" to 80% programistów "hakierami" jest.... c (ddk nie wspiera c++) i asm'a x86 większość programistów zna, więc napisanie programu trybu jądra nie powinno stanowić większego problemu, a hook? - jeden call lub dwa skoki z przywróceniem paru instrukcji - "hakierstwo na światową skale"
  5. Zależy na jakim etapie chcesz to monitorować i czy chcesz/możesz dokonywać modyfikacji plików tej gry. Tak na szybko co mi przychodzi do głowy to: Loader - sprawdzenie hasha i upewnienie się że gra odpala się przez loader Filtrowanie modułów procesu Filtrowanie wątków procesu Podpięcie swojego procesu jako debugger - /edit/ jedynie jeżeli chcesz komuś utrudnić "rozpracowywanie gry" Hook na OpenProcess i/lub WriteProcessMemory Oczywiście nie ma możliwości 100% ochrony, pozostaje jedynie kwestia pewnego utrudnienia/zniechęcenia lub przeciwnie zachęcenia jeżei ktoś lubi się w to bawić. Aha zakładam że mówimy o środowisku windows.
  6. Jako 3 parametr w make_heap() użyj std::greater<typ_sortowany>()
  7. Jastrząb

    C# Tablice

    Nie jestem pewien czy dobrze zrozumialem ale masz w bazie 2 kolumny (Imie, Nazwisko) a w programi masz je polaczone (1 kolumna - "Imie i Nazwisko") Jezeli tak to spokojnie mozesz wysylac zapytania do bazy SELECT count(*) FROM(SELECT RTRIM(Imie) + ' ' + RTRIM(Nazwisko) AS 'ImieNazwisko' FROM tabela)QWHERE Q.ImieNazwisko = 'Jan Kowalski'
  8. try {//tutaj uzyj new}catch (const std::bad_alloc& e) {printf("\nException: bad_alloc");}
  9. po pobraniu porcji danych sprawdzaj stan strumienia przy uzyciu cin.good() lub cin.fail() (sa tez inne metody, ale te sa tutaj na miejscu), pierwsza z nich zwraca true gdy wszystko jest ok, druga gdy ustawiony jest bit bad lub fail. Po obsluzeniu bledu uzyj cin.clear() w celu zresetowania bitów stanu //...cin >> zmienna;if (!cin.good()) {printf("\nBlad");cin.clear();}//...
  10. Jastrząb

    World In Conflict

    Polska scena lezy - ok 5 aktywnych klanow Scena swiatowa sie trzyma dobrze, spokojnie mozna zagrac klanowki 5v5 po 19, pozatym ostatnio wzroslo zainteresowania z powodu turnieju na esl'u Linki do listy druzyn bioracych w nich udzial zamieszczam ponizej http://www.esl.eu/eu/wic/wc/5on5/pro_signu...base/members/*/ http://www.esl.eu/eu/wic/wc/5on5/fun_signu...base/members/*/ Jezeli interesuje Cie gra tylko na publicu (nie polecam) to tez nie ma problemu z serwerami, problem za to jest z poziomem gry na nich Spolecznosc jest dobrze nastawiona - nie ma chamstwa znanego z publicow CoD4 i CoHa (widzialem pare demek z nieciakawymi komentarzami) - wyjatki oczywiscie sie zdarzaja Btw ilosc rozgrywanych meczy dziennie mozna sledzic na stronie http://wictracker.com/24/ - notowane sa tutaj tylko mecze rankingowe, ok drugie tyle rozgrywane jest jako nierankingowe mecze na serwerach prywatnych lub tzw match mode btw w przeciagu miesiaca wychodzi dodatek i bedzie mozliwosc kupna podstawki z dodatkiem w zestawie btw2 jezeli chcesz pograc duzo klanowek to z polskich klanow polecam klan g3686, wczesniej znany jako mushroomhead - obecnie graja tam gracze z mush i 2a
  11. Jastrząb

    World In Conflict

    Jedyne polskie forum WiCa ktore jeszcze istnieje to wic.gram.pl, ale chyba nikt tam nie zaglada Jezeli chodzi o jakas gre, to pisze sie na 4v4 i 5v5 :) - moj nick to Jastrzab lub obecnie czesciej uzywany °Hawk°
  12. Jastrząb

    World In Conflict

    Steam'a nie mam, w WiCa gram bardzo czesto - nick w grze mam taki sam jak tutaj ;)
  13. Jastrząb

    World In Conflict

    Mam mała prosbe o 2 klucze trial, chcialbym wciagnac pare osob na multi ale potrzebuje dla nich zachety :) Jezeli ktos takowe posiada to prosilbym o PM Dziekuje Btw Massive zostalo wykupione przez Ubisoft razem z prawami do World in Conflict wiec dodatek powinien wyjsc na poczatku przyszlego roku
  14. powinno byc chyba tak: random(prawy-lewy+1)+lewy;
  15. jezeli bedie tak ze: lewy = 5 prawy = 11 to (lewy+prawy)/2 <> random(lewy+prawy) poniewaz w pierwszym wypadku wynikeim bedzie 8 a w drugim jakas liczba od 0 do 15 wlacznie
  16. jezeli dasz random(lewy+prawy) to zosatnie wylosowana liczba z zakresu od 0 do (lewy+prawy-1), wiec jezeli lewy wynosi 5 to moze trafic na liczbe x ktora nie spelnia warunku lewy<x<prawy btw jezeli stosujesz funkcje random to w programie musisz takze zastosowac procedure randomize (najlepiej ja dac w onCreate formy)
  17. napisz w czym problem, nie mam teraz zbytnio czasu, jedyne co zaowazylem to to ze mozesz zaoszczedzic troche pamieci stosujac przekazanie paremetru do procedury przez adres Procedure quicksort(var Lewy, Prawy: integer);
  18. sciagne sobie Delphi Personal to sprawdze ten algorytm co dalem, lecz niestety przy moim laczu zdaze chyba dopiero na poniedzialek/wtorek. Ponizej zamieszczam kod do genereacji ciag rowniez pisany z glowy for i:=0 to (ilosc_el div 2) do Tab[i]:=i; Tab[ilosc_el] := (ilosc_el div 2)+1; for j:=ilosc_el-1 downto (ilosc_el div 2)+1 do Tab[j]:=Tab[j+1]+1;
  19. a teraz?
  20. a w ktorej linijce jest blad? Blad moze byc w pobraniu zmiennej przez funckej bo juz nie jestm pewny jak przekazywalo sie tablice w delphi ---edit--- nie jestem pewny ale tablica ktora przekazujesz musi byc zmienna globalna, a jak nie to pokaz cale zrodlo ---edit2--- poprawilem kod gdyz mial pare bledow, przekopij go jeszzce raz
  21. na szybko napialem funkcje, wiec moze zawierac bledy. Nie mam jej jak przetestowac bo narazie nie dysonuje srodowiskiem. Wszytsko pisane z glowy. function sortuj(var tabliczka : array of integer):boolean; //tabliczka to tablica do wysortowaniavar temp : array of integer; i, k : integer; pozycja : integer;begin pozycja:= 0; SetLength(temp, 1); for i:= Low(tabliczka) to High(tabliczka) do //sporzadzenie pomocniczej tablicy begin if Length(temp) < tabliczka[i]+1 then begin SetLength(temp, tabliczka[i]+1); tabliczka[i] := 1; end else Inc(temp[tabliczka[i]]); end; for i :=0 to High(temp) do //wysortowanie begin if temp[i] > 0 then for k:= 1 to temp[i] do begin tabliczka[Low(tabliczka) + pozycja] := temp[i]; Inc(pozycja); end; end; if pozycja+1 = length(tabliczka) then //True jezeli sie wszystko wysortowalo Result:=True else Resul:=False;end;
  22. nie mam teraz zbytnio czasu na szczegoly ale takie szybkie pytania co to jest ilosc_el a z timerme to zorb tak ze ustaw interval na 500 pod przycisk daj uruchomienie procedury sortujacej, oraz uruchomienie timera w prcedurze sortujacej daj jakas zmienna boolean ktora informuje o tym ze sortowanie sie skonczylo a w ontimer if koniec then Timer.Active:= false; //koniec to zmienna informujaca o koncu sortowania aha w ontimer musisz dac jeszcze zmienna integer ktora zlizca wystapienie tej procedury i na koniec mnozysz ilosc wystapien przez interval, dzielisz przez 1000 i masz czas w sekundach ps dlugo nic nie pialem to moga byc bledy a pisalem to z glowy
  23. jezeli chodzi o zegar to uzyj timera z odpowiednim intervalem, a sortowalbym przy uzyciu algorytmu opartego na metodzie dziel i zwyciezaj
  24. Jezeli ma byc to tez widoczne dla uzytkownika a program ma byc graficzny to zamiast richedita uzywaj memo mysle ze bedzie to szybsze niz stringgrid ale nie spodziewaj sie ze wypelnisz to w pare sekund
  25. Jackuzy aby tak to podpiac nalezy miec jeszzce jakis dodatkowy kontroler, czy wustarcza sama matryca? Pozatym jaka glebie koloru mozna osiagnac, i czy kolory sa takie jak powinny byc, czy sa jakies przebarwienia tak jak na Twoich fotkach
×
×
  • Dodaj nową pozycję...