timeit

Програмиране с Python

Курс във Факултета по Математика и Информатика към СУ

Решение на Изберете си проект от Веселин Иванов

Обратно към всички решения

Към профила на Веселин Иванов

Код

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Темата на проекта е играта Тетрис. Искам да включа и бот, който да може да
играе играта. Смятам да реализирам бота използвайки генетичен алгоритъм.
Естествено ще има графичен потребителски интерфейс. Режимът на игра ще бъде:
човек почва играта и по всяко време ще има възможност да активира(например 
чрез натискане на бутон) бота. Тогава бота започва да играе докато не бъде
деактивиран или не приключи играта. След деактивиране на бота човекът 
продължава да играе самостоятелно, докато не активира бота отново или не 
приключи играта и т.н. 
    Освен това смятам да имплементирам генетичния алгоритъм да работи 
паралелно(ако не успея да го реализирам паралелно, ще го реализиран 
последователно), използвайки multiprocessing модула. Ако не съм доволен от 
постигнатия performance, и имам време и възможност, мисля да опитам да го 
имплементирам на C, като extension(чрез C API-то на Python, или ctypes), 
използвайки pthread и по възможност sse2 инструкции. Играчът ще има възможност
да тренира бота. Ако остане време може да имплементирам и възможност да 
наблюдава процеса на трениране.
    При налично време(или го закъсам яко с бота) може и да имплементирам 
multiplayer режим. Двамата играчи играят едновременно един срещу друг. Всеки 
си има отделен "grid", в който играе. Играта приключва, когато единият от 
играчите вече не може да продължи да играе или се откаже. Двамата играчи 
играят през интернет. Единият дава на другия играч ip-то си. Другият играч 
въвежда даденото ip и играта започва.
    За потребителския интерфейс се колебая между PyGTK и PyQt5. За сега клоня 
към PyQt5.
    Ако имате въпроси, съвети или предложения пишете!

История (2 версии и 1 коментар)

Веселин обнови решението на 28.04.2016 00:10 (преди над 1 година)

1
2
3
4
5
    Темата на проекта е играта Тетрис. Искам да включа и бот, който да може да играе играта. Смятам да реализирам бота използвайки генетичен алгоритъм. Естествено ще има графичен потребителски интерфейс. Режимът на игра ще бъде: човек почва играта и по всяко време ще има възможност да активира(например чрез натискане на бутон) бота. Тогава бота започва да играе докато не бъде деактивиран или не приключи играта. След деактивиране на бота човекът продължава да играе самостоятелно, докато не активира бота отново или не приключи играта и т.н. 
    Освен това смятам да имплементирам генетичния алгоритъм да работи паралелно(ако не успея да го реализирам паралелно, ще го реализиран последователно), използвайки multiprocessing модула. Ако не съм доволен от постигнатия performance, и имам време и възможност, мисля да опитам да го имплементирам на C, като extension(чрез C API-то на Python, или ctypes), използвайки pthread и по възможност sse2 инструкции. Играчът ще има възможност да тренира бота. Ако остане време може да имплементирам и възможност да наблюдава процеса на трениране.
    При налично време(или го закъсам яко с бота) може и да имплементирам multiplayer режим. Двамата играчи играят едновременно един срещу друг. Всеки си има отделен "grid", в който играе. Играта приключва, когато единият от играчите вече не може да продължи да играе или се откаже. Двамата играчи играят през интернет. Единият дава на другия играч ip-то си. Другият играч въвежда даденото ip и играта започва.
    За потребителския интерфейс се колебая между PyGTK и PyQt5. За сега клоня към PyQt5.
    Ако имате въпроси, съвети или предложения пишете!

Веселин обнови решението на 28.04.2016 00:18 (преди над 1 година)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Темата на проекта е играта Тетрис. Искам да включа и бот, който да може да
играе играта. Смятам да реализирам бота използвайки генетичен алгоритъм.
Естествено ще има графичен потребителски интерфейс. Режимът на игра ще бъде:
човек почва играта и по всяко време ще има възможност да активира(например 
чрез натискане на бутон) бота. Тогава бота започва да играе докато не бъде
деактивиран или не приключи играта. След деактивиране на бота човекът 
продължава да играе самостоятелно, докато не активира бота отново или не 
приключи играта и т.н. 
    Освен това смятам да имплементирам генетичния алгоритъм да работи 
паралелно(ако не успея да го реализирам паралелно, ще го реализиран 
последователно), използвайки multiprocessing модула. Ако не съм доволен от 
постигнатия performance, и имам време и възможност, мисля да опитам да го 
имплементирам на C, като extension(чрез C API-то на Python, или ctypes), 
използвайки pthread и по възможност sse2 инструкции. Играчът ще има възможност
да тренира бота. Ако остане време може да имплементирам и възможност да 
наблюдава процеса на трениране.
    При налично време(или го закъсам яко с бота) може и да имплементирам 
multiplayer режим. Двамата играчи играят едновременно един срещу друг. Всеки 
си има отделен "grid", в който играе. Играта приключва, когато единият от 
играчите вече не може да продължи да играе или се откаже. Двамата играчи 
играят през интернет. Единият дава на другия играч ip-то си. Другият играч 
въвежда даденото ip и играта започва.
    За потребителския интерфейс се колебая между PyGTK и PyQt5. За сега клоня 
към PyQt5.
    Ако имате въпроси, съвети или предложения пишете!

Освен това смятам да имплементирам генетичния алгоритъм да работи паралелно(ако не успея да го реализирам паралелно, ще го реализиран последователно), използвайки multiprocessing модула. Ако не съм доволен от постигнатия performance, и имам време и възможност, мисля да опитам да го имплементирам на C, като extension(чрез C API-то на Python, или ctypes), използвайки pthread и по възможност sse2 инструкции. Играчът ще има възможност да тренира бота. Ако остане време може да имплементирам и възможност да наблюдава процеса на трениране.

Не се фокусирай върху performance-а за сега. Нека да видим колко бавен се окаже и тогава ще мислим варианти :)

Иначе ми харесва идеята.