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

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

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

  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))
        

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


CategoryClass CategoryVmsh

LecturesVMSH/2011-12-28 (last edited 2011-12-25 12:42:32 by FrBrGeorge)