-
Postów
3 205 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
4
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez Ranmus
-
Oriental, zostaw te no-ip w spokoju, bo na razie to Ci niepotrzebne i nic nie da. Przeczytaj co napisałem w poprzednim poście.
-
Po pierwsze można wiedzieć po co do hostowania gier GM'a potrzebny mu Apache lub FreeBSD? A po drugie Neostrada zawsze daje zew. ip. (co prawda zmienne, ale to akurat pół biedy, wręcz nieznaczący szczególik). Oriental, weź się ich nie słuchaj. :) Kłopot w tym, że masz ten router. Nie znam się na tym, ale możesz napisac dokładnie co to za router? Ma on jakiś panel sterowania? Na tym routerze trzeba by było przekierować jakiś wybrany port (ten z którego gra będzie korzystała) na twój komputer.
-
A to musi być koniecznie karate?
-
No właśnie, chcesz karatekować, zapisz się na treningi. Z takiego poradnika mało co się nauczysz, bo niby kto Ci powie czy przyjmujesz właściwą postawę itd. Bez trenera się nie obejdzie. :)
-
@Blackmaul & Vardi: Exactly Dodam jeszcze coś od siebie. @matis3: Dlatego ponieważ w większości przypadków to albo ich twórzość własna, a jak już podpierają się przykładami, to i tak wnoszą coś swojego. Jeżeli ktoś robi bubla ale całkowicie sam, to ja wtedy SZANUJĘ jego pracę, mimo że jest bardzo niskich lotów. Każdy w końcu ma jakieś początki, prawda? Ja na początku nie znając PHP, nie stawiałem żadnych stron / gier na gotowcach. Pierwsze co zrobiłem, to przeczytałem jakiś kurs PHP + jego dokumentacja oraz popatrzyłem jak niektóre rozwiązania są realizowane w niektórych skryptach oraz bawiłem się nimi na localhoście. Na podstawie takiej wiedzy stworzyłem pierwszą stronę w php -> gmclan. Dopiero po 4 miesiącach (jako że to był mój pierwszy prawdziwy skrypt w php - był cieńki) zamieniłem ją na gotowca (jportal) jako tymczasowy silnik na poczekaniu do nowego skryptu (który aktualnie jest teraz na stronie - z rocznym poślizgiem). Nie bronię PROXX'owi stawiania Vallehru, ale bez przesady, jak się nie zna PHP, to trzeba się wziąść za coś łatwiejszego, inaczej wyjdzie kolejna schematyczna gra, ponieważ nie będzie w stanie jej ładnie zmodyfikować. To tak jak z zalewem for hostowanych na fora.pl oraz portali php-fusion na yoyo.pl, których i tak prawie nikt nie odwiedza. Zero oryginalności, zero innowacji. Gotowe skrypty sa dobre jak się potrafi je dobrze konfigurować. Sam miałem ostatnio chętkę postawić gmclan na drupal czy jakimś joomla i zmodyfikować tak by nikt nie poznał (ale porzuciłem ten pomysł).
-
Jest dobrze i niczego nie zmieniaj. Wydajności nie tracisz prawie w ogóle, chyba że to strona na tysiące osób online na raz. Jedyny sensowny sposób na zoptymalizowanie tego to cache'owanie zapytań (np. silnikiem memcached). A jeśli chodzi o php, to tutaj fajna biblioteka: http://openpb.net/opd.php Tylko pamiętaj, że cache'owanie wymaga wprowadzenia dodatkowej kontroli "świeżości danych".
-
@Proxx: Weź te Vallehru i wywal z kompa. Nie rób kolejnej śmieciowej gry na tym samym schemacie niepotrzebnie zawalającej internet. Dodatkowo nie znając się na php, to to już w ogóle jest nieśmieszne. Ludzie, nie bierzcie się za coś, na czym nie macie żadnego pojęcia.
-
Można wiedzieć po co zakładasz drugi ten sam temat? Pisałem wyraźnie na maila, że jutro napiszę prawidłowy algorytm... Następnym razem jak zrobisz coś takiego, to będzie ostrzeżenie i wywalę temat. Tymczasem masz, napisałem (a za poprzednie algorytmy nawet mi nie podziękowałeś...): using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tablica { class Program { static void Main( string[] args ) { // Otwieramy plik do odczytu FileStream plik = new FileStream( "dane.txt", FileMode.Open ); StreamReader odczyt = new StreamReader( plik ); // Odczytujemy pierwszą linię (jako string) a następnie rozbijamy na tablicę przy użyciu metody Split i separatora ' ' string[] zakres = ( odczyt.ReadLine() ).Split( ' ' ); // Inicjalizujemy tablicę wielowymiarową typu poszarpana (jagged array) int[][] tablica = new int[zakres.Length][]; // Powtarzamy pętlę tyle razy ile jest liczb w pierwszym wierszu pliku for ( int i = 0; i < zakres.Length ; i ++ ) { // Konwertujemy liczbę z formatu tekstowego int k = int.Parse( zakres[i] ); // Tworzymy nową podtablicę o odpowiedniej wielkości tablica[i] = new int[ k ]; // Odczytujemy linię i natychmiast rozbijamy ją jak wcześniej pierwszą linię string[] liczby = ( odczyt.ReadLine() ).Split( ' ' ); // Powtarzamy tyle razy pętlę ile jest liczb (teoretycznie, ponieważ w pierwszej linii ktoś może nakłamać z liczbami) for ( int j = 0 ; j < k ; j++ ) { // Przypisujemy odpowiednią wartość tablica[i][j] = int.Parse( liczby[j] ); } } //Sprawdzamy prawidłowość powyższego algorytmu: for ( int i = 0 ; i < tablica.Length ; i++ ) { Console.WriteLine( String.Format( "Ilość liczb w wierszu {0}: {1}", i+1, tablica[i].Length ) ); string liczby = ""; foreach ( int k in tablica[i] ) { liczby += k + " "; } Console.WriteLine( liczby + "\n" ); } Console.WriteLine( "Zakończono odczyt, naciśnij jakiś klawisz..." ); Console.ReadKey(); } } }
-
Tak, masz rację, pośpieszyłem się, przyznaję się bez bicia. :) Ale nie tylko ja się pomyliłem. Otóż prawnie mogą być dwie firmy o takich samych nazwach i takim samym profilu o ile nie działają w tych samym regionie, ponieważ byłoby to mylące dla klientów. Krótko mówiąc iv!n ma prawo zrobić grę Myth Online, bo nie zachodzi kolizja z poprzednią serią gier innego producenta oraz nie używa się już tej nazwy czyli MYTH już jest wolne. Poza tym wyrazy potoczne nie są tak samo chronione jak wymyślone, więc Twoje twierdzenie o rejestracji FOOTBALL jest błędne. Jeżeli ktoś by zarejestrował tą nazwę, to żeby ją utrzymać musiałby wydawać jakąś serię gier o tym tytule do dnia dzisiejszego tak by FOOTBALL było kojarzone z tą grą (i niemogłaby to być gra o piłce nożnej, wtedy zastrzeżenie takiej nazwy jest w ogóle niemożliwe). Nie możesz od tak zarejestrować takiej nazwy,a potem mieć to w tyłku i nic nie robić do czasu gdy ktoś wyda grę o takiej nazwie, a potem go pozwać do sądu. Co innego gdybyś wymyślił jakąś całkowicie nową nazwę.
-
@Smok: Zelda ma bardzo ładną grafikę. A poza tym czego kłamiesz. Nie wszyscy ale tylko jedna osoba napisała by iv!n zmienił nazwę gry. I jeszcze popierasz sam nie wiedząc czemu... Bez komentarza. @Iv!n: Grafika jest ogólnodostępna, ale nielegalnie bo to rip. Równie dobrze możesz wziąść grafikę z Mario i nazwać grę Myth Online, tylko to głupio będzie wyglądać. Tak samo jest teraz. Zelda to bardzo znana gra.
-
Smok, co Ty w ogóle piszesz? Najlepiej jak jedna osoba tutaj robi jakiś unikalny rodzaj gry, a reszta inny? Może sam zaczniesz robić tego rts'a jak jesteś taki mądry. Im więcej gier tym lepiej, byle by były dobre. Czy jak zrobiłbym grę o nazwie Football, to reszta ma zakaz używania tego POTOCZNEGO wyrazu? Myth Online może być.
-
Nie no Black, nie rób se jaj. ;) Mieszanie kolorów zawsze jest lepsze niż stosowanie zwykłej palety odcieni szarości, ponieważ wtedy jeszcze lepiej można dostosować wygładzanie pod konkretne podłoże, nie ograniczając się do skali 256 stopniej* Ba, są różne podłoża, dla których te same ustawienia nie muszą być tak samo dobre. Myślałem, że to jest oczywiste, więc tego nie napisałem wcześniej, ale i tak się przyczepiłeś. Przecież przy rozmiarze 1x1 tego nie widać. Przypomnę jeszcze, że wygładzanie stosuje się głównie do monitorów LCD, ponieważ CRT same lekko rozmywają czcionkę ze względu natury technicznej (dlatego nie mówi się wielkość piksela a wielkość plamki). W CRT takie wygładzanie może zadziałać w odwrotną stronę, zwłaszcza jak się ma słabej jakości monitor. *Zobacz sobie np. takie Diablo, niby ładne sprite'y i w ogóle, ale jak zrobisz zoom'a to to się okazuje zwykłą mieszaniną całkowicie różnych kolorów, właśnie specjalnie do uzyskania lepszego cieniowania niż w przypadku przyciemniania / rozjaśniania piksela.
-
[c#] Tablica wielowymiarowa
Ranmus odpowiedział(a) na szlagi temat w .NET Framework (C#, ASP.NET itp.)
Moim zdaniem ta pierwsza linijka jest zupełnie zbędna, można się ograniczyć tylko do tego: 5 18 7 22 10 6 4 9 15 Zaraz coś napiszę. EDIT 1: Kurde, odczytywać plik do tablicy postrzępionej jest ciężko jak nie znamy liczby linii itd. Tutaj masz przykład, który korzysta z pomocy listy: using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tablica { class Program { static void Main( string[] args ) { int[][] tablica; FileStream plik = new FileStream( "dane.txt", FileMode.Open ); StreamReader odczyt = new StreamReader( plik ); string linia; // Tymczasowa lista List<int[]> lista = new List<int[]>(); while ( ( linia = odczyt.ReadLine() ) != null ) { int[] tablicaLiczb = Array.ConvertAll<string, int>( linia.Split( ' ' ), new Converter<string, int>( int.Parse ) ); lista.Add( tablicaLiczb ); } tablica = lista.ToArray(); Console.WriteLine( "Zakończono odczyt, naciśnij jakiś klawisz..." ); Console.ReadKey(); } } } Zaraz dam wersję przy z użyciem zwykłych list. EDIT 2: Poniższy przykład wykorzystuje listę, którą jest znacznie lepsza od tablic w tym przypadku (polecam zapoznać się z kolekcjami w C#): using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tablica { class Program { static void Main( string[] args ) { List<List<int>> liczby = new List<List<int>>(); string linia; FileStream plik = new FileStream( "dane.txt", FileMode.Open ); StreamReader odczyt = new StreamReader( plik ); while ( ( linia = odczyt.ReadLine() ) != null ) { liczby.Add( new List<int>( Array.ConvertAll<string, int>( linia.Split( ' ' ), new Converter<string, int>( int.Parse ) ) ) ); } Console.WriteLine( "Zakończono odczyt, naciśnij jakiś klawisz..." ); Console.ReadKey(); } } } EDIT 3: A tutaj wersja łatwiejsza do zrozumienia, bez stosowania statycznej metody Array.ConvertAll i Converter'a: using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tablica { class Program { static void Main( string[] args ) { List<List<int>> liczby = new List<List<int>>(); string linia; FileStream plik = new FileStream( "dane.txt", FileMode.Open ); StreamReader odczyt = new StreamReader( plik ); while ( ( linia = odczyt.ReadLine() ) != null ) { List<int> lista = new List<int>(); string[] liczbyTekst = linia.Split( ' ' ); foreach ( string tekst in liczbyTekst ) { lista.Add ( int.Parse( tekst ) ); } liczby.Add( lista ); } Console.WriteLine( "Zakończono odczyt, naciśnij jakiś klawisz..." ); Console.ReadKey(); } } } -
Wejdź na oficjalne forum, do działu DLL, tam jest przypięty temat jak się tworzy dll'e.
-
No niby tak, ale na moim monitorze widzę niestety różnice w renderowaniu przez xorg'a niektórych liter tej samej czcionki, co mnie strasznie denerwuje - zwłaszcza te widoczne linie nie na jeden piksel (np. literki d,ł). Ty już jesteś przyzwyczajony, bo korzystasz z linuksa na codzień, więc Ci to rybka. :) Zapisz sobie żeby mnie powiadomić na gg kiedy coś ruszą w tej sprawie. ;P Może znowu zrobię podejście do Monodevelop'a.
-
Ehhh nie mogę się oprzeć pokusie "naprostowania" jak ktoś głupoty pisze. :] 4X 1X Pytam się, w której linijce widzisz najmniejsze, a w której największe rozmycie? Któryś z nas będzie musiał się udać do okulisty. ;) Ja takich rzeczy sobie nie wymyślam na poczekanie. Wierz mi, ja naprawdę obadałem już rendering czcionek na wielu systemach - do webdesignu była mi ta wiedza potrzebna. :) Tylko nie proś mnie o screeny z Macosx'a, bo nie mam pod ręką i musiałbym pana torrenta zatrudniać...
-
Spoko, ale i tak wysyłanie maili musisz wydłużyć w czasie dla lepszego działania. Rzeczywiście dziabnij to ajaxem i np. w portalu dorób dla admina info o statnie kolejki* + link do wejścia na specjalną stronę do wysyłania i autoodświeżania. *Po to by wysyłanie można było w razie czego przerwać w dowolnej chwili.
-
Ej Gnysio, mam nadzieję, że przez Ciebie nie znajdziemy się na jakiejś blackliście. ;) Możesz zrobić kolejkowanie maili na podobnej zasadzie jak w IPB jeśli się nie ma dostępu do Crona, a mianowicie każde wejście na stronę uaktywnia wysyłanie kolejnych iluśtam maili aż do wyczerpania kolejki. Tymon: Ale takim sposobem serwerowi to też się nie ulży. ;) Chociaż lepsze niż Gnyskowy sposób.
-
No liczę na Mono, ponieważ jest za free, a przy .net to trzeba bulić licencję za windowsa 2003. Tylko ta szybkość... (aktualnie pisze aplikację serwerową, która pod .net jest 2/3 razy szybsza niż pod Mono). Poza tym jak już pisałem, jestem kompletnie zielony z konfiguracji tegoż systemu. W takim zakresie moja wiedza o uniksach i uniksopodobnych znaaaaaaaaaaaacznie przewyższa tą z windowsa. W sumie nie tykam się tylko tego co jest związanie multimediami i środowiskiem graficznym, bo tutaj zaczynają się często jaja. Jeżeli by tak postawić FreeBSD i linuksa bez żadnych autopierdół i środowiska graficznego na starcie, to FreeBSD jest naprawdę łatwiejszy. Prosty i logiczny sysinstall robi swoje. Do tego system jail'i + warstwa kompatybilności z linuksem i jest super. Wkurza mnie tylko to, że niektóre paczki są starsze względem linuksa i czasem trzeba sięgnąć do cvs'a w poszukiwaniu nowości. To nie problem, tylko potem trzeba mieć co robić na tym systemie. ;) No i niestety czasochłonność konfiguracji gdy natkniemy się na coś, czego autorzy distro nieprzewidzieli. Trzeba się nasrać żeby znaleźć informacje w sieci, bo dokumentacji zazwyczaj nie ma. Sam przy paru kwestiach w Centos'ie musiałem się podpierać dokumentacją... Gentoo. Dlatego mówię, z alternatyw tylko FreeBSD. :) UPDATE: No i te ohydne renderowanie czcionek. Widziałem porówanie wygładzania czcionek w windows vs macosx vs linux i najlepszą jakość oferowały systemy wymienone przeze mnie począwszy od lewej strony.
-
Temat na ligę 24: Gra dla Ikage na urodziny. Musisz jeszcze podać datę. ;)
-
Muszę Cię rozczarować, ponieważ na serwerze używam linuksa i tutaj system sprawuje się bardzo dobrze (chociaż trzeba będzie wyemigrować na FreeBSD). Windowsa pod kątem serwerów w ogóle nie znam, ale chętnie bym spróbwał ze względu na .NET. :) Po prostu aktualnie nic innego na desktopa prócz windowsa się nie nadaje (chyba że się ma kupę wolnego czasu i używa kompa tylko do www i słuchania muzyki).
-
Jakby Borek nie umiał robić stron www. :)
-
A nie sądzisz, że to może być Twoja wina? :)
-
Vista też miałabyć 2-3 lata po XP'ku i co z tego wyszło? ;) To takiego z nim robisz, że się wiesza? Ja już od dawna nie miałem żadnej zwiechy. :) Sprawdź sprzęt. Kiedyś miałem uwalone ramy i XP potrafił mi się zawieszać codziennie na specyficznym oprogramowaniu, a na sesji brata prawie w ogóle.