Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий





Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Тема: Игра «Крестики нолики»
Раздел: Остальные рефераты
Тип: реферат Добавлен 00:21:27 13 ноября 2011 Похожие работы
Просмотров: 171 Комментариев: 17 Оценило: 2 человек Средний балл: 3.5 Оценка: неизвестно     Скачать

Московский Государственный институт электроники и математики

Курсовая работа

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

Выполнил:

Смирнов Сергей Анатольевич, С-14

Руководитель:

Дмитрий Столяров

Москва 2010 г.

Оглавление

Описание игры “Крестики нолики”. 3

Моё представление игры. 4

Создание игры. 5

Приложение 1. Исходный код программы. 9

Описание игры “Крестики нолики”

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

Играя в оригинальную игру “Крестики нолики”, там всегда играл компьютер с игроком. Я сделал так, чтобы игрок играл с игроком.
Создание игры

В игре несколько классов.

Класс initBoard . Класс, который инициализирует доску.

В классе есть методы:

· __init__ - Конструктор – инициализирует начальные данные по игре, инициализирует библиотеку pygame.

· drawStatus - Статус который находится внизу доски.

Используемые источники и программы:

1. Python

2. 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:

row = 2

# opredelyaem stolbec kuda najali

if (mouseX < 100):

col = 0

elif (mouseX < 200):

col = 1

else:

col = 2

# vozvrashaem rayd i stolbec

return (row, col)

def clickBoard (board):

global grid, XO, winner # dostup k globalnim peremennim

(mouseX, mouseY) = pygame.mouse.get_pos() # poziciya mishki

(row, col) = boardPos (mouseX, mouseY) # poly4aem ryad i stolbec

# proverka na zanyatost'

if ((grid[row][col] == 'X') or (grid[row][col] == 'O')):

# esli uge tam 4toto est' to propuskaem

return

if winner != None: # esli viigravshiu uje est' to ni4ego risovat' ne nado

return

drawMove (board, row, col, XO) #risuem sootvetstvuushiu zna4ek

# drawAIMove (board)

if (XO == 'X'): # pereklu4aem hod

XO = 'O'

else:

XO = 'X'

def drawMove (board, boardRow, boardCol, Piece): #risuem krest ili nol'

centerX = boardCol * 100 + 50 #centri kvadratov

centerY = boardRow * 100 + 50 #centri kvadratov

# risuem..

if (Piece == 'O'):

# esli nol' to risuem krug

pygame.draw.circle (board, (0,0,0), (centerX, centerY), 44, 2)

else:

# esli X to dve linii

pygame.draw.line (board, (0,0,0), (centerX - 22, centerY - 22), (centerX + 22, centerY + 22), 2)

pygame.draw.line (board, (0,0,0), (centerX + 22, centerY - 22), (centerX - 22, centerY + 22), 2)

# pome4aem mesto kak zanyatoe

grid[boardRow][boardCol] = Piece

def gameWon(board): #proverka na viigrish

global grid, winner

# proverka viigrashnih ryadov

for row in range (0, 3):

if ((grid [row][0] == grid[row][1] == grid[row][2]) and (grid [row][0] is not None)):

# etot ryad viigral

winner = grid[row][0]

pygame.draw.line (board, (250,0,0), (0, (row + 1)*100 - 50), (300, (row + 1)*100 - 50), 2)

break

# proverka viigrishnih stolbcov

for col in range (0, 3):

if (grid[0][col] == grid[1][col] == grid[2][col]) and (grid[0][col] is not None):

# etot stolbec viigral

winner = grid[0][col]

pygame.draw.line (board, (250,0,0), ((col + 1)* 100 - 50, 0), ((col + 1)* 100 - 50, 300), 2)

break

# proverka na diagonalnie viigrashi

if (grid[0][0] == grid[1][1] == grid[2][2]) and (grid[0][0] is not None):

# viigrish s leva na pravo

winner = grid[0][0]

pygame.draw.line (board, (250,0,0), (50, 50), (250, 250), 2)

if (grid[0][2] == grid[1][1] == grid[2][0]) and (grid[0][2] is not None):

# viigrish s prava na levo

winner = grid[0][2]

pygame.draw.line (board, (250,0,0), (250, 50), (50, 250), 2)

winner = None # ina4e nikto ne viigral

running = 1 #flag raboti programmi

#menu_flag = 1 # risovat' menu v na4ale, 2 kogda konec

while (running == 1):

for event in pygame.event.get():

# drawMenu(board)

if event.type is QUIT:

running = 0

elif event.type is MOUSEBUTTONDOWN:

# esli pol'zovatel' najal to risovat'

clickBoard(board)

# proverka na pobeditelya

gameWon (board)

# obnovlenie displey

showBoard (screen, board)

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита21:44:39 05 ноября 2021
.
.21:44:37 05 ноября 2021
.
.21:44:34 05 ноября 2021
.
.21:44:32 05 ноября 2021
.
.21:44:30 05 ноября 2021

Смотреть все комментарии (17)
Работы, похожие на Реферат: Тема: Игра «Крестики нолики»

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(294402)
Комментарии (4230)
Copyright © 2005 - 2024 BestReferat.ru / реклама на сайте