Различия между версиями 1 и 2
Версия 1 от 2011-12-25 15:31:00
Размер: 2187
Редактор: FrBrGeorge
Комментарий:
Версия 2 от 2011-12-25 15:37:35
Размер: 3567
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 28: Строка 28:
    * Требует Python 2.7; для запуска под Python 2.6 нужно заменить конструкции вида `{(…),(…),…}` на `((…),(…),…)` или `set(((…),(…),…))` в двух местах:
    {{{#!diff
diff -ur life-DLX/lif_converter.py life-DLX.new/lif_converter.py
--- life-DLX/lif_converter.py 2011-11-18 14:15:24.000000000 +0400
+++ life-DLX.new/lif_converter.py 2011-12-25 15:51:55.000000000 +0400
@@ -74,7 +74,7 @@
         
 ###
 if __name__ == "__main__":
- secta = {(1,0),(2,0),(3,0),(0,1),(1,1),(1,2)}
+ secta = ((1,0),(2,0),(3,0),(0,1),(1,1),(1,2))
     (mirror_H(secta))
     
     
Binary files life-DLX/lif_converter.pyc and life-DLX.new/lif_converter.pyc differ
diff -ur life-DLX/life-DLX-100.pyw life-DLX.new/life-DLX-100.pyw
--- life-DLX/life-DLX-100.pyw 2011-11-18 16:14:00.000000000 +0400
+++ life-DLX.new/life-DLX-100.pyw 2011-12-25 15:51:23.000000000 +0400
@@ -19,9 +19,9 @@
 infowin = pygame.image.load("info.png").convert()
 arial = pygame.font.SysFont("arial", 11, bold=True, italic=False)
 
-ADJACENTS = {(-1, 1),(0, 1),(1,1 ),
+ADJACENTS = ((-1, 1),(0, 1),(1,1 ),
              (-1, 0),(1, 0),
- (-1,-1),(0,-1),(1,-1)}
+ (-1,-1),(0,-1),(1,-1))
 
 #just a convenience
 BaseOffset = ((0,0),(200,150),(320,240),(360,270))
}}}

Задание на каникулы: PyGame и игра «Жизнь»

PyGame как простая библиотека работы с графикой

  • Событийное программирование. Mainloop. (Общее описание работы)
  • Простейшая программа на PyGame (см.

  • {o} Подтема 2

Домашнее задание

  1. {i} Почитать статьи по PyGame:

  2. Попробовать примеры из статей выше
  3. Приделать к генератору лабиринта его рисовалку
  4. {*} Можно посмотреть курс 2009-2010 гг.

  5. {*} Можно попытаться почитать код программ с http://pygame.org (предупреждение: 80% всего на свете — ерунда)

  6. Если надоело программировать:
    1. {i} Прочитать про клеточные автоматы и игру «Жизнь»:

    2. Установить Golly и побаловаться (входит в ALTLinux P5/P6)

    3. Если захотелось разобраться самому, можно попробовать почитать код неплохой программы на PyGame, Life as a bit Deluxe

      • Требует Python 2.7; для запуска под Python 2.6 нужно заменить конструкции вида {(…),(…),…} на ((…),(…),…) или set(((…),(…),…)) в двух местах:

           1 diff -ur life-DLX/lif_converter.py life-DLX.new/lif_converter.py
           2 --- life-DLX/lif_converter.py   2011-11-18 14:15:24.000000000 +0400
           3 +++ life-DLX.new/lif_converter.py       2011-12-25 15:51:55.000000000 +0400
           4 @@ -74,7 +74,7 @@
           5          
           6  ###
           7  if __name__ == "__main__":
           8 -    secta = {(1,0),(2,0),(3,0),(0,1),(1,1),(1,2)}
           9 +    secta = ((1,0),(2,0),(3,0),(0,1),(1,1),(1,2))
          10      (mirror_H(secta))
          11      
          12      
          13 Binary files life-DLX/lif_converter.pyc and life-DLX.new/lif_converter.pyc differ
          14 diff -ur life-DLX/life-DLX-100.pyw life-DLX.new/life-DLX-100.pyw
          15 --- life-DLX/life-DLX-100.pyw   2011-11-18 16:14:00.000000000 +0400
          16 +++ life-DLX.new/life-DLX-100.pyw       2011-12-25 15:51:23.000000000 +0400
          17 @@ -19,9 +19,9 @@
          18  infowin   = pygame.image.load("info.png").convert()
          19  arial     = pygame.font.SysFont("arial", 11, bold=True, italic=False)
          20  
          21 -ADJACENTS = {(-1, 1),(0, 1),(1,1 ),
          22 +ADJACENTS = ((-1, 1),(0, 1),(1,1 ),
          23               (-1, 0),(1, 0),
          24 -             (-1,-1),(0,-1),(1,-1)}
          25 +             (-1,-1),(0,-1),(1,-1))
          26  
          27  #just a convenience
          28  BaseOffset = ((0,0),(200,150),(320,240),(360,270))
        

Условные обозначения

  • {o} — тема по Linux

  • <!> ­— необязательная тема

  • {i} — теоретическое задание

  • {*} — тема для самостоятельного изучения


CategoryClass CategoryVmsh

LecturesVMSH/2011-12-28 (последним исправлял пользователь FrBrGeorge 2011-12-25 15:42:32)