Hirdetés
- Vegyes társaság jött a szombati hardverbuliba
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Így tüzelt el százbillió forintot az AI a héten
- Kétféle módon harcol a forró helyzetekkel szemben az ASUS új, M.2-es SSD háza
- Mérföldkő a szilárdtest akkuknál: fontos lépést tett a QuantumScape
- Milyen videókártyát?
- TCL LCD és LED TV-k
- AMD Navi Radeon™ RX 9xxx sorozat
- Melyik tápegységet vegyem?
- Névteleníti a Panther Lake IGP-jét az Intel, ha nem gyors a memória mellette
- Fejhallgató erősítő és DAC topik
- HiFi műszaki szemmel - sztereó hangrendszerek
- Kormányok / autós szimulátorok topikja
- Házi hangfal építés
- Vezeték nélküli fejhallgatók
Új hozzászólás Aktív témák
-
Tomi_78
aktív tag
Sziasztok!
Annak megválaszolásában kérném a segítségeteket, hogy egy listába a legutóbb beszúrt elem indexét hogyan lehet megkapni? Mert én most a listanév.Count-1 képletet használom hozzá, de valamiért ez nem jó.
A programomban van egy palya nevű térkép, amely alapján elhelyezem a képernyőre a játék elemeit, viszont nem mindenhol illeszkednek így pontosan egymáshoz, amiknek kéne, pl. a szereplőknek a platformok fölé. Ezért azt csinálom, hogy a létrehozáskor az y koordinátájuk módosuljon úgy, hogy leessenek az alattuk levő platformra, és azután indulhatna a játék - de ez eddig nem sikerült nekem.
Így néz ki most, felvázolva lényege:/*1: Játékos, 2: robot1, 3: platform, 4: platform és fölötte robot1, 5: tank1, 6: platform és fölötte tank1,
7: ketrec, 8: platform fölötte ketreccel, 9: kis drón*/
switch (mostpalya) {
case 1:
palya = new int[,]{{0,0,0,0,0,0,0,0,0,0},
{0,0,9,0,0,0,0,0,5,0},
{0,0,0,0,3,3,4,8,3,3},
{0,0,0,0,0,0,0,0,0,0},
{3,4,3,3,0,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0},
{0,0,0,3,3,0,0,3,8,3},
{0,0,0,0,0,0,0,0,0,0},
{0,3,3,0,0,3,3,3,0,0},
{2,0,0,0,1,0,0,0,0,5},
};Aztán egy tank létrehozása:case 5:
var egyell3 = new JatekElemei();
egyell3.xhely = xh;
egyell3.yhely = yh-tank1all.Height;
egyell3.nezirany = "balra";
egyell3.mitcsinal = "jarkal";
egyell3.mostkepe = tank1all;
egyell3.neve="tank1";
egyell3.mozgseb = 6;
egyell3.elete=3;
egyell3.melyseg = 0;
jatelemlista.Add(egyell3);
elhelyez(jatelemlista.Count-1,egyell3.xhely,egyell3.yhely,egyell3.mostkepe.Width,egyell3.mostkepe.Height);
break;és az elhelyező alprogramok:void elhelyez(int jatelem, int xh, int yh, int kepszel, int kepmag) {
while (yh<=Screen.PrimaryScreen.Bounds.Height-talcamag-cimsormag && kivelutkozik(jatelem,xh,yh+kepmag+1,kepszel,kepmag)==-1) {
yh+=1;
}
jatelemlista[jatelem].yhely = yh;
}int kivelutkozik(int hivoobj, int ittx, int itty, int objkepszel, int objkepmag) {
for (int i=0; i<jatelemlista.Count; i++) {
var je = jatelemlista[i];
if (hivoobj!=i && je.neve!="arcocska" && ittx<je.xhely+je.mostkepe.Width && ittx+objkepszel>je.xhely && itty<je.yhely+je.mostkepe.Height && itty+objkepmag>je.yhely) return i;
}
return -1;
}És az a fő baj, hogy az elhelyez alprogram hívása az összes tankot elmozgatja, nemcsak a jatelem indexűt, ami elvileg a jatelemlista.Count-1.Az meg már csak a hab a tortán, hogy nem is jól teszi lentebb őket, hanem lóg a levegőben az egyik a kettő közül.
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Milyen videókártyát?
- Kerékpárosok, bringások ide!
- Synology NAS
- TCL LCD és LED TV-k
- Bestbuy játékok
- Témázgatunk, témázgatunk!? ... avagy mutasd az Android homescreened!
- AMD Navi Radeon™ RX 9xxx sorozat
- Melyik tápegységet vegyem?
- sziku69: Fűzzük össze a szavakat :)
- Névteleníti a Panther Lake IGP-jét az Intel, ha nem gyors a memória mellette
- További aktív témák...
- Új MSI Modern 15 FHD IPS Ryzen5 7530U 4.5Ghz 16GB 512GB SSD Radeon RX Vega7 Graphics Win11 Garancia
- DJI mini 3 drón display unit
- BESZÁMÍTÁS! ASRock B550 R7 3700X 32GB DDR4 512GB SSD AORUS RTX 3070Ti 8GB LIAN LI 216 RX ASUS 750W
- Telefon felvásárlás!! Samsung Galaxy A70/Samsung Galaxy A71/Samsung Galaxy A72
- Xeon E5 1650 v3, 2680 v3, 2690 v3 processzorok
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


