• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Program, ktory wygral konkurs

Object Storage Arubacloud
0 głosów
491 wizyt
pytanie zadane 18 lutego 2017 w Nasze projekty przez 10kw10 Pasjonat (22,880 p.)

Jakies 2 miesiace temu dostalem polecenie od nauczyciele zebym zrobil program na konkurs. No wiec zrobilem i udalo sie, zostalem laureatem konkursu. Teraz chce zebyscie to Wy ocenili ten projekt. Ogolnie program robilem z kolega "grafikiem".

Tresc zadania:

W dowolnym języku programowania (np.: Baltie, Scratch, Python, C++, Java, App Inventor) napisz program, który na życzenie użytkownika będzie rysował dowolny obrazek składający się z 7 elementów,  a każdy element należy do osobnej kategorii i posiada 6 wariantów.

Celem programu jest narysowanie 7-elementowego rysunku, przy czym elementy kategorii powinny być wybierane losowo (można zasymulować rzuty kostką).

link do programu: Balwan

Dla tych co mysla ze sa tam wirusy ;)

https://github.com/10kw10/Balwan

Teraz widze, ze wiele rzeczy moglem napisac duzo lepiej. Najwiekszym bledem wedlug mnie bylo to ze nie dalem limitu fpsow przez co program dzialal inaczej na roznych komputerach.

Prosze o konstruktywna krytyke ;)

komentarz 18 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
sprobuj uruchomic w trybie zgodnosci z win 7
komentarz 18 lutego 2017 przez robertwe Gaduła (4,620 p.)
Działa ze zgodnością z win 7:

http://pl.tinypic.com/r/2hhonef/9
komentarz 18 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
to podziwiaj ;) [joke]
komentarz 18 lutego 2017 przez Piter10p Bywalec (2,750 p.)

Wojewódzki konkurs dla szkół ponadgimnazjalnych? surprise

Przyznam szczerze że troszeczkę mnie to dziwi.

komentarz 18 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
czemu ?

1 odpowiedź

+1 głos
odpowiedź 18 lutego 2017 przez Ehlert Ekspert (212,670 p.)
  1. Język polski razi
  2. Klasa która nazywa się BUTTON? Dziwna konwencja nazw.
  3. Teraz sprawa tych wszystkich tekstur. Czemu trzymasz je dynamicznie? Dlaczego jest ich aż tyle? Można posklejać te obrazki. To rozwiązanie jest zupełnie niewydajne.
  4. Niektórzy zapewne wypowiedzą się w temacie std::rand. Losowanie mogłoby być tym nowszym silnikiem.
  5. std::to_string
  6. Nie mam pojęcia czemu miało służyć rysuj i dlaczego nie dziedziczyłeś z sf::Drawable.
  7. Uważam, że wskaźnik na teksturę w każdym obiekcie typu KATEGORIA jest niepotrzebny ale to moje zdanie. Skoro to było na konkurs warto było popisać się np CRTP.
  8. Nie ma sensu przekazywać inta przez referencję. Bardziej const na argument.
  9. Używałeś dynamicznych tablic. Szkoda że nie jakiejś ze struktur danych.
  10. Nie obsłużony przypadek niewczytania tekstury.
  11. enum class zamiast enum.
  12. Czytelność kodu z piekła rodem devil
  13. Cały program zapowiadał się obiektowo a main ma 162 linijki.
  14. Szkoda że nie ma pętli stałokrokowej.
  15. Jeszcze kilka wywołań w funkcji pozycjonowanie i wymagania przewyższyłyby Wiedźmina 3.
komentarz 18 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
2. brakowalo mi nie raz slow

3. zrobic jeden obrazek i pobierac np 50x50 pikseli z wybranej czesci ?

6. I tak nie korzystalem z Shaderow. No bo chcialem przypisac sprite z obiektu na ktory wskazuje wsk i nie mialem innego pomyslu. W sumie jak teraz patrze i w metodzie rysuj jest 1 linijka to nie wiem po co nie raz tworzylem ta metode.

9. uzywalem vectorow

11. ze niby przed mainem powinienem zdeklarowac enum ?

12. a wydawalo mi sie ze jest czytelnie

13. to duzo ?

14. nie mialem innego pomyslu
komentarz 18 lutego 2017 przez Ehlert Ekspert (212,670 p.)

Co do metody to na pewno jej odpowiedzialność należała do obiektów. sf::Drawable nie jest związane z shaderami. enum class. To jest czytelne?

        kosc.na_kosci(mysz);
        //animacja kostki
        if(czas.asMilliseconds()>=90){if(kosc.anime==true && kosc.wylosowano==false)kosc.animacja();if(ins.anime==true)ins.animacja_kostki();zegar.restart();}
        if(kosc.wylosowano==true)kosc.losowanie();

        //Pokazywanie sie wyrazow w instrukcji
        if(cz2.asMilliseconds()>=400){if(ins.wyrazy[0]<ins.ins1.size() && stan==instrukcja)ins.wyrazy[0]++;if(ins.wyrazy[1]<ins.ins2.size() && ins.wyrazy[0]>=ins.ins1.size() && stan==instrukcja)ins.wyrazy[1]++;if(ins.wyrazy[2]<ins.ins3.size() && ins.wyrazy[1]>=ins.ins2.size() && stan==instrukcja)ins.wyrazy[2]++;z2.restart();}

        //sniezki
        if(przycisk.anime==true)if((przycisk.przejechano(mysz,przycisk.najechany,przycisk.image))==true)for(int i=0;i<8;i++)s[i].pierwszy=true;
        //losowanie melodii
        if(cz.asSeconds()>=1){if(muza.sek>0)muza.sek--;if(ins.klik==true && ins.cd>0)ins.cd--;if(ins.kiedy>0 && stan==instrukcja)ins.kiedy--;if(ins.anime==true)ins.c_k--;z.restart();}
        if(muza.sek==0)muza.wczytanie=false;
        if(muza.wczytanie==false && muza.sek<=0 && muza.pierwsze==false)muza.melodie();
komentarz 18 lutego 2017 przez 10kw10 Pasjonat (22,880 p.)
tzn ze powinienem dawac wiecej komentarzy i czytelniejsze nazwy ?

dawalem takie krotkie nazwy, zazwyczaj skroty bo szybciej sie je pisze.
komentarz 18 lutego 2017 przez Ehlert Ekspert (212,670 p.)
W pracy to nie przejdzie. Jeśli będziesz pisać czytelny kod to komentarze będą całkowicie zbędne. Grunt to dobra nazwa.
2
komentarz 18 lutego 2017 przez HaKIM Szeryf (87,590 p.)
komentarz 28 sierpnia 2018 przez 10kw10 Pasjonat (22,880 p.)
wracajac do tematu xd co jest nie tak w nazwie klasy Button?

Podobne pytania

+7 głosów
2 odpowiedzi 323 wizyt
pytanie zadane 26 kwietnia 2017 w Nasze projekty przez JojololomenPL Bywalec (2,580 p.)
+3 głosów
0 odpowiedzi 174 wizyt
pytanie zadane 27 maja 2016 w Nasze projekty przez Noak Mądrala (5,900 p.)
0 głosów
1 odpowiedź 177 wizyt
pytanie zadane 13 kwietnia 2015 w Nasze projekty przez Hubert Murawski Stary wyjadacz (11,990 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...