Тема: Игра «Крестики нолики»

  • Просмотров 108
  • Скачиваний 4
  • Размер файла 23
    Кб

Московский Государственный институт электроники и математики Курсовая работа Тема: Игра «Крестики нолики» Выполнил: Смирнов Сергей Анатольевич, С-14 Руководитель: Дмитрий Столяров Москва 2010 г. Оглавление Описание игры “Крестики нолики”. 3 Моё представление игры. 4 Создание игры. 5 Приложение 1. Исходный код программы. 9 Описание игры “Крестики нолики” Два игрока по очереди ставят на свободные клетки поля 3х3 знаки (один всегда

крестики, другой всегда нолики). Первый ход делает любой из игроков. Тот, кто выстроит в ряд 3 своих фигуры(по вертикали, горизонтали или диагонали)выигрывает. По завершении игры, выигравшая сторона зачёркивает чертой свои три знака (нолика или крестика), составляющих сплошной ряд. Моё представление игры Играя в оригинальную игру “Крестики нолики”, там всегда играл компьютер с игроком. Я сделал так, чтобы игрок играл с игроком.

Создание игры В игре несколько классов. Класс initBoard. Класс, который инициализирует доску. В классе есть методы: __init__ - Конструктор – инициализирует начальные данные по игре, инициализирует библиотеку pygame. drawStatus - Статус который находится внизу доски. Используемые источники и программы: Python Pygame Приложение 1. Исходный код программы # -*- coding: utf-8 -*- #Krestiki nolki import pygame #import pygame import random # importiruem generator slu4aunih 4isel from pygame.locals import * #is pygame.local importiruem vse

pygame.init() # inisializaciya screen = pygame.display.set_mode((300,325)) # ustanavlivaem razmer ekrana pygame.display.set_caption = ("Krestiki i noliki") # ustanavlivaem nazvanie def initBoard(screen): #inicializaciya doski background = pygame.Surface (screen.get_size()) #sozdaem poverhnost' background = background.convert() background.fill ((250,250,250)) #zapolnyaem ee cvetom # risuem linii # vertikal'nie... pygame.draw.line (background, (0,0,0), (100,0), (100,300), 2) pygame.draw.line (background, (0,0,0), (200,0), (200,300), 2) # horizontalnue... pygame.draw.line (background, (0,0,0), (0,100), (300,100), 2) pygame.draw.line (background, (0,0,0), (0,200), (300,200), 2) # vozvrashaem dosku return background board = initBoard (screen) # sozdaem dosku s pomosh'u

sozdannou funkcii def drawStatus (board): # pishem status vnizu doski global XO, winner # opredelyaem statusoe soobshenie if (winner is None): message = XO + " hodyat" else: message = winner + " viigral!" # sozdanie shrifta i texta font = pygame.font.Font(None, 24) text = font.render(message, 1, (0,0,0)) # otrisovka texta board.fill ((250, 250, 250), (0, 300, 300, 25)) board.blit (text, (10, 300)) def showBoard (screen, board): # pokazat' dosku drawStatus(board) screen.blit (board, (0,0)) pygame.display.flip() XO = 'X' # pervie hodyat krestiki grid = [ [ None, None, None ], #pustaya setka [ None, None, None ], [ None, None, None ] ] def boardPos (mouseX, mouseY): # opredelyaem ryad kuda najali if (mouseY < 100): row = 0 elif (mouseY < 200): row = 1 else: