dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Pat nezinu kā lai to nosauc

 
dev.gamez.lv Forum Index -> Iesācējiem
View previous topic :: View next topic  
Author Message
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 7:41 am    Post subject: Pat nezinu kā lai to nosauc

Man ir sekojoša problēma: man spēlē jāievieto vairāki ieroči, vismaz 10+. Problēma ir tur, ka man nav ne jausmas kā organizēt kodu lai ieročus un to parametrus būtu ērti glabāt un izsaukt vajadzības gadījumā.

Pašu ieroča data tipu es uzrakstīju šādi:

Code:
Public Structure Gun
        Dim Name as String
        Dim Damage As Integer
        Dim Weight As Integer
        Dim Durability As Integer
        Dim Range As Integer
        Dim Accurasy As Integer
        Dim Price As Integer
End Structure


(spēle RPG tipa tāpēc tādi ieroču parametri man pilnībā apmierina)

Gribētos visu informāciju par ieročiem salikt vienā moduli, un vajadzības gadījumā izsaukt.
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Thu Feb 22, 2007 8:44 am    Post subject:

Ir tur pieejami arrayi?
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 8:45 am    Post subject:

Jā, piemēram:
Code:
Dim myArray(100) as Integer
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Thu Feb 22, 2007 8:48 am    Post subject:

Tad jau var vienkārši izveidot array`u tai struktūrai. Ja ieroci ievietoti nemainīs kārtību u.tt tad ērtibas labad var vel katru to skaitli nodefinēt ar kādu nosaukumu.
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 8:51 am    Post subject:

Kā tas apmēram izskatās - katru skaitli nodefinēt ar savu nosaukumu ?
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Thu Feb 22, 2007 8:53 am    Post subject:

Uz c++ tas ir šādi:
Code:

#define GUN_ONE 0
#define GUN_TWO 1


ir vēl enumeration, bet nezinu vai tev tur viņi ir pieejami.
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 8:56 am    Post subject:

Enum arī ir Smile Es lietoju Visual Basic 2005
Es uztaisīju šādi:

Code:
Public Sub Weapons()
        'Glock-18
        Weapon(1).Name = "Glock-18"
        Weapon(1).Accurasy = 90
        Weapon(1).Damage = 5
        Weapon(1).Durability = 20
        Weapon(1).Price = 3500
        Weapon(1).Range = 2
        Weapon(1).Weight = 2
    End Sub


Tikai sanāk, ka lai inicializētu ieročus man ir jāizsauc tass Subs programmas sākumā. Tas ir normāli ?
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Thu Feb 22, 2007 9:12 am    Post subject:

Nezinu gluži vai tas ir normāli[neesmu visual basic savā mužā lietojis].
Tik varu uzrakstīt kā tas c++ izskatītos:
Code:

struct Gun {
 std::string strName;
 int nDamage;
 int nDurability;
 int nRange;
 int nAccuracy;
 int nPrice;
};   

...

Gun Weapons[10];
// Pievienojam visus atributus
Weapons[0].strName = "Glock-18";
Weapons[0].nAccuracy = 90;
Weapons[0].nDamage = 5;
...u.tt

respektīvi visus atribūtus var initializēt jebkurā vietā iznemot pašu struktūru, ja pareizi sapratu problemu...
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 9:17 am    Post subject:

Cik es zinu Beisikā nevar vinkārši paņem un uzrakstīt ka Weapon.Damage = 5
Tam obligāti jābūt kadā procedūrā (tā laikam tas sacas C++), tāda procedūra manā gadījumā ir Form_Load()
Kur es ielieku Call LoadWeapons() un tad visi ieročū parametri tiek ielādēti atmiņā. Principā viss darbojas. Droši vien ir labāks veids kā to visu izdarīt, bet man pašlaik ir galvenais lai darbojas Smile
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Thu Feb 22, 2007 9:23 am    Post subject:

Nu jā c++ ta vienkārši arī nevar un tam jābūt kādā funkcijā kuru pēctam izsauc. Bet ideja pati nemainās. Šaubos, kad ir labaki veidi ja taisa predefinētus parametrus tikai pāris fičas atšķirtos ja veidotu dinamisku to visu.
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 9:26 am    Post subject:

Es pat negribu domāt kā es jūgšos ja salikšu savā spēlē daudz ieroču Very Happy
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 22, 2007 10:45 am    Post subject:

Saraksti visu failā, piemēram:
Code:
Glock-18;90;5;20;3500;2;2
Automāts;666;50;100;2000;1;10
...

Tb vērtības atdali ar semikoliem, katru ieroci raksti jaunā rindiņā.
Šādu failu tu vari atvērt OpenOffice.org Calc vai MS Office Excelī, un rediģēt vērtības pa rūtiņām. Šādu faila formātu sauc par CSV.

Tad atliek programmā uzrakstīt faila ielādi un vērtību salikšanu masīvā. Vienkārši, vai ne?

Sarežģītākiem datiem nepietiks ar csv, bet vai nu vajadzēs domāt savu faila formātu (un rakstīt editoru tam), vai arī izmantot kautko jau izdomātu, piemēram XML. Kaut arī iesaku neko sarežģītu nelikt XMLā - tā ielāde ir ĻOTI lēni. Vienkāršiem xml failiņiem, piemēram opciju uzstādījumiem, xmls ir ok, taču sarežģītākām datu struktūrām iesaku uzrakstīt mazu konvertētāju no xml uz kādu savu izdomātu bināru formātu.
Back to top
View user's profile Send e-mail
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 4:54 pm    Post subject:

Kā apmēram varētu izskatīties funkcija kura var nolasīt
Code:
Glock-18;90;5;20;3500;2;2

un salikt to pa mainigajiem? Es diemžēl neprotu izmantot "krutās" string manipulācijas Embarassed
Taisīt katram ierocim savu txt failu kur glabātos 1 cipars es negribu Sad
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 22, 2007 7:00 pm    Post subject:

Tad jāsāk mācīties izmantot tādas "krutās" string manipulācijas:
http://msdn2.microsoft.com/en-us/library/6x627e5f.aspx
http://www.freevbcode.com/ShowCode.Asp?ID=275
Back to top
View user's profile Send e-mail
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Thu Feb 22, 2007 7:15 pm    Post subject:

šī ir nereāli labā - uzreiz atrkīt vairākas neērtības!
Code:
Dim TestString As String = "Look at these!"
Dim TestArray() As String = Split(TestString)

Liels paldies! Es saīsināju savu kodu par kkur 50 rindiņām.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> Iesācējiem All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group