Programy przydatne w cantrowaniu
Moderators: Public Relations Department, Players Department
- BZR
- Posts: 1483
- Joined: Wed Aug 02, 2006 5:44 pm
- Location: Poland
-
- Posts: 397
- Joined: Tue Oct 31, 2006 6:45 am
Mówię o języku Javascript, nie o Javie.Artur wrote:hmm, php jest proste w pisaniu, na javie mniej sie znam
A jak ten Twój serwer będzie akurat niedostępny? Javascript ma tę zaletę, że nie potrzebuje serwera, w ogóle nie trzeba być on-line.serwer obslugujacy php mam, wiec jakby co udostepnie jak komus sie zechce napisac
Mylisz się. Nie pójdzie u tych, którzy pracują na MacOSX, Linuksie albo *BSD - binarka nie będzie pasować.taki kalkulator mozna i w turbo pascalu napisac i tez u wszystkich pojdzie
Daleko nie wszyscy mają XP, to po pierwsze. Po drugie, nawet ci, co mają XP, nie potrzebują od razu instalować .NET, bo po co? Żeby mieć kalkulatorek? Daj spokój, .NET to kobyła.zreszta wszyscy maja teraz winy xp wiec i z .NET powinno u wszystkich pojsc
Jeśli można bardzo łatwo uniknąć dyskryminowania użytkowników, po prostu wybierając neutralne względem platformy rozwiązanie, odpowiedni język, to w imię czego proponować coś, co chodzi tylko u części z nich?
-
- Posts: 397
- Joined: Tue Oct 31, 2006 6:45 am
Czy chodzi o taki kalkulatorek?
Code: Select all
<html>
<head>
<title>Żelazo</title>
<script>
function sim() {
var ruda, opal, wapien;
var zelazo = document.forma.zelazo.value;
var jaki_opal;
for (i=0;i<document.forma.S1.length;i++){
if (document.forma.S1[i].checked){
jaki_opal=i;
break;
}
}
switch (jaki_opal) {
case 0: {
ruda=(zelazo/350)*700;
opal=(zelazo/350)*420;
wapien=(zelazo/350)*1400;
break;
}
case 1: {
ruda=(zelazo/350)*700;
opal=(zelazo/350)*700;
wapien=(zelazo/350)*1400;
break;
}
case 2: {
ruda=(zelazo/525)*700;
opal=(zelazo/525)*140;
wapien=(zelazo/525)*1400;
break;
}
}
document.getElementById('ruda').innerHTML = '<b>' + Math.round(ruda) + '</b>'
document.getElementById('opal').innerHTML = '<b>' + Math.round(opal) + '</b>'
document.getElementById('wapien').innerHTML = '<b>' + Math.round(wapien) + '</b>'
}
</script>
</head>
<body>
<div align='center'>
<h2>Wytop żelaza w piecu</h2>
<form name="forma">
<table>
<tr><td>Ile chcesz otrzymać żelaza:
<input id='zelazo' type='text' size='4' maxlength='6' onchange='sim()'> gram</td>
<tr><td>Opał
<br>
<input type='radio' name='S1' onchange='sim()'>węgiel
<br>
<input type='radio' name='S1' onchange='sim()'>węgiel drzewny
<br>
<input type='radio' name='S1' onchange='sim()'>propan
<tr><td>Ruda: <td id='ruda'>
<tr><td>Opał: <td id='opal'>
<tr><td>Wapień: <td id='wapien'>
</table>
</form>
</div>
</body></html>
Last edited by pipok on Thu Jun 21, 2007 6:14 am, edited 1 time in total.
-
- Posts: 397
- Joined: Tue Oct 31, 2006 6:45 am
Nie sądzę. Musiałyby być wersje klienta dla różnych systemów (Win/Linux/BSD). Inaczej gra byłaby niedostępna dla ludzi, którzy mają inne systemy niż Jedyny Słuszny System Operacyjny.BZR wrote:ciekawe, czy doczekamy czasów, gdy cantrować będzie można przy pomocy programu a nie przeglądarki... zwiększyłoby to wygodę i zluzowało serwery.
Poza tym, wiele to serwera nie zluzuje. Serwer jest przeciążany głównie przetwarzaniem cyklicznym bazy - przede wszystkim migracje, ataki, rozmnażanie się zwierząt, dużo mniej obciąża go naliczanie projektów, podróży itp. czy bieżące zapytania od przeglądarek graczy. W Cantrze nie ma generowanej w czasie rzeczywistym grafiki, więc program-klient dla Cantra nic specjalnie by nie ułatwiał graczowi ani serwerowi. Nie bardzo sobie wyobrażam, jak miałby pomóc.[/url]
-
- Posts: 397
- Joined: Tue Oct 31, 2006 6:45 am
Błeee, pozjadało kod przy konwersji.pipok wrote:Czy chodzi o taki kalkulatorek?Code: Select all
<html>
<head>
<title>Żelazo</title>
<meta>
<script>
...
EDIT: poprawiłem
Last edited by pipok on Thu Jun 21, 2007 6:15 am, edited 1 time in total.
- BZR
- Posts: 1483
- Joined: Wed Aug 02, 2006 5:44 pm
- Location: Poland
Pipok, czyli lagi są generowane głównie przez obliczenia? W takim razie chyba najlepszym rozwiązaniem dla przyśpieszenia działania całości byłoby usunięcie najbardziej operacjochłonnych elementów kodu.. czyli ataki zwierząt i migracje stworzeń (chyba już to zostało zrobione).
Osobiście proponowałbym pozbycie się zwierząt w tej formie w jakiej są. Polowanie można by uczynić projektem(tak jak rybołówstwo), a z resztą należało by poczekać na indywidualizację stworzeń (hodowle itd). Ważniejsza chyba jest przyjemność z gry niż polowanie na zwierzęta, których w starych polskich strefach brakuje zupełnie, a w mniej zamieszkałych strefach jest ich wręcz śmiertelna ilość. (np francuska, gram tam jedną postacią, i w lokacji jest po 40 wild boarów i bearów...)
Wracając do programu - miałby napisanie go dla wielu środowisk to chyba tylko kwestia małych zmian w kodzie i wyboru różnych kompilatorów?
Zdecydowanie zmniejszyłby on transfer danych z serwera i zlikwidował zapytania php.
I ostatnio, najważniejszy plus - graczom byłoby łatwiej. Krócej by się wczytywało, wygodniejsze w obsłudze... a poza domem dalej można by używać przeglądarki.
Osobiście proponowałbym pozbycie się zwierząt w tej formie w jakiej są. Polowanie można by uczynić projektem(tak jak rybołówstwo), a z resztą należało by poczekać na indywidualizację stworzeń (hodowle itd). Ważniejsza chyba jest przyjemność z gry niż polowanie na zwierzęta, których w starych polskich strefach brakuje zupełnie, a w mniej zamieszkałych strefach jest ich wręcz śmiertelna ilość. (np francuska, gram tam jedną postacią, i w lokacji jest po 40 wild boarów i bearów...)
Wracając do programu - miałby napisanie go dla wielu środowisk to chyba tylko kwestia małych zmian w kodzie i wyboru różnych kompilatorów?
Zdecydowanie zmniejszyłby on transfer danych z serwera i zlikwidował zapytania php.
I ostatnio, najważniejszy plus - graczom byłoby łatwiej. Krócej by się wczytywało, wygodniejsze w obsłudze... a poza domem dalej można by używać przeglądarki.
-
- Posts: 397
- Joined: Tue Oct 31, 2006 6:45 am
Przez obliczenia dla około dwóch milionów zwierzaków. Indywidualnych. PD potwierdził te przypuszczenia. Ostatnie uproszczenia (brak zwierząt na drogach) spowodowały, że lagi zniknęły.BZR wrote:Pipok, czyli lagi są generowane głównie przez obliczenia? W takim razie chyba najlepszym rozwiązaniem dla przyśpieszenia działania całości byłoby usunięcie najbardziej operacjochłonnych elementów kodu.. czyli ataki zwierząt i migracje stworzeń (chyba już to zostało zrobione).
No więc, kiedyś zwierzęta kiedyś występowały w kodzie jako grupy. Indywidualizacja już została wykonana. Zwierzęta SĄ indywidualne. Stąd problemy z obliczeniami dla ogromnej ilości stworzeń. Mimo przedstawianych na forum sugestii zredukowania lagów przez powrót do starego systemu operowania grupą, zwierzęta pozostały indywidualne właśnie dlatego, że indywidualizacja to podstawa do wprowadzenia hodowli, a powrót (tymczasowy!) do starego kodu wymagałby zbyt wiele pracy.BZR wrote:Osobiście proponowałbym pozbycie się zwierząt w tej formie w jakiej są. Polowanie można by uczynić projektem(tak jak rybołówstwo), a z resztą należało by poczekać na indywidualizację stworzeń (hodowle itd).
Na jednych wyspach brakuje, na innych jest 100-200 sztuk w jednej lokacji.BZR wrote:polowanie na zwierzęta, których w starych polskich strefach brakuje zupełnie
Niekoniecznie różnych - GCCBZR wrote:Wracając do programu - miałby napisanie go dla wielu środowisk to chyba tylko kwestia małych zmian w kodzie i wyboru różnych kompilatorów?
Ale raczej miałby to być program działający w środowisku graficznym, prawda? Z czego miałby więc korzystać, żeby faktycznie wymagał tylko małych różnic w kodzie? Dajmy na to, że z GTK. Wtedy znowu wracamy do problemu wyróżniania użytkowników - dla wygody programisty - zamiast neutralności. Zauważ też, że taki program "ktoś" musi napisać. Łącznie z sensownym interfejsem użytkownika. Program dublujący to, co już jest zrobione, skryptami php po stronie serwera i przeglądarką po stronie użytkownika.
Nie bardzo sobie wyobrażam likwidację zapytań do bazy. Program, tak czy owak, zapytania do bazy musiałby słać. Że nie za pośrednictwem php? Tym gorzej. Problem dla PD byłby taki, że w przypadku wprowadzania zmian w grze trzeba jednocześnie zmieniać i skrypty po stronie serwera, i proponowany program kliencki. Suuuper, marzenie każdego zarządzającego projektem.BZR wrote:Zdecydowanie zmniejszyłby on transfer danych z serwera i zlikwidował zapytania php.
Last but not least:
Powtórzę to jeszcze raz - specjalny program kliencki niewiele zmieni, bo serwer przeciążało obliczanie zachowań dla ogromnych ilości zwierząt, a nie obsługa graczy.
Mam nadzieję, że marol skomentuje ten pomysł choćby krótko, jednym zdaniem.
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
Pipok ma rację.
- Cantr II to obecnie około 40 tys. linii kodu PHP. Napisanie klienta desktopowego oznaczałoby masę pracy na przepisanie tego wszystkiego jeszcze raz.
- Ponadto kod Cantr jest ciągle modyfikowany, czasami kilka razy dziennie. Jak zmodyfikować kod aplikacji zainstalowanych na tysiącach serwerów? Da się, ale niełatwo.
- Dodatkowo dochodzą kwestie osłabionego bezpieczeństwa - ludzie, którzy grają w różne gry online przy pomocy programów wiedzą ile różnego rodzaju exploitów powstaje.
- Poza tym nie każdy ma możliwość instalowana programu na komputerze na którym pracuje. Obecnie, żeby zajrzeć do gry wystarczy wstąpić do kafejki lub kumpla. Przeglądarka już jest, program do Cantra trzeba by wszędzie ściągać.
- Na koniec wspomnę tylko, że to wcale nie zmniejszyłoby obciążenia serwera bazodanowego, który jest wąskim gardłem systemu.
-
- Posts: 16
- Joined: Thu Jun 14, 2007 6:33 pm
- Location: Rotmanka, Poland
- BZR
- Posts: 1483
- Joined: Wed Aug 02, 2006 5:44 pm
- Location: Poland
-
- Posts: 16
- Joined: Thu Jun 14, 2007 6:33 pm
- Location: Rotmanka, Poland
pipok wrote:Czy chodzi o taki kalkulatorek?Code: Select all
<html>
<head>
<title>Żelazo</title>
<meta>
<script>
function sim() {
var ruda, opal, wapien;
var zelazo = document.forma.zelazo.value;
var jaki_opal;
for (i=0;i<document.forma.S1.length;i++){
if (document.forma.S1[i].checked){
jaki_opal=i;
break;
}
}
switch (jaki_opal) {
case 0: {
ruda=(zelazo/350)*700;
opal=(zelazo/350)*420;
wapien=(zelazo/350)*1400;
break;
}
case 1: {
ruda=(zelazo/350)*700;
opal=(zelazo/350)*700;
wapien=(zelazo/350)*1400;
break;
}
case 2: {
ruda=(zelazo/525)*700;
opal=(zelazo/525)*140;
wapien=(zelazo/525)*1400;
break;
}
}
document.getElementById("ruda").innerHTML = "<b>" + Math.round(ruda) + "</b>"
document.getElementById("opal").innerHTML = "<b>" + Math.round(opal) + "</b>"
document.getElementById("wapien").innerHTML = "<b>" + Math.round(wapien) + "</b>"
}
</script>
</head>
<body>
<div>
<h2>Wytop żelaza w piecu</h2>
<form>
<table>
<tr><td>Ile chcesz otrzymać żelaza:
<input> gram
<tr><td>Opał
<br>
<input>węgiel
<br>
<input>węgiel drzewny
<br>
<input>propan
<tr><td>Ruda: <td>
<tr><td>Opał: <td>
<tr><td>Wapień: <td>
</table>
</form>
</div>
</body></html>
Mowie do pipoka. Fajne to. Ja umiem zrobic tylko szkielet strony ;p
EDIT - A do czego mozna uzyc C++??
- Gozer
- Posts: 71
- Joined: Tue Jul 25, 2006 4:56 pm
- Location: Poland
Jeśli ktoś zna się na języku C++ to może mi pomorze chciałem zrobić cos podobnego pipok jak ale nie dokona mi wyszło to co chciałem bo zamiast drukować się tylko jedna linia z potrzebnymi surowcami to drukuje trzy. Może jak ktoś inny na to spojrzy to znajdzie błąd.
#include <conio>
#include <stdlib>
#include <stdio>
void main()
{
float z,r,w,o,p,wd,wk;
clrscr();
printf("propan 1\nwengiel 2\nwegiel drzewny 3\n");
scanf("%f",&o);
printf("podaj ilosc zelaza jaka chcesz wytopic");
scanf("%f",&z);
if (o==1)
{
r=(z/525)*700;
p=(z/525)*140;
w=(z/525)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, propanu %f \n",r,w,p);
}
if (o==2)
{
r=(z/350)*700;
wk=(z/350)*420;
w=(z/350)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, wegiel %f \n",r,w,wk);
}
if (o==3)
{
r=(z/350)*700;
wd=(z/350)*700;
w=(z/350)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, wegla drzewnego %f \n",r,w,wd);
}
getch();
}
#include <conio>
#include <stdlib>
#include <stdio>
void main()
{
float z,r,w,o,p,wd,wk;
clrscr();
printf("propan 1\nwengiel 2\nwegiel drzewny 3\n");
scanf("%f",&o);
printf("podaj ilosc zelaza jaka chcesz wytopic");
scanf("%f",&z);
if (o==1)
{
r=(z/525)*700;
p=(z/525)*140;
w=(z/525)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, propanu %f \n",r,w,p);
}
if (o==2)
{
r=(z/350)*700;
wk=(z/350)*420;
w=(z/350)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, wegiel %f \n",r,w,wk);
}
if (o==3)
{
r=(z/350)*700;
wd=(z/350)*700;
w=(z/350)*1400;
printf("\npotrzeba rudy zelaza %f, wapienia %f, wegla drzewnego %f \n",r,w,wd);
}
getch();
}
Last edited by Gozer on Thu Jun 21, 2007 9:01 am, edited 2 times in total.
- marol
- Posts: 3728
- Joined: Sun Jul 17, 2005 11:45 am
- Location: Kraków, PL
- Contact:
- Gozer
- Posts: 71
- Joined: Tue Jul 25, 2006 4:56 pm
- Location: Poland
- in vitro...
- Posts: 1957
- Joined: Sun Feb 26, 2006 11:11 pm
- Location: Lake Bodom
Who is online
Users browsing this forum: No registered users and 1 guest