Форум сайта python.su
Уважаемые программисты передо мной не стоит цель написать идеальную игру с идеальным кодом (пока к этому стремлюсь). Основной критерий: игра должна быть написана с подходом ООП. Это всего лишь программа для получения зачета.
Спасибо за Ваши советы.
пс. собрал с помощью 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
Отредактировано (Фев. 27, 2011 10:01:23)
Офлайн
dimabest8.А также взятие “на проходе” возможно только следующим ходом.
Ход невозможен, если:
…
Офлайн
Проблема с 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)
Офлайн
KogromА я бы сделал что то типа такого
Мне вот такой код не нравится:Ctrl-c, Ctrl-v какое-то. Не могу дать готового решения, но ожидалось что-то типа: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'))
Доска.расставить_фигуры(…)
Ну и далее, ставим каждую фигуру в соответствии с классом, в соответствии с состоянием объекта. Наследование для черных и белых фигур - сомнительная фишка. Можно цвет в конструкторе задавать. Я бы наследовал пешек, слонов, ферзей и т.д. ибо у них и поведение разное и вид, и ценность.
Ну а в целом - нормально.
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]
Отредактировано (Март 2, 2011 15:01:52)
Офлайн
leechuckА лучше вообще данные начальной расстановки фигур в файл вынести
Потом одмин славарем бы задал начальные значение в классе доски.
Офлайн
PooHИли в строку.leechuckА лучше вообще данные начальной расстановки фигур в файл вынести
Потом одмин славарем бы задал начальные значение в классе доски.
Офлайн
leechuckЯ настаиваю на файле :) тогда можно будет задавать разные начальные позиции.PooHИли в строку.
А лучше вообще данные начальной расстановки фигур в файл вынести
Офлайн
PooHИ сохранять состояние игрыleechuckЯ настаиваю на файле :) тогда можно будет задавать разные начальные позиции.PooHИли в строку.
А лучше вообще данные начальной расстановки фигур в файл вынести
Офлайн