Reklama
Strona 3 z 3 PierwszaPierwsza 123
Pokazuje wyniki od 31 do 39 z 39

Temat: C# - "obiekt" klasy jako parametr funkcji

  1. #31
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    Rusz Głową C# ;D polecam już nty raz ;P

    irc: freenode.net in #torgdevs

  2. #32
    Mickey Mouse

    Domyślny

    Cytuj Kusterek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Rusz Głową C# ;D polecam już nty raz ;P
    ok zaraz kupię ebooka :D
    @szulak ; jutro wejdę na irc

  3. Reklama
  4. #33

    Data rejestracji
    2015
    Posty
    22
    Siła reputacji
    0

    Domyślny

    Cytuj szulak napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    @Wonsz Zabujca ;
    Dlaczego "lepiej ucz sie z neta" ? Jakies argumenty za tym?

    @Mickey Mouse ;
    Oczywiscie, ze sie oplaca. Zakladajac, ze ksiazka to koszt 100zl, a swoja prace wycenisz na 25zl/h, to praca 4h zwroci Ci ksiazke. Anyway.. przetestowalem kilka sposob 'nauki' programowania, i w moim wypadku, najbardziej sprawdza sie ksiazka + praktyka - tj., czytam rozdzial (lub subrozdział), i na podstawie zdoybtej wiedzy cos kodze. W prakryce wyglada to tak, ze 2 dni czytam - 1 dzien kodze. A pozatym, zapraszamy na IRCa.
    duża część wiedzy jest dostępna na necie szczególnie podstaw do tego widziałem po znajomych ich naukę z książek i zawsze kończyło się przepisywaniem z książki na żywca więc wg mnie jak książki to raczej nie do podstaw

  5. #34
    Mickey Mouse

    Domyślny

    Szkoda mi trochę zakładać nowy temat a nadal problem z C# więc odkopię ten. Miałem sporą przerwę z C# i mam mały problem.
    Mam 3 praktycznie identyczne funkcje zwracające 3 różne wartości ale nie mam pomysłu jak zrobić z tych trzech jedną która będzie zwracała tablice z 3 różnymi wartościami. Bo bez sensu robić 3x to samo przy późniejszym ustawianiu tych spelli skoro można krócej. Z góry dzięki za pomoc.

    Kod:
       static float SPELL_TIME(ATTACKS attacks)
        {
            switch(attacks)
            {
                case ATTACKS.ATTACK_MELEE:
                case ATTACKS.BLUE_BALL:
                case ATTACKS.NIGHTMARE_BALL:
                case ATTACKS.THUNDERSTORM:
                    return 5.0f;
                default:
                    return 1.0f;
            }
        }
    
        static float SPELL_SLIDER_SPEED(ATTACKS attacks)
        {
            switch (attacks)
            {
                case ATTACKS.ATTACK_MELEE:
                case ATTACKS.BLUE_BALL:
                case ATTACKS.NIGHTMARE_BALL:
                case ATTACKS.THUNDERSTORM:
                    return 3.0f;
                default:
                    return 1.0f;
            }
        }
    
        static int SPELL_BASE_DMG(ATTACKS attacks)
        {
            switch (attacks)
            {
                case ATTACKS.ATTACK_MELEE:
                case ATTACKS.BLUE_BALL:
                case ATTACKS.NIGHTMARE_BALL:
                case ATTACKS.THUNDERSTORM:
                default:
                    return 100;
            }
        }

  6. #35
    Avatar Terr
    Data rejestracji
    2004
    Położenie
    Venore
    Posty
    1,993
    Siła reputacji
    22

    Domyślny

    lepiej zebys w enumie/klasie przy okazji przetrzymywał takie dane jak baseDmg, sliderSpeed itd

  7. #36
    Mickey Mouse

    Domyślny

    Cytuj Terr napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    lepiej zebys w enumie/klasie przy okazji przetrzymywał takie dane jak baseDmg, sliderSpeed itd
    W klasie nie bardzo mogę. A jak mam to zrobić w enumie?

  8. #37
    konto usunięte

    Domyślny

    Cytuj Mickey Mouse napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Szkoda mi trochę zakładać nowy temat a nadal problem z C# więc odkopię ten. Miałem sporą przerwę z C# i mam mały problem.
    Mam 3 praktycznie identyczne funkcje zwracające 3 różne wartości ale nie mam pomysłu jak zrobić z tych trzech jedną która będzie zwracała tablice z 3 różnymi wartościami. Bo bez sensu robić 3x to samo przy późniejszym ustawianiu tych spelli skoro można krócej. Z góry dzięki za pomoc.
    Kod:
    using System;
    using System.Collections.Generic;
    using System.Reflection;
    
    public enum AttackType
    {
    	Melee,
    	BlueBall,
    	NightmareBall,
    	Thunderstorm
    };
    
    public struct Spell
    {
    	public AttackType attackType;
    	public double time;
    	public double sliderSpeed;
    	public int baseDmg;
    	
    	public Spell(AttackType attackType, double time, double sliderSpeed, int baseDmg)
    	{
    		this.attackType = attackType;
    		this.time = time;
    		this.sliderSpeed = sliderSpeed;
    		this.baseDmg = baseDmg;
    	}
    }
    
    
    public class Test
    {
    	
    	static T GetSpellProperty<T>(String name, Spell spell)
    	{
    		FieldInfo field = typeof(Spell).GetField(name);
            return (T)(field.GetValue(spell));
    	}
    	
    	
    	public static void Main()
    	{
    		List<Spell> knownSpells = new List<Spell>();
    		
    		knownSpells.Add(new Spell(AttackType.Melee, 1.0f, 0.5f, 20));
    		knownSpells.Add(new Spell(AttackType.BlueBall, 2.0f, 0.5f, 40));
    		knownSpells.Add(new Spell(AttackType.NightmareBall, 4.0f, 0.5f, 50));
    
    		Console.WriteLine(GetSpellProperty<int>("baseDmg", knownSpells[0]));
    	}
    }

  9. #38
    Mickey Mouse

    Domyślny

    Cytuj szulak napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Kod:
    using System;
    using System.Collections.Generic;
    using System.Reflection;
    
    public enum AttackType
    {
    	Melee,
    	BlueBall,
    	NightmareBall,
    	Thunderstorm
    };
    
    public struct Spell
    {
    	public AttackType attackType;
    	public double time;
    	public double sliderSpeed;
    	public int baseDmg;
    	
    	public Spell(AttackType attackType, double time, double sliderSpeed, int baseDmg)
    	{
    		this.attackType = attackType;
    		this.time = time;
    		this.sliderSpeed = sliderSpeed;
    		this.baseDmg = baseDmg;
    	}
    }
    
    
    public class Test
    {
    	
    	static T GetSpellProperty<T>(String name, Spell spell)
    	{
    		FieldInfo field = typeof(Spell).GetField(name);
            return (T)(field.GetValue(spell));
    	}
    	
    	
    	public static void Main()
    	{
    		List<Spell> knownSpells = new List<Spell>();
    		
    		knownSpells.Add(new Spell(AttackType.Melee, 1.0f, 0.5f, 20));
    		knownSpells.Add(new Spell(AttackType.BlueBall, 2.0f, 0.5f, 40));
    		knownSpells.Add(new Spell(AttackType.NightmareBall, 4.0f, 0.5f, 50));
    
    		Console.WriteLine(GetSpellProperty<int>("baseDmg", knownSpells[0]));
    	}
    }
    Dzięki wielkie za pomoc.

  10. #39
    konto usunięte

    Domyślny

    Cytuj Mickey Mouse napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Dzięki wielkie za pomoc.
    @Mickey Mouse ;
    Tutaj masz live: https://ideone.com/k75KtV

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 1 użytkowników przegląda ten temat. (0 użytkowników i 1 gości)

Podobne tematy

  1. Praca jako "cieć" i pozwolenie na broń?
    Przez Perkun w dziale O wszystkim i o niczym
    Odpowiedzi: 30
    Ostatni post: 19-05-2017, 20:55
  2. [C++] Tworzenie tablicy dynamicznej jako element klasy
    Przez hefalump w dziale Programowanie
    Odpowiedzi: 12
    Ostatni post: 17-12-2014, 17:15
  3. Petycja w sprawie funkcji nagrywania w Tibii
    Przez Inny_15 w dziale Tibia
    Odpowiedzi: 16
    Ostatni post: 30-05-2010, 11:35
  4. Obiekt w tibii
    Przez Siw w dziale Tibia
    Odpowiedzi: 10
    Ostatni post: 25-03-2010, 11:50
  5. Odpowiedzi: 2
    Ostatni post: 14-03-2010, 18:59

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •