Найти - Пользователи
Полная версия: ООП
Начало » Python для новичков » ООП
1 2 3
sp3
Уважаемые программисты передо мной не стоит цель написать идеальную игру с идеальным кодом (пока к этому стремлюсь). Основной критерий: игра должна быть написана с подходом ООП. Это всего лишь программа для получения зачета.
Спасибо за Ваши советы.

пс. собрал с помощью py2exe. При создании объекта Font падает с ошибкой
ImportError: DLL load failed: Не найден указанный модуль.
Сделал как здесь http://thadeusb.com/weblog/2009/4/15/pygame_font_and_py2exe
непомогло.

python2.6
win7
py2exe 0.6.9
pygame 1.9.1release-svn2575
udav
dimabest
Ход невозможен, если:
8.А также взятие “на проходе” возможно только следующим ходом.
sp3
Проблема с Font решилась с помощью этого совета
http://thadeusb.com/weblog/2009/4/15/pygame_font_and_py2exe
и заменой
self.font = pygame.font.Font(None, 24)
# на
self.font = pygame.font.SysFont('arial', 24)
leechuck
Kogrom
Мне вот такой код не нравится:
        for x in xrange(8):
self.board[x][1] = BlackFigure(name = u'пешка',image= self.manager.get_image('bp.png'))
self.board[x][6] = WhiteFigure(name = u'пешка' ,image= self.manager.get_image('wp.png'))
self.board[0][7] = WhiteFigure(name = u'ладья',image= self.manager.get_image('wl.png'))

...

self.board[3][0] = BlackFigure(name = u'ферзь' ,image= self.manager.get_image('bf.png'))
self.board[4][0] = BlackFigure(name = u'король',image= self.manager.get_image('bk.png'))
Ctrl-c, Ctrl-v какое-то. Не могу дать готового решения, но ожидалось что-то типа:
Доска.расставить_фигуры(…)

Ну и далее, ставим каждую фигуру в соответствии с классом, в соответствии с состоянием объекта. Наследование для черных и белых фигур - сомнительная фишка. Можно цвет в конструкторе задавать. Я бы наследовал пешек, слонов, ферзей и т.д. ибо у них и поведение разное и вид, и ценность.

Ну а в целом - нормально.
А я бы сделал что то типа такого


class Figure(Display):

def __init__(self,name='',image=None):
self.font = pygame.font.Font(None, 24)

if not image:
image = self.font.render(name, 0, {'black':(0,0,0),'white':(250,250,250)}[self.color])
self.image = image

def draw(self,source,pos):
source.blit(self.image, (pos[0]*60,pos[1]*60))

color = "undefined"
position = [0,0]
Потом одмин славарем бы задал начальные значение в классе доски.
PooH
leechuck
Потом одмин славарем бы задал начальные значение в классе доски.
А лучше вообще данные начальной расстановки фигур в файл вынести
leechuck
PooH
leechuck
Потом одмин славарем бы задал начальные значение в классе доски.
А лучше вообще данные начальной расстановки фигур в файл вынести
Или в строку.

И в целях экономии половина строки белые - половина другие.
PooH
leechuck
PooH
А лучше вообще данные начальной расстановки фигур в файл вынести
Или в строку.
Я настаиваю на файле :) тогда можно будет задавать разные начальные позиции.
leechuck
PooH
leechuck
PooH
А лучше вообще данные начальной расстановки фигур в файл вынести
Или в строку.
Я настаиваю на файле :) тогда можно будет задавать разные начальные позиции.
И сохранять состояние игры
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB