Zatrzymanie się na metodach – co robić dalej?

Odpowiedz Nowy wątek
2018-12-06 02:22
0

Witam zatrzymalem się na metodach i nie wiem co robić chyba ich nie rozumiem do końca..

edytowany 1x, ostatnio: furious programming, 2018-12-06 04:20
Aaaa żegnam. - kate87 2018-12-06 11:29

Pozostało 580 znaków

2018-12-06 16:43
0
Hispano-Suiza napisał(a):

Polecałem wielu osobom i polecę i Tobie. Sam miałem okazję poczytać po jej premierze i mam dobre zdanie:
https://helion.pl/ksiazki/c-6[...]c-lippert,ch6kpp.htm#format/d

Możliwe, że jest nowsza wersja tej pozycji (do C# 7.0). Jeśli tak to kupuj w ciemno.

Jest, ale po ang... Ta 6.0 będzie tez okej?

Pozostało 580 znaków

2018-12-06 16:46
0

Mam coś do napisania w javascripcie. I też zatrzymałem się na metodach.

Pozostało 580 znaków

2018-12-06 16:53
0
Wielki Zły Rozpruwacz napisał(a):
Hispano-Suiza napisał(a):

Polecałem wielu osobom i polecę i Tobie. Sam miałem okazję poczytać po jej premierze i mam dobre zdanie:
https://helion.pl/ksiazki/c-6[...]c-lippert,ch6kpp.htm#format/d

Możliwe, że jest nowsza wersja tej pozycji (do C# 7.0). Jeśli tak to kupuj w ciemno.

Jest, ale po ang... Ta 6.0 będzie tez okej?

C# 6 jest od lipca 2015 (chyba). Mamy koniec 2018 więc spokojnie. Przejście do nowszych wersji to będzie kosmetyka w porównaniu z nauką od zera. Dlaczego nie po angielsku? Jest dosyć prostym językiem napisana. Ale wybór należy do Ciebie. Myślę, że Ci sami autorzy gwarantują w nowszym wydaniu taka samą jakość ;-)


"Trolling is a art"

Pozostało 580 znaków

2018-12-06 17:26
0

W programowaniu obiektowym dzieli się program na różne obiekty (jak zapewne wiesz obiekty mogą należeć do różnych klas - klasa to taki jakby wzorzec dla obiektu. W ten sposób z jednej klasy można zrobić np. 1000 obiektów jednego typu).

No i program ogólnie składa się z różnego rodzaju obiektów, takich jakby "części programu", które się ze sobą potem komunikują. I teraz - sposób komunikacji między obiektami, takie jakby komunikaty czy polecenia, które obiekty sobie wysyłają między sobą - nazywane są właśnie "metodami" (w grze np. klasa Enemy mogłaby mieć metodę "kill", która zabijałaby wroga. Albo metodę "draw", która rysowałaby wroga na ekranie. Generalnie metody oznaczają pewne działanie, chociaż nie zawsze).

Ale najpierw spróbuj załapać, po co są właściwie obiekty, bo:

  public class Enemy
    {
        public string[] enemyName = new string[256];
        public int[] enemyHP = new int[256];
        public int[] enemyDMG = new int[256];
    }

O ile nie robisz jakiegoś ECS (Entity-Component-System: taki wzorzec projektowy w grach, ale to już wyższa szkoła jazdy) to takie podejście jak wyżej zdradza, że nie rozumiesz specjalnie, po co są obiekty.

Zamiast zrobić klasę Enemy dla obiektów typu "wróg" i dla każdego wroga utworzyć jeden obiekt typu Enemy (który miał właściwości takie jak name, HP czy DMG - to tworzysz klasę o nazwie Enemy, która zawiera kilka tablic dla każdej właściwości.

Albo to jakaś próba zaimplementowania ECS (wtedy podobne patterny się robi, ale jednak z wiedzą dlaczego tak się robi), albo zwykłe programowanie proceduralne opakowane w OOP. A raczej programowanie tablicowe jeśli jest coś takiego (co samo w sobie nie musi być złe, niektórzy tak specjalnie robią. Ale mimo wszystko nie tędy droga do zrozumienia OOP).


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);
edytowany 2x, ostatnio: LukeJL, 2018-12-06 17:28

Pozostało 580 znaków

2018-12-06 18:06
0
LukeJL napisał(a):

W programowaniu obiektowym dzieli się program na różne obiekty (jak zapewne wiesz obiekty mogą należeć do różnych klas - klasa to taki jakby wzorzec dla obiektu. W ten sposób z jednej klasy można zrobić np. 1000 obiektów jednego typu).

No i program ogólnie składa się z różnego rodzaju obiektów, takich jakby "części programu", które się ze sobą potem komunikują. I teraz - sposób komunikacji między obiektami, takie jakby komunikaty czy polecenia, które obiekty sobie wysyłają między sobą - nazywane są właśnie "metodami" (w grze np. klasa Enemy mogłaby mieć metodę "kill", która zabijałaby wroga. Albo metodę "draw", która rysowałaby wroga na ekranie. Generalnie metody oznaczają pewne działanie, chociaż nie zawsze).

Ale najpierw spróbuj załapać, po co są właściwie obiekty, bo:

  public class Enemy
    {
        public string[] enemyName = new string[256];
        public int[] enemyHP = new int[256];
        public int[] enemyDMG = new int[256];
    }

O ile nie robisz jakiegoś ECS (Entity-Component-System: taki wzorzec projektowy w grach, ale to już wyższa szkoła jazdy) to takie podejście jak wyżej zdradza, że nie rozumiesz specjalnie, po co są obiekty.

Zamiast zrobić klasę Enemy dla obiektów typu "wróg" i dla każdego wroga utworzyć jeden obiekt typu Enemy (który miał właściwości takie jak name, HP czy DMG - to tworzysz klasę o nazwie Enemy, która zawiera kilka tablic dla każdej właściwości.

Albo to jakaś próba zaimplementowania ECS (wtedy podobne patterny się robi, ale jednak z wiedzą dlaczego tak się robi), albo zwykłe programowanie proceduralne opakowane w OOP. A raczej programowanie tablicowe jeśli jest coś takiego (co samo w sobie nie musi być złe, niektórzy tak specjalnie robią. Ale mimo wszystko nie tędy droga do zrozumienia OOP).

Chciałem własnie zrobić tak jakby proceduralne tworzenie przeciwników Nazwa, DMG, Życie...

Ale jednak nie rozumiem co ja tutaj zrobilem. Czyli mam zacząć od obiektów? (Nie wiem co to).

Pozostało 580 znaków

2018-12-06 18:56
2

Wyobraź sobie, że robisz planszówkę. Wtedy to, co byłoby obiektem/przedmiotem/pojęciem w planszówce, może być obiektem w kodzie.

Np. jeśli jest 4 graczy, to w kodzie możesz zrobić, że będą 4 obiekty typu Player.
Jeśli gracz ma swoje pionki, to w kodzie możesz zrobić że każdy gracz ma w sobie kolekcję(tablicę, listę itp.) obiektów typu Pawn.
Każdy pionek (obiekt klasy Pawn) mógłby mieć w sobie właściwości typu pozycja na planszy, rodzaj pionka itp.


((0b10*0b11*(0b10**0b101-0b10)**0b10+0b110)**0b10+(100-1)**0b10+0x10-1).toString(0b10**0b101+0b100);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0