[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Alarmid, ei saa enam suuremaks..[LAHENDATUD]
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 1.7.2009 09:40 Tsiteeri
Alarmid, ei saa enam suuremaks..[LAHENDATUD]



Testin siis veida C languages ennast, olen paar tundi jamanud ja lugenud selle kohta.
Tegin siis 5minutit yhte rpg moodi asja ja seal on alarmid nagu gamemakeris mul sees, aga m2ng jookseb nii kiiresti et alarmi v22rtusena olev 3500000 jookseb nii kiiresti ,et see on alla 1 sekundi ja eriti suuremat arvu ei tohi panna sest muidu lihtsalt ei tee enam midagi see alarm, proovisin seda 350000 korrutada 5-ga siis saigi peaaegu 1 sekund aga kui 6-ga korrutasin siis j2lle asi ei funksi.
Vaatasin neid float,string jne. limiite enne ja seal olid ikka palju suuremad arvud limiidiks (float oli mingi u. 246 647 467 vms.)

Saab kuidagi seda suuremaks venitada v6i, kui v2ga vaja siis m2ngu aeglasemaks teha?

minu 5minuti kood commentitega (alarmid on k6ige allpool):

Kood:

main()
{

//player vars
float hp;
float defense;
float attack;
hp = 48;
defense = 3;
attack = 3;

//enemy vars
float enemyHp;
float enemyAttack;
float enemyDefense;
enemyHp = 16;
enemyAttack = 1;
enemyDefense = 1;


//game alarms
float alarm0;
float alarm1;
alarm0 = 5000000;
alarm1 = 10000000;

//loop for alarms
for(;;)
{
alarm0--; //player's attacking alarm
alarm1--; //enemy's attacking alarm
if (alarm0 < 21)
{
enemyHp = enemyHp-attack+enemyDefense;
alarm0 = 3000000*5;
printf("nEnemy's Health: %f",enemyHp);
}
if (alarm1 < 21)
{
hp = hp-enemyAttack;
alarm1 = 3000000*5;
printf("nYour Health: %f",hp);
}
}
}

http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
icedude
Mr. tl;dr
Avatar

Liitunud: 15.12.2008
Postitusi: 456
[EEMAL]




postitati 1.7.2009 10:36 Tsiteeri


Kas mulle tundub või see kood ongi väga imelik:D? Aniway, nagu ma aru saan siis sa tahad teha nii, et mäng jookseks teatud kiirusega? Kui nii, siis miks sa süsteemi kella ei kasuta?
Emo1: icedude, valter8bit III: võistlus kestab<br>
Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 1.7.2009 11:16 Tsiteeri


Tahaks seda "alarm1 = 3000000*5;" 5 asemel ntx 10-ga korrutada, et oleks pikem aeg ryndamise vahel.
Mis systeemi kella muidu, ma selle C keelega alles paar tundi tegelenud ja tutorialites pole selle kohta olnud.

Kuidas kood kahtlane on?Jumala lihtne kood, on playeri 3 variablet ja vaenlase(arvuti) 3 variablet ja m6lemal on ryndamiseks alarm mis kahaneb ja otsa saades teeb rynnaku 2ra(ja kirjutab allesj22nud elud ekraanile) ja paneb alarmi tagasi tiksuma, muud seal pole.

http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 1.7.2009 11:43 Tsiteeri


Sa võid ju alarmile muutuja-kordaja teha.

Näiteks

alarm1 = 3000000

ja alarmi ära tiksumise peale juhtub see et
z+= 1
ja alarm läheb jälle tiksuma otsast peale

ja pärast kontrollid, kas z on 5, 10 või palju sul on vaja korrutada alarmi, ja "äratus" käib juba läbi z väärtuse mitte alarmi, alarm lihtsalt kasvatab seda muutujat vajalikuni.

võid veel numbri asemele panna muutuja.

Näiteks tiksub z numbrini "ründamiskiirus", mille annad mujal
ja ründamiskiirust tõstev relv/potion alandab seda numbrit, aeglase tegelase puhul on see jälle suurem, jne.

ilgelt modulaarne.

logische?
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 1.7.2009 11:48 Tsiteeri


Jah sain aru mida m6tlesid , t2nks.
Endal oli ka midagi samasugust m6ttes ainult ,et topeltalarmiga aga see oleks tyytum ja segasem tulnud.

http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 1.7.2009 11:49 Tsiteeri


EDIT: muutsin eelmist posti
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 1.7.2009 12:19 Tsiteeri


M2rkasin jah et muutsid, kui ma postitasin siis oli just muutunud ja ma kasutangi sellist systeemi nyyd selle muutujaga.
http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
icedude
Mr. tl;dr
Avatar

Liitunud: 15.12.2008
Postitusi: 456
[EEMAL]




postitati 1.7.2009 12:45 Tsiteeri


Imeliku all pidasin ma silmas, et sa kasutad kellana protsessori kiirust. Umbes nagu vanasti mängud kõik jooksid prose kiirusel.
Emo1: icedude, valter8bit III: võistlus kestab<br>
Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
simmo
Level 10
Avatar

Liitunud: 6.1.2006
Postitusi: 720
[EEMAL]




postitati 1.7.2009 13:19 Tsiteeri


Selline viis aja mõõtmiseks pole eriti kasulik: mõni protsessor jõuab kiiremini loopida mõni aeglasemalt ja seega mõnel arvutil selles "mängus" on 1 sekund lühem või pikem.

Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
jyri1234
Level 9
Avatar

Liitunud: 16.1.2008
Postitusi: 542
[EEMAL]




postitati 1.7.2009 13:39 Tsiteeri


Üks küsimus game makeri koha pealt:
Kas "alarm[0] = 1*fps" annab sulle ühe sekise alarmi? Peaks andma ju?

_________________________________
Eestikeelsed tasuta PHP õpetused - php.ee
PHP Manuaal - php.net
Jõulu 2008 III: Jyri1234<br>
Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
h0lx
Kohalik sitapea
Avatar

Liitunud: 10.4.2006
Postitusi: 1826
[EEMAL]




postitati 1.7.2009 13:42 Tsiteeri


Esiteks ühega pole mõtet korrutada, teiseks kui fps kõigub, ikka ei anna küll, ja mängu aususe koha pealt oleks ikkagi room_speed targem.
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorss
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
icedude
Mr. tl;dr
Avatar

Liitunud: 15.12.2008
Postitusi: 456
[EEMAL]




postitati 1.7.2009 14:00 Tsiteeri


Kui fps kõikumine on väga suur siis saab kasutada Delta timeingut. Ehk siis liikumise kiirus korrutatakse ajaga. Seda võtet kasutatakse ka netimängude puhul, ja kõik viimaseotsa mängud peaks minuteada seda võtet kasutama. Ise ma seda ei kasuta, aga nt flash mängude puhul annab selle süsteemi kasutamine küll paugu cheaterite vastu.
Emo1: icedude, valter8bit III: võistlus kestab<br>
Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
jnt
Veebiguru
Avatar

Liitunud: 3.2.2005
Postitusi: 731
[EEMAL]




postitati 1.7.2009 16:52 Tsiteeri


mis asi on
Kood:
for(;;){


:D


kui see tahab olla pidevalt töötav tsükkel, oleks selleks:
Kood:
while(true){

GigAHerZ Web - http://jnt.pri.ee/
Banner Exchange - http://be.jnt.pri.ee/
Mission Possible - http://web.zone.ee/mispos/
Black Nova Traders - http://bnt.jnt.pri.ee/
Aktsioon I: jnt
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 1.7.2009 19:19 Tsiteeri


for(;;) tähendab infinite loopi ja kui lõpetada vaja siis paned
if(something == something)
break::
------

Miks peaks mäng/programm kogaeg vaatama kas mingi variable on true või mitte?võtab võimsust alla ainult.

http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
simmo
Level 10
Avatar

Liitunud: 6.1.2006
Postitusi: 720
[EEMAL]




postitati 2.7.2009 07:26 Tsiteeri


Ega kui saa loopi sees samamoodi koguaeg kontrollid võtab ka ju võimsust maha. Nii et erilist vahet ei tohiks olla.

while(true) on sama nagu while(true==true), mille kontrollimiseks aega ei kulugi, sest asi nii loogiline juba.


Vaata kasutaja profiili Saada kasutajale e-mail Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum Vaata kasutaja MSN-i
jnt
Veebiguru
Avatar

Liitunud: 3.2.2005
Postitusi: 731
[EEMAL]




postitati 2.7.2009 13:42 Tsiteeri


for(;tingimus;){

kui siin tingumus tühi on, siis on seal ka nö default true, nagu oleks

while(true){

Seega siin ei ole mingit kiiruse kaotust.

GigAHerZ Web - http://jnt.pri.ee/
Banner Exchange - http://be.jnt.pri.ee/
Mission Possible - http://web.zone.ee/mispos/
Black Nova Traders - http://bnt.jnt.pri.ee/
Aktsioon I: jnt
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
normann
Level 15
Avatar

Liitunud: 28.4.2006
Postitusi: 1528
[EEMAL]




postitati 2.7.2009 16:30 Tsiteeri


@simmo:

Kas ei ole nii ,et kui kuskil on break:: sees siis ta lihtsalt leiab selle loopi kus see sees on ja lõpetab selle kordamise?Rida rea järel koodi lugedes, ehk siis mitte koguaeg kontrollides kas kuskil on break:: sees või mitte(loeb niikuinii koodi ride-rea järel ju, seeka kiirust vähemaks ei võta).

Kui see nii on siis oleks küll kiirem, aga ma ei tea kas mul on õigus.

http://media.kickstatic.com/kickapps/images/40602/photos/PHOTO_7961920_40602_4826691_ap.jpg

Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum
icedude
Mr. tl;dr
Avatar

Liitunud: 15.12.2008
Postitusi: 456
[EEMAL]




postitati 2.7.2009 21:52 Tsiteeri


Ega C siis gm language pole:D. Seal käib enamus asi ikka kõik pointerite põhjal, seega rida rea järel, no võib piltlikult ju nii öelda. Aga break ei leia, break teab, mis loopi ta lõpetab. Aga pole isegi uurinud, kas Repeat forever tüüpi koodikõigud ikkagi kontrollivad midagi. Selle saab mudu kiirustestiga kindlaks mudugi teha ja vaadata. Sest üht ma tean, see on see, et kui kasutad mingit loopi siis pole eriti vahet kui palju arvutusi sa vahepeal teed(korrutamine ja nt 3 liitmist), kiirus sellest kannatada ei saa. Ehk kas sul on paljas loop või loop koos arvutustega, vahet pole. Loomulikult kui arvutusi rohkem siis ikka vahe sees. Aga point selles, et ühe loop tsükli jooksul, tee rohkem arvutusi kui lihtsalt üks. Vaid sama arvutust 5 korda nt. Kas keegi viitsib seda kontrollida?
Emo1: icedude, valter8bit III: võistlus kestab<br>
Vaata kasutaja profiili Saada kasutajale e-mail Otsi kasutaja postitusi Saada privaatsõnum

Hetkel loevad seda teemat:
Mitte ühtegi - 1 külaline

Mine lehekülje lõppu





Foorumi algbaas põhineb XMB mootoril, modifitseeritud Valter Pundi poolt
Kodulehekülg on tehtud Valter Pundi poolt vpundi ät gmail punkt komm