Программирование игр, создание с нуля: для детей и подростков, а также их родителей и учителей! Рассчитан на широкий круг читателей и изучающих программирование. Библиотека Tkinter - современное программирование.
Пишем игры: изучаем программирование на Python на примере написания простых, но демонстрирующих возможности программирования игр.
Представлена информация по работе с библиотекой Tkinter, с помощью которой можно создавать серьёзные программы с удобным интуитивно-понятным интерфейсом, введение в функциональное (процедурное) программирование, изучение принципов построения программы на основе правила «разделяй и властвуй», что способствует креативному мышлению и эффективному достижению результата также и в повседневной жизни. Как создать кнопку? Как запрограммировать действие по нажатию на неё? Как вывести окно с сообщением? Лаконичный современный дизайн, красота и изящество - это Tkinter.
Почему именно этот учебник? Я почти два десятка лет работаю преподавателем информатики и сталкиваюсь с одной раздражающей вещью. Большинство материалов, призванных "научить программированию", на самом деле не учат, а являются своеобразными справочниками по языку: синтаксис, функции, результат. Согласитесь, даже если мы выучим весь русско-английский словарь, то на английском не заговорим. Потому что для разговора нужно знать ещё тысячу тонкостей: времена, склонения, использование местоимений и предлогов и прочее.
В этом учебнике я рассказываю не только о языке Python, но и веду читателя путём рассуждений, логический умозаключений, отвечая не только вопрос "С помощью чего?", но и "Для чего?" и "Почему?" Вся теория сразу же найдёт отражение в практике.
СТРУКТУРА МАТЕРИАЛА:
- базовые сведения о языке Python;
- архитектура игр: на каких принципах строятся игры, что нужно предусмотреть, как выстроить систему обработки данных;
- хитрости и уловки программиста: обмануть судьбу нельзя, но облегчить труд можно (и нужно);
- игры: в этой части представлено четыре игры:
1. «Угадай число». Цель игры: развлечение и анализ числовых рядов. Для детей, которые учатся считать. Вы, если вы родитель, можете написать игру конкретно для своего ребёнка, заложив в программу свои пожелания.
2. «Учись считать». Цель игры: развитие навыков счёта. Подойдёт вообще всем - и даже взрослым, которые желают повысить навык и увеличить скорость правильного счёта "в уме".
3. «Казино 678». Цель игры: антипропаганда азартных игр. Когда своими руками напишите алгоритм и, проигрывая виртуальные деньги, поймёте, что выиграть попросту нельзя, интерес к азартным играм пропадёт. Рекомендовано для подростков с надеждой внезапно обогатиться на как минимум «миллион долларов» и жить припеваючи.
4. «Ипподром». Цель игры: изучение библиотеки Tkinter, формирование оконного приложения (Windows), работа с изображениями, анимация изображений в окне программы, системы координат. Работа с параметрами процессов: изменение игровой ситуации на основе случайности.
Представленные алгоритмы направлены на воспитание:
- понимания принципов работы процессора;
- практического умения создавать и записывать алгоритмы на языке;
- умения реализовывать обработку данных инструментами Python;
- умения использовать современные высокоуровневые средства языка;
- ... и популяризацию творческого времяпровождения.
Вы найдёте:
- базовые алгоритмы обработки данных;
- практические советы и замечания на основе многолетнего опыта;
- этапы проектирования алгоритмов для игр;
- описание работы библиотеки Tkinter на практических примерах;
- тесты для отработки понимания кода Python.
Пожалуйста, если вам понравилось приложение, - поставьте оценку и напишите комментарий. Очень мотивирует на продолжение работы :)
Отдельная благодарность:
- Rubbi Jat(GlitchFoX): за найденные опечатки;
- Remote Account и F. Andrey: требования тёмной темы;
- Алексей Новиков: за замечание по поводу подсветки;
- Lokit M.: за замечание по поводу сбоя отображения текста;
- и конечно же SmileZzz: без тебя этого вообще бы не было!
ကလေးများနှင့်ဆယ်ကျော်သက်များအပြင်သူတို့၏မိဘများနှင့်ဆရာများအတွက် - ဂိမ်းကစားခြင်းကိုအစမှစဖန်တီးနိုင်သည်။ စာဖတ်သူများနှင့်ပရိုဂရမ်းမင်းကျောင်းသားများအတွက်ရည်ရွယ်သည်။ Tkinter စာကြည့်တိုက် - ခေတ်သစ်ပရိုဂရမ်းမင်း။
ကျွန်ုပ်တို့သည်ဂိမ်းများကိုရေးသည်။ ကျွန်ုပ်တို့သည် Python တွင်ပရိုဂရမ်းမင်းကိုရိုးရှင်းသောရေးသားခြင်းဖြင့်လေ့လာသည်၊ သို့သော်ပရိုဂရမ်ဂိမ်းများ၏ဖြစ်နိုင်ခြေကိုပြသသည်။
Tkinter စာကြည့်တိုက်တွင်အလုပ်လုပ်ခြင်းနှင့်ပတ်သက်သောသတင်းအချက်အလက်များကိုဖော်ပြထားသည်။ ၎င်းသည်သင်အဆင်ပြေလွယ်ကူသောအလိုအလျောက်မျက်နှာပြင်၊ လေးနက်သောအစီအစဉ်များကိုဖန်တီးနိုင်သည့်၊ အလုပ်လုပ်သော (လုပ်ထုံးလုပ်နည်းဆိုင်ရာ) ပရိုဂရမ်းမင်းကိုမိတ်ဆက်ပေးခြင်း၊ တီထွင်ဖန်တီးမှုအတွက်အထောက်အကူဖြစ်စေသည့်“ ခွဲခြားခြင်းနှင့်အောင်မြင်ခြင်း” စည်းမျဉ်းကိုအခြေခံသည့်ပရိုဂရမ်တစ်ခုကိုတည်ဆောက်ခြင်း၏အခြေခံမူများကိုလေ့လာခြင်းဖြစ်သည်။ နေ့စဉ်အသက်တာ၌လည်းရလဒ်။ ခလုတ်တစ်ခုဘယ်လိုဖန်တီးရမလဲ။ ၎င်းကိုနှိပ်ခြင်းဖြင့်လုပ်ဆောင်ချက်တစ်ခုကိုမည်သို့ပရိုဂရမ်ရေးဆွဲရမည်နည်း။ မက်ဆေ့ခ်ျတစ်ခုဘယ်လိုပြမလဲ။ Laconic ခေတ်သစ်ဒီဇိုင်း၊ လှပမှုနှင့်ကျေးဇူးတရားသည် Tkinter ဖြစ်သည်။
အဘယ်ကြောင့်ဒီအထူးသင်ခန်းစာ? ကျွန်တော်ဟာကွန်ပျူတာသိပ္ပံဆရာတစ်ယောက်အနေနဲ့နှစ် ၂၀ နီးပါးအလုပ်လုပ်ခဲ့ပြီးစိတ်ပျက်စရာတစ်ခုကြုံခဲ့ရတယ်။ "ပရိုဂရမ်းမင်းကိုသင်ကြားရန်" အတွက်ဒီဇိုင်းထုတ်ထားသည့်ပစ္စည်းများအများစုသည်အမှန်တကယ်တွင်သင်ကြားခြင်းမရှိကြပေ။ ကျွန်ုပ်တို့သဘောတူသည်မှာရုရှား - အင်္ဂလိပ်အဘိဓာန်တစ်ခုလုံးသင်ယူသော်လည်းကျွန်ုပ်တို့အင်္ဂလိပ်စကားပြောမည်မဟုတ်ပါ။ ဘာဖြစ်လို့လဲဆိုတော့စကားပြောဖို့ရန်သင့်အားနောက်ထပ်သိမ်မွေ့မှုတထောင်: tenses, declensions, နာမ်စားများနှင့် preposition ရှေ့ဆက်၏အသုံးပြုမှု, etc သိရန်လိုအပ်သည်။
ဒီသင်ခန်းစာမှာ Python ဘာသာစကားအကြောင်းပြောရုံသာမကဘဲစာဖတ်သူကိုကျိုးကြောင်းဆင်ခြင်မှု၊ ကျိုးကြောင်းဆင်ခြင်မှုနိဂုံးများဖြင့်“ ဘာနှင့်အတူ” ဆိုတဲ့မေးခွန်းကိုသာမက“ ဘာဖြစ်လို့လဲ” ဆိုတဲ့မေးခွန်းကိုပါဖြေဆိုခြင်းဖြင့် ဦး ဆောင်လမ်းပြပါတယ်။ ဘာကြောင့်လဲ သီအိုရီတစ်ခုလုံးကိုလက်တွေ့တွင်ထင်ဟပ်လိမ့်မည်။
ပစ္စည်းများဖွဲ့စည်းပုံ:
- Python ဘာသာစကားနှင့်ပတ်သက်သောအခြေခံသတင်းအချက်အလက်များ;
- ဂိမ်းများ၏ဗိသုကာ - ဂိမ်းများကိုအခြေခံသည်၊ ထောက်ပံ့ရန်လိုအပ်သည်၊ ဒေတာအပြောင်းအလဲနဲ့စနစ်မည်သို့တည်ဆောက်ရမည်၊
- ပရိုဂရမ်မာ၏လှည့်ကွက်များနှင့်လှည့်ကွက်များ - ကံကြမ္မာကိုလှည့်ဖြား။ မရပါ၊ သို့သော်လုပ်အားကိုလွယ်ကူချောမွေ့စေနိုင်သည်။
- ဂိမ်းများ - ဤအပိုင်းတွင်ဂိမ်းလေးမျိုးကိုတင်ပြသည်။
1. "နံပါတ်မှန်းပါ။ " ဂိမ်း၏ရည်ရွယ်ချက်: ဖျော်ဖြေရေးနှင့်နံပါတ်စီးရီး၏ခွဲခြမ်းစိတ်ဖြာ။ ရေတွက်ရန်သင်ယူနေသောကလေးများသည်။ သင်သည်မိဘတစ် ဦး ဖြစ်လျှင်ပရိုဂရမ်တွင်သင်၏ဆန္ဒများကိုထည့်သွင်းခြင်းအားဖြင့်သင့်ကလေးအတွက်ဂိမ်းတစ်ခုရေးနိုင်သည်။
၂။ ရေတွက်ရန်သင်ယူပါ။ ဂိမ်း၏ရည်ရွယ်ချက်: ရေတွက်ကျွမ်းကျင်မှုဖွံ့ဖြိုးတိုးတက်ရေး။ လူတိုင်းအတွက် - အရည်အချင်းတိုးမြှင့်လိုခြင်းနှင့်မှန်ကန်သောရမှတ်၏မြန်နှုန်းကိုတိုးမြှင့်လိုသောလူကြီးများအတွက်သင့်တော်သည် "စိတ်ထဲတွင်။ "
3. "ကာစီနို 678. " ဂိမ်း၏ရည်ရွယ်ချက်: လောင်းကစား၏ဝါဒဖြန့်ချိ။ သင်သည်ကိုယ်ပိုင်လက်ဖြင့် algorithm တစ်ခုကိုရေးပြီး၊ virtual money ကိုကစားသောအခါသင်အနိုင်ရနိုင်မည်မဟုတ်ကြောင်း၊ လောင်းကစားကိုစိတ်ဝင်စားမှုပျောက်ကွယ်သွားမည်ကိုသင်နားလည်လိမ့်မည်။ ဆယ်ကျော်သက်များအတွက်ရုတ်တရက်အနည်းဆုံး“ ဒေါ်လာတစ်သန်း” နှင့်မိမိတို့ကိုယ်ကိုကြွယ်ဝချမ်းသာလာပြီးပျော်ရွှင်စွာနေထိုင်ရန်မျှော်လင့်ချက်ရှိသူအားအကြံပြုသည်။
4. "Hippodrome ။ " ဂိမ်း၏ရည်ရွယ်ချက် - Tkinter စာကြည့်တိုက်ကိုလေ့လာခြင်း၊ ၀ င်းဒိုးအပလီကေးရှင်း (၀ င်းဒိုး) ကိုဖွဲ့စည်းခြင်း၊ ပုံရိပ်များနှင့်အလုပ်လုပ်ခြင်း၊ ဖြစ်စဉ်ကိုသတ်မှတ်ချက်များနှင့်အတူအလုပ်လုပ်: ကျပန်းအပေါ်အခြေခံပြီးဂိမ်းအခွအေနေကိုပြောင်းလဲ။
တင်ပြထားသော algorithms ကိုပညာပေးရန်ရည်ရွယ်သည် -
- ပရိုဆက်ဆာ၏အခြေခံသဘောတရားများကိုနားလည်ခြင်း၊
- ဘာသာစကားတွင် algorithms များကိုရေးသားရန်နှင့်ရေးရန်လက်တွေ့ကျသောကျွမ်းကျင်မှု။
- Python tools ဖြင့် data processing ပြုလုပ်နိုင်သည်။
- ခေတ်သစ်အဆင့်မြင့်ဘာသာစကားသုံးကိရိယာများကိုသုံးနိုင်သည်။
- ... နှင့်ဖန်တီးမှု pastime ၏လူကြိုက်များ။
သင်တွေ့လိမ့်မည် -
- အခြေခံဒေတာအပြောင်းအလဲနဲ့ algorithms;
- နှစ်ပေါင်းများစွာအတွေ့အကြုံအပေါ် အခြေခံ၍ လက်တွေ့ကျသောအကြံဥာဏ်နှင့်မှတ်ချက်များ၊
- ဂိမ်းများအတွက် algorithms ဒီဇိုင်းရေးဆွဲခြင်းအဆင့်များ၊
- လက်တွေ့ကျသောဥပမာများဖြင့် Tkinter စာကြည့်တိုက်၏လုပ်ဆောင်ချက်ကိုဖော်ပြခြင်း၊
- Python ကုဒ်ကိုနားလည်ရန်စမ်းသပ်ခြင်း။
ကျေးဇူးပြု၍ သင်လျှောက်လွှာကိုကြိုက်ပါကအဆင့် သတ်မှတ်၍ မှတ်ချက်ရေးပါ။ ဆက်လက်လုပ်ဆောင်ရန်အလွန်လှုံ့ဆော်ခံရသည် :)
အထူးကျေးဇူးတင်ပါတယ်:
- Rubbi Jat (GlitchFoX): စာလုံးပေါင်းမှားတာတွေအတွက်၊
- Remote Account နှင့် F. Andrey: မှောင်မိုက်သောအကြောင်းအရာ၏လိုအပ်ချက်များ၊
- Alexey Novikov: နောက်ခံအလင်းအကြောင်းမှတ်ချက်အတွက်;
- Lokit M ။ : စာသားဖော်ပြမှုပျက်ကွက်မှုနှင့် ပတ်သက်၍ မှတ်ချက်ပေးရန်၊
- နှင့် SmileZzz ၏သင်တန်းသာဖြစ်သည်။ မင်းမရှိရင်ဒါလုံးဝဖြစ်မည်မဟုတ်။