Giter VIP home page Giter VIP logo

Comments (12)

MarcinCiura avatar MarcinCiura commented on July 17, 2024 1
  1. Myliłem się co do .keys() — w Pythonie 3 jest czas stały. Mimo to prościej bez .keys().

from python-mastermind-game-opengl.

MarcinCiura avatar MarcinCiura commented on July 17, 2024 1
  1. Proszę zignorować. Ma zostać StateTest.

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024

@MarcinCiura

  1. requirements.txt wrzuciłem dodatkowo, bo było to wymagane w pkt 1.3. Przetestowałem projekt na Pythonie 3.6 i uruchamia się prawidłowo (pipenv run python run_project.py), poprawiłem Pipfile #2031655
  2. punkty 2-21 poprawione
  3. pkt. 22 - VBO
    VAO
    Wytłumaczenie VBO, VAO, EBO i shaderów

23-32 in progress, skończę resztę poprawek prawdopodobnie jutro wieczorem

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024
  1. pkt 25. - nie, niestety nie zadziała, na początku chciałem zrobić w taki sposób i moduł zwracał błąd.
    TypeError: wrapperCall() got an unexpected keyword argument 'target'. Dodałem drobne obejście w #91631c2. Proszę ocenić czy takie rozwiązanie jest bardziej eleganckie od poprzedniej wersji z komentarzami.

from python-mastermind-game-opengl.

MarcinCiura avatar MarcinCiura commented on July 17, 2024
  1. Może być, dziękuję. A co by było, gdyby ponazywać wszystkie argumenty oprócz target?

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024

25 - dalej jest ten sam błąd, tylko dla kolejnego nazwanego argumentu
32 - in progress

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024

@MarcinCiura
Na początku na liście są wszystkie możliwe kody. - czy tu chodzi o listę wszystkich permutacji od 1111 do 6666?
Potem w każdej turze jedzie po tej liście, dla każdego elementu znajduje odpowiedź na bieżącą próbę człowieka i powiększa w collections.Counter liczniki odpowiadające tym odpowiedziom. - tego kompletnie nie rozumiem, na czym ma polegać znajdywanie odpowiedzi na bieżącą próbę człowieka? Czy każdy element z listy permutacji ma mieć swój własny licznik?
Po przejechaniu listy wybiera odpowiedź z maksymalnym licznikiem, znowu przejeżdża listę, żeby ją zawęzić zgodnie ze swoją odpowiedzią i zastępuje starą listę przez nową. - jeżeli każda odpowiedź gracza jest dodawana do licznika to aby licznik miał wartość większą niż 1 gracz musiałby kilkukrotnie wpisać ten sam kod, czy to prawda? Dodatkowo, zgodnie ze swoją odpowiedzią - o jaką swoją odpowiedź chodzi? Czy to ma być symulacja gry z komputerem do czasu aż ktoś pierwszy zgadnie kod? Niestety kompletnie nie rozumiem treści tego zadania.

from python-mastermind-game-opengl.

MarcinCiura avatar MarcinCiura commented on July 17, 2024
  1. Początkowo na liście, np. self.codes są wszystkie możliwe kody, czyli od '1111' do '6666', zgadza się (chyba że powtórzenia cyfr są sprzeczne z regułami, nie pamiętam).
  2. Człowiek strzela np. human_attempt = '4421'. W pętli dla każdego kodu z listy znajdujemy odpowiedź komputera, czyli reply('1111', '4421') zwraca 'c' (1 czarny kołek), reply('1112', '4421')'bb' (2 białe kołki) itd. W przygotowanym przed pętlą code_counter = collections.Counter() robimy zatem code_counter['c'] += 1, code_counter['bb'] += 1 i tak dalej aż do końca listy.
  3. Następnie bierzemy most_difficult_reply = code_counter.most_common(1)[0]. Tę odpowiedź za chwilę damy człowiekowi, a tymczasem robimy self.codes = [x for x in self.codes if reply(x, human_attempt) == most_difficult_reply].

Jeśli dalej niejasne, proszę pisać

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024

@MarcinCiura wszystkie poprawki skończone, poprawiłem też nowe błędy z pylinta i wszystko przechodzi 10/10. Sporo zmieniła się logika odpowiedzialna za wybór klasy z regułami gry, teraz nie ma już flagi cheater True/False tylko jest stała z listą klas tutaj. Po każdym resecie jest losowana jedna z klas z tej listy (tutaj) i tworzony jest jej obiekt tutaj.

Odnośnie samego wymogu z punktu 32, to całość realizuje klasa EnhancedGameRules

from python-mastermind-game-opengl.

MarcinCiura avatar MarcinCiura commented on July 17, 2024

Dziękuję za wiadomość. Tutaj lepsze random.choice(). I nieimportowanie funkcji z modułów.

from python-mastermind-game-opengl.

piorus avatar piorus commented on July 17, 2024

@MarcinCiura Poprawione, zamieniłem randint na random.choice i dodałem import modułu zamiast funkcji. Dziękuję za wnikliwy CR i proszę o informację czy jest jeszcze coś do poprawy, w przeciwnym wypadku proszę o informację zwrotną z oceną bo niestety gonią mnie też inne przedmioty. Przyznaję że praca nad tym projektem niesamowicie pochłonęła i dowiedziałem się sporo nowych, ciekawych rzeczy o pythonie.

from python-mastermind-game-opengl.

MarcinCiura avatar MarcinCiura commented on July 17, 2024

LGTM. Przy wystawianiu ocen będę pamiętał, że Pana projekt jest skończony (ocena: 5).

from python-mastermind-game-opengl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.