[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Obj. tekitamine random kohta
pellar123
Level 2


Liitunud: 26.11.2009
Postitusi: 19
[EEMAL]




postitati 3.12.2009 22:15 Tsiteeri
Obj. tekitamine random kohta



Tere , siis küsimus et

objecti nimi on näiteks : food
kui food kaob ära ( destroy intance vms ) siis tekiks uus food , suvalisse kohta ( 640 ; 480 ruumi suurus ) jne , ja siis nii et ta ei tekiks äärde ( ruumi äärtest 32 eemal sest seal sein ) et keegi ütleks koodi äkki ? (A) (A)


Tänud , Peace .

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum pellar123's Aim pellar123's ICQ status pellar123's Yahoo
valter
1


Liitunud: 19.1.2005
Postitusi: 1553
[EEMAL]




postitati 3.12.2009 22:26 Tsiteeri


instance_create(320-random(160-32)+random(160-32),240-random(120-32)+random(120-32),food);

loe koodi 10x läbi, enne kui copy-pasted

320 on ruumi X keskpunkt (ehk siis POOL 640-st)
240 on ruumi Y keskpunkt (ehk siis POOL 480-st)
160 on ruumi X keskpunkti(320) kaugus ääreni (ehk siis VEERAND 640-st)
120 on ruumi Y keskpunkti(240) kaugus ääreni (ehk siis VEERAND 480-st)
32 on siis see laius, mida sa tahtsid äärest jätta.


muidugi, et koodi loetavamaks teha, kuid keerulisemaks(samas lihtsamaks), on selline moodus:

var width height border obj;
width=640; //ruumi laius
height=480; //ruumi kõrgus
border=32; //palju jäetakse äärest
obj=food;


instance_create(
width/2-random(width/4-border)+random(width/4-border),
height/2-random(height/4-border)+random(height/4-border),
obj);

http://www.dmgamez.pri.ee/GRONGO1/uss_walk.gif
Ralli I: dm11Veresaun III: dm11<br>Emo1: icedude, valter8bit I: võistlus kestabAktsioon III (2009): -<br>Aasta mäng 2009: Pilvemees, valter<br>Vabateema II: valter
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
InCreator
baksjor!
Avatar

Liitunud: 18.12.2005
Postitusi: 1230
[EEMAL]




postitati 3.12.2009 23:53 Tsiteeri


Kas natuke pikk ei ole? Ma teeks palju lühemalt

instance_create(random(room_width-64)+32, random(room_height-64)+32,food)?

vaatame x genereerimise osa:
random(room width - 64) EHK random(640 - 64) EHK random(576)

Suurim tekkida võiv arv on seega 576... (tegelikult 0 kuni 575 aga lihtsuse mõttes pole tähtis hetkel)
Aga misiganes arv tekib, lisatakse 32.
Seega suurim võimalik suvaline x-tulemus on 576+32 = 608... mis on 32 pikslit ühest servast
ja väiksem arv, mis võib tekkida, on 0, niikuinii lisatakse 32, ehk siis samuti sobib!

y osa töötab analoogselt.

A window is technically a wallhack.
Emo2: InCreator
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
pellar123
Level 2


Liitunud: 26.11.2009
Postitusi: 19
[EEMAL]




postitati 4.12.2009 06:17 Tsiteeri


Vot , seda oligi vaja ,
Tänud mõlemale :)



Peace .

Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum pellar123's Aim pellar123's ICQ status pellar123's Yahoo

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