Жоғары деңгейдегі тілде ойынды бағдармалау


Қазақстан Республикасының білім және ғылым министрлігі
Қарағанды Мемлекеттік Техникалық Университеті
Кафедра: ақпараттық-есептеуіш жүйелер
Курстық жоба
«Бағдарламалау технологиясы» пәнінен
(Пән атауы)
Тақырыбы: «Жоғары деңгейдегі тілде ойынды бағдармалау»
Қабылдаған;
Абилдаева Г. Б.
(бағасы) (қолы) (оқытушынын т. а. ж)
Комиссия мүшелері
Студент ИС-18-1п
(қолы) (т. а. ж) (тобы)
Унгарбаева З. А
(қолы) (т. а. ж) (студенттің т. а. ж)
(қолы) (дата)
Қарағанды 2020
ҚАРАҒАНДЫ МЕМЛЕКЕТТІК ТЕХНИКАЛЫҚ УНИВЕРСИТЕТІ
Кафедра: ақпараттық-есептеуіш жүйелер
Бекітемін
Каф. менг. м. а. Калинин А. А.
Тапсырма
Курстық жоба тақырыбы «Жоғары деңгейдегі тілде ойынды бағдармалау»
студент Унгарбаева З. А. ИС-18-1п тобы
Жоба тақырыбы: Жоғары деңгейдегі тілде ойынды бағдармалау
Бастапқы мәлімет: Курстық жобаны орындауға әдістемелік нұсқау
Пән атауы: «Бағдармалау технологиясы» Нұсқа 19
Әдебиеттер:
1. Көккөз М. М., Саданова Б. М., Лейзер Л. И. Бағдарламалау технологиясы: Қарағанды: ҚарМТУ, 2008
2. Медешова А. Б., Мұхамбетова Ғ. Г. : Бағдарламалау Алматы: Бастау, 2014
3. Пыркова А. Ю., Черикбаева Л. Ш. Жүйелік бағдарламалау Алматы: Қазақ университеті, 2013
Тапсырма беру күні «17» 02 2020 г Жоба қорғау күні «___» 05 2020 г.
Жоба жетекшісі Г. Б. Абилдаева
Тапсырманы орындауға кірістім «20» 02 2020 г.
Мазмұны
Кіріспе4
1 Есептін қойылымы5
1. 2 Ойынның тарихы5
1. 3 Ойынның сипаттамасы6
2 PyCharm Community интеграцияланған дамыту ортасы 8
2. 1 Жалпы мәлімет8
2. 2 Мүмкіндіктер 6
2. 3 PyCharm Community Edition ортасын дайындау9-11
3 Python бағдармалау тілі11
4 PyCharm Community Edition бағдарламасында ойынды жасау12-16
5 Пайдаланушыларға нұсқаулық17
Қорытынды18
Пайдаланылған әдебиеттер тізімі19
Кіріспе
Қазіргі заманғы ойындар компьютерден жеткілікті үлкен өнімділікті талап етеді және әрбір кеңсе машинасы оларды ойнатуға мүмкін емес.
Python тілінде программалау студенттердің ақпараттық ортада көзқарастарын қалыптастыру және заман татәжына сай ақпараттық мәдениет ортасын игеру үшін, сонымен қатар, ақпаратты өңдеуде, оны компьютерлік ақпарат технологиясына салуда, оған сәйкес техникалық және программалық ортада кәсіби маман ретінде жұмыс істей білуі үшін қажет.
Жобаның мақсаты: “Крестики - нолики” атты ойынды Python программалау тілінде жазу.
Практикалық құндылығы: “Крестики - нолики” ойыны адамдардың логикалық ойлау, назар және есте сақтау қабілетін дамыта отырып, ой-өрісін кенейтеді.
4
1. Есептін қойылымы
Курсттық жұмыстың мақсаты Python программалау тілімен жұмысының теориялық білімдерді және практикалық дағдыларын бекіту.
Осы мақсатқа жету үшін келесі міндеттер қажет болады:
- PyCharm Community Edition интерфейсімен танысу;
- Creat New Project элементтерімен танысу;
- Pyhon элементтерімен жұмыс істеу әдісін үйрену;
- Ойынның алгоритмін жасау;
- Ойынды жасау;
- Графикалық материалды талаптарға сай жасау;
- Курстық жұмысты талапқа сай ұйымдастыру
1. 2 Ойынның тарихы
Бастапқыда бұл ойын-сауық басқа атауға ие болды, атап айтқанда"Херики-оники". Оны 1918 жылы жүргізілген емле реформасына дейін деп атаған. Ол ең көне, ал қосымша және сол уақыттың ең танымал үстел ойыны болды. Оның аты, сол кезде, ұрысушылық ретінде мүлдем естімеген, біздің ата-бабаларымыз бұл көңілді крестик және Нолик фигураларымен емес, ал "Х" және "о" әліпбиінің әріптерімен қабылдады, олар сол кезде "хер" және "оно"деп аталды.
Бұл ойынның шығу тегі туралы көптеген теориялар бар. Алайда, белгілі бір нұсқалардың кейбір кемшіліктері бар. Бірақ бірнеше ықтимал бар. Мысалы, алғаш рет бұл ойын Үндістанда екі мың жыл бұрын пайда болуы мүмкін, алайда оның өнертапқышы, көлемі 3-тен 3-ке дейінгі тақтаға 8-ге дейінгі тақтаға салып, шахмат ойлап тапты. Келесі, осы хоббиді ашуға жақын кім - римдік өнертапқыш, оны жасай алмады, өйткені Рим варварами басып алды. Крест-ноликтердің кейінгі тағдыры туралы ештеңе белгісіз, бірақ оны француз математигі ойлап тапқан гипотеза бар. Бұл көңілді танымал болған
5
уақыт болды, бұл ойынмен бірнеше тақырыптық кафе болды. Мұндай мекемелер жоғары сұранысқа ие болды. Адамдар крест-ноликтерге шабуыл жасап, өте маңызды іс-шараларды, тіпті өлім жазасына дейін өткізіп, содан кейін шіркеу бұл балаға тыйым салды. Бірақ бұл ойыншылардың санына қатты әсер етпеді, барлығы жасырын ойнай бастады. Тағы бір теория итальяндық суретшінің суретінде өзі-ноликтерде крест ойнаған Рим Папасы бейнеленген. Уақыт өте келе Казимир Малевич осы суреттің көшірмесін жасады. Қайта өрлеу дәуірінде ойын қайтадан заңды деп танылды. Сондай-ақ, зерттеушілер тобы тоғыз сегменті бар квадратқа ұқсас және оларда Крест пен крест салынған нәрсе табылған теория бар. Мұндай олжалар ежелгі петроглифтерде, фрескаларда тіркелді. Бірақ бұл сәйкестік немесе әзіл болуы мүмкін.
1. 3 Ойынның сипаттамасы
Крест-ноликтер-3 торға немесе үлкен өлшемдегі екі қарсылас арасындағы логикалық ойын ("шексіз өріске"дейін) . Ойыншылардың бірі "крест", екіншісі "Нолик"ойнайды. Дәстүрлі қытай ойынында қара және ақ тастар қолданылады.
Ойыншылар кезек бойынша бос торларға 3х3 белгі қояды (біреуі әрқашан айқастырғыш, екіншісі әрдайым нөл) . Бірінші, 3 қатарға тігінен, көлденеңінен немесе диагоналінен тұрғызған, ұтады. Бірінші қадам крестик қоятын ойыншы жасайды.
Әдетте партия аяқталғаннан кейін жеңген тарап тұтас қатарды құрайтын өзінің үш белгісін (Нолик немесе крестик) сызып тастайды.
Барлық ықтимал қадамдарды араластыру:
Крест үшін
Орталық алаңға бірінші қадам жасау.
Қарсылас жүріспен немесе бұрышқа немесе өріс жағына жауап бере алады.
* Егер қарсылас бұрыштық өрісте жүріспен жауап берсе-көрші бұрышқа
6
жауап беріңіз.
Қарсылас келесі жолда ұтылмау үшін қарсы бұрышқа баруға мәжбүр болады.
Одан кейінгі қадамдар қарсыластың үшеуін құруды блоктау үшін жасалады. - Тең ойын.
* Егер қарсылас жаққа жауап берсе, ол жеңіліс тапты. Екі сәтсіз бұрыштың біріне жауап беру керек.
Қарсылас келесі жолда ұтылмау үшін қарсы бұрышқа баруға мәжбүр болады.
Алдыңғы бұрыштарға жақын бұрышқа барып, Үшбұрыш құратындай - келесі жүрісте екі жолмен Үшбұрыш құруға мүмкіндік беретін "шанышқы" болады.
Қарсылас қалай жауап берер еді, келесі жүріспен үшбұрыштың бірі салынып, содан кейін секіреді немесе бұрышқа бірінші қадам жасайды.
Қарсылас жаққа жүрумен не бұрышқа жүрумен не орталыққа жүрумен жауап бере алады.
* Егер қарсылас бұрышқа жауап берсе, ол қайтадан ұтылады. Қалған бұрыштардың кез келген жүрісімен жауап беру керек.
Қарсылас қауіп-қатерді оқшаулауға мәжбүр болады, келесі жүрісте шанышқы мен тағы да ұтысты беретін соңғы бұрышқа ие болу керек.
* Егер қарсылас орталыққа жауап берсе, онда бірінші бұрышқа қарама-қарсы бұрыш алу керек. Қарсылас жаққа немесе бұрышқа қарай жүрумен жауап бере алады.
* Егер қарсылас бұрышқа жауап берсе, ол ұтылып қалды - қарсыластың үштігін бұғаттай және өз шанышқыны-ұтысты қалыптастыра отырып, дереу басқа бұрышқа ие болу керек.
* Егер қарсылас бір жаққа қарай жауап берсе, келесі қадамдар қарсыластың үштігін - тең ойынмен жабу үшін құрылады.
Ноликтер үшін.
* Егер қарсылас орталыққа бірінші жүріспен келсе, бұрыштардың кез
7
келгеніндегі жүріспен жауап беру, одан кейін әрбір келесі жүріспен қарсыластың кезекті үштікті құру мүмкіндігін бұғаттау, таңдау мүмкін болса, бұрышта жүруді қалайсыз-тең ойын.
* Егер қарсылас бірінші жүріспен орталыққа емес, орталыққа жауап беру. Егер қарсылас жауап жүрісімен екі қарама-қарсы бұрышын алса, бір жаққа қарай жүріспен жауап береді. Содан кейін әрбір келесі қадаммен қарсыластың кезекті үштікті құру мүмкіндігін бұғаттау, таңдау мүмкін болған жағдайда бұрышта жүруді қалайтын-тең ойын.
2. PyCharm Community Edition интеграцияланған дамыту ортасы
2. 1 Жалпы мәлімет
PyCharm Community Edition - Python бағдарламалау тілі үшін интеграцияланған даму ортасы. Кодты талдау құралы, графикалық реттеуші, юнит-тестерді іске қосу құралы және Django веб-әзірлемесін қолдайды. PyCharm IntelliJ IDEA негізінде JetBrains компаниясымен жасалған.
2. 2 Мүмкіндіктер
- Кодты статикалық талдау, синтаксис және қателерді жарықтандыру.
- Жоба және бастапқы код бойынша Навигация: жобаның файлдық құрылымын көрсету, файлдар, сыныптар, әдістер мен әдістерді пайдалану арасында жылдам өту.
- Рефакторинг: атауын өзгерту, әдісті шығару, айнымалыны енгізу, константаны енгізу, әдісті көтеру және түсіру және т. б.
- Django фреймворк пайдалану веб-әзірлеу құралдары
- Python үшін кірістірілген реттеуші
- Юнит-тестілеу үшін кірістірілген құралдар
- Google App Engine пайдаланып әзірлеу
- Нұсқаларды бақылау жүйесін қолдау: Mercurial, Git, Subversion,
- Perforce және CVS үшін жалпы пайдаланушы интерфейсі
8
2. 3 PyCharm Community Edition ортасын дайындау
PyCharm Community Edition ортасын дайындау үшін PyCharm Community бағдарламасың ашамыз (1 сурет)
1 сурет - PyCharm Community Edition бас терезесі
“File” диалогың ашамыз, одан кейін “New Project” батырмасын басамыз(2 сурет) .
2 сурет - “File” диалогы
9
“Create Project” терезесінде “Select Base Directory” бөлімінен керекті папканы тандаймыз. (3 сурет) .
3 сурет - “ Create Project” ” терезесі
Нәтижесінде біз PyCharm Community Edition ортасын бағдарлама жазуға дайындадық (4 сурет) .
4 сурет - “ New Project ” терезесі
10
3. Python бағдармалау тілі
Python - кез келген қазіргі заманғы компьютерлік операциялық жүйеде қолдануға болатын жалпы мақсаттағы бағдарламалау тілі. Ол мәтінді, сандарды, суреттерді, ғылыми деректерді және компьютерде үнемдеуге болатын кез келген нәрсені ғана өңдеу үшін пайдаланылуы мүмкін. Ол күнделікті Google іздеу жүйесінің жұмысында, YouTube бейне, NASA және Нью-Йорк қор биржасында жұмыс істейді. Бұл Python бизнестің, үкіметтің және коммерциялық емес ұйымдардың жетістіктерінде маңызды роль атқаратын орындардың бірқатары ғана; басқа да көптеген бар.
Python - түсіндірілген тіл . Бұл бағдарлама іске қосылмай тұрып, орындалу уақытында компьютерге оқуға болатын кодты түрлендірмейді. Бұрын тілдің бұл түрі сценарийлік тіл деп аталды, оны қолдану маңызды емес тапсырмалар үшін болды. Алайда Python сияқты программалау тілдері осы номенклатурадағы өзгерісті мәжбүрледі. Үлкен қосымшалар тек қана Python-да ғана жазылады. Python бағдарламасын қолдануға болатын кейбір тәсілдер мыналарды қамтиды:
- Веб-қосымшалар үшін CGI программалау
- RSS оқу құралын жасау
- MySQL-ге оқу және жазу
- PostgreSQL-дан оқу және жазу
- HTML күнтізбелерін жасау
- Файлдармен жұмыс істеу
11
4. PyCharm Community Edition бағдарламасында ойынды жасау
1) Бас мәзір
5 сурет - Бас мәзір
Код:
X = "X"
O = "O"
EMPTY = " "
TIE = "Ничья"
NUM_SQUARES = 9
def display_instr() :
print("Инструкция")
def ask_yes_no(question) :
respone = None
while respone not in ("x", "o") :
respone = input(question) . lower()
return respone
def ask_number(question, low, high) :
respone = None
while respone not in range(low, high) :
respone = int(input(question) )
return respone
12
def pieces() :
go_first = ask_yes_no("Хочешь оставить за собой первый ход? (x/o) : ")
if go_first == "x":
print("Ну что ж, даю тебе фору, играй ")
human = X
computer = O
else:
print("Твоя удаль тебя погубит . . . Буду начинать я. ")
human = O
computer = X
return computer, human
def new_board() :
board = []
for square in range(NUM_SQUARES) :
board. append(EMPTY)
return board
def display_board(board) :
print("\n\t", board[0], "", board[1], "", board[2] )
print("\t", "")
print("\n\t", board[3], "", board[4], "", board[5] )
print("\t", "")
print("\n\t", board[6], "", board[7], "", board[8], )
def legal_moves(board) :
moves = []
for square in range(NUM_SQUARES) :
if board[square] == EMPTY:
moves. append(square)
return moves
def winner(board) :
WAYS_TO_WIN = ((0, 1, 2), (3, 4, 5), (6, 7, 8), (0, 3, 6), (1, 4, 7), (2, 5, 8), (0, 4, 8), (2, 4, 6) )
for row in WAYS_TO_WIN:
if board[row[0] ] == board[row[1] ] == board[row[2] ] != EMPTY:
winner = board[row[0] ]
return winner
13
2) бірінші барысы
Код:
def pieces() :
go_first = ask_yes_no("Хочешь оставить за собой первый ход? (x/o) : ")
if go_first == "x":
print("Ну что ж, даю тебе фору, играй ")
human = X
computer = O
else:
print("Твоя удаль тебя погубит . . . Буду начинать я. ")
human = O
computer = X
return computer, human
def new_board() :
board = []
for square in range(NUM_SQUARES) :
board. append(EMPTY)
return board
def display_board(board) :
print("\n\t", board[0], "", board[1], "", board[2] )
print("\t", "")
print("\n\t", board[3], "", board[4], "", board[5] )
14
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz