پروژه ساخت بازی ساده با پایتون

دسته بندی : /


تعداد فروش

0 دانشجو

پرسش و پاسخ ها

0 کاربر

تاریخ انتشار

23 مهر 1402

سطح تمرین

متوسط

در این پست قصد داریم پروژه ساخت بازی ساده با پایتون را بررسی و پیاده سازی نماییم.

سوال:بازی شیر یا خط را هم در محیط ترمینال و هم در محیط گرافیکی با کتابخانه tkinter پیاده سازی نمایید؟

راهنمایی بازی: بازی بدین صورت میباشد که کاربر ابتدا اعلام میکند شیر یا خط سپس سکه با یک عدد رندوم تنظیم میشود.

هر سمتی که سکه افتاد میشود کامپیوتر و در نهایت با مقایسه وضعیت نهایی سکه با انتخاب کاربر برنده مشخص میشود.

بازی شیر یا خط چیست؟

از قدیم برای تعیین موارد مختلف از شیر یا خط استفاده میکردیم.

طوری که یک سکه را به بالا پرتاب میکردیم وضعیت نهایی آن سکه تعیین کنند انجام کار بود.

به شدت این مورد را در تعیین طرف زمین در فوتبال دیدیم.

زمانی که داور میخواهد مسابقه ای را شروع کند از هر دو کاپیتان میپرسد که شیر یا خط و در نهایت هر سمتی که سکه بیاید آن کاپیتالطرف زمین را تعیین میکند.

حالا ما در این پروژه آن را به شکل یک بازی در آوردیم به طوری که کاربر حدس خودش را میزند و سپس وضعیت نهایی سکه برنده را تعیین میکند.

با استفاده از اعداد تصادفی وضعیت سکه را در حالت های مختلف ایجاد میکنیم تا وضعیت برنده بازی را مشخص کنیم.

این بازی ساده در پایتون اطلاعات برنامه نویسی زیادی به کاربران میدهد تا با دستورات مختلف برنامه نویسی آشنا شوند.

انجام پروژه های پایتون
وفایی مقدم
0936-328-6141

ساخت بازی با پایتون در محیط ترمینال

برای ساخت بازی با پایتون در محیط مشکی رنگ یا همان ترمینال باید ابتدا پیغامی را به کاربر نمایش دهیم.

بازی شیر یا خط در محیط ترمینال

دمو بازی در ترمینال

این پیغام شامل تعیین شیر یا خط توسط کاربر میباشد.

print("1:shir 2:khat")

بعد از نمایش پیغام به کاربر باید ورودی کاربر را دریافت کنیم.

user = int(input(":"))

سپس باید ابتدا عدد رندومی به 1 تا 2 ایجاد کنیم که یک به معنای شیر و دو به معنای خط میباشد.

این کار را با کمک ماژول random انجام میدهیم.

impport random
computer = random.randint(1,2)

حالا نوبت به مقایسه میباشد مقایسه اینکه الان وضعیت سکه با انتخاب کاربر یکی میباشد یا خیر.

پس کد مقایسه را به صورت زیر مینویسیم:

if computer == user:
    print("user win")
else:
    print("computer win")

نکته:این بازی الان به صورت یک دور انجام میشود و میتوانید با کمک مثال حلقه for چندین دور بازی را اجرا نمایید.

بازی شیر یا خط در tkinter

ادامه پست پروژه ساخت بازی با پایتون میخواهیم بازی شیر یا خط را در محیط گرافیکی پیاده سازی نماییم.

 

پس ابتدا باید با استفاده از pip پکیج tkinter را نصب کنیم.

بازی شیر یا خط در محیط گرافیکی tkinter

دمو بازی در محیط گرافیکی

اگر با پکیج منیجر pip کار نکردید میتوانید پست آموزش دانلود و نصب pip را مشاهده نمایید.

با دستور زیر پکیج tkinter را برای پشتیبانی گرافیک بازی نصب میکنیم:

pip install tk

همچنین برای اینکه در ساخت بازی از تصویر هم استفاده کنیم پکیج pillow را نیز نصب میکنیم:

pip install pillow

حالا پکیج هایی که نصب کردیم را به پروژه import میکنیم:

import tkinter as tk 
from PIL import Image,ImageTk

سپس ابتدا کد های مربوط به طراحی رابط گرافیکی را به صورت زیر مینویسیم:

root = tk.Tk()

root.geometry("400x400")

lblSelect = tk.Label(root,text="1:shir 2:khat")
txt = tk.Entry(root)
btn = tk.Button(text="check",command=func)
lbl = tk.Label(root)
lblResult = tk.Label(root,text="result:")

lblSelect.pack()
txt.pack()
btn.pack()
lbl.pack()
lblResult.pack()

imgKhat = Image.open("khat.webp")
renderKhat = ImageTk.PhotoImage(imgKhat)

imgShir = Image.open("shir.webp")
renderShir = ImageTk.PhotoImage(imgShir)


root.mainloop()

همانطور که مشاهده میکنید ابتدا سایز صفحه را 400×400 تنظیم میکنیم.

سپس ابزار هایی مانند Label,Entry,Button را تعریف و تنظیم میکنیم.

در نهایت با استفاده از pack آن ها را روی صفحه قرار میدهیم.

دستور Image.Open برای باز کردن تصویر شیر یا خط میباشد که در ادامه از آن استفاده میکنیم.

دقت کنید که میخواهیم مانند پروژه ماشین حساب ساده در پایتون در لیبل مقادیر را قرار دهیم.

پس کد مربوط به تابع func که هنگامی که button کلیک میشود اجرا میشود را به صورت زیر مینویسیم:

import random
import time 
import _thread

def th(threadname,delay):
        #loading
    for i in range(1,10):
        time.sleep(delay)
        if i % 2 == 0:
             lbl.config(image=renderShir)
        else:
             lbl.config(image=renderKhat)
    computer = random.randint(1,2) #1
    if computer == 1:
        lbl.config(image=renderShir)
    else:
        lbl.config(image=renderKhat)

    user = int(txt.get()) #1 shir
    if user == computer:
        lblResult.config(text="user win")
    else:
        lblResult.config(text="computer win")


        
def func():

    #loading 
    _thread.start_new_thread(th,("loading",1))

همانطور که مشاهده میکنید ابتدا thread را استارت میکنیم.

چون میخواهیم یک loading قبل از نمایش نتیجه نهایی نمایش دهیم.

سپس با استفاده از یک حلقه for حالت زوج و فرد متغییر i را در نظر میگیریم.

تو هر یک از حالت های زوج و فرد یکبار تصویر شیر و یکبار تصویر خط را نمایش میدهیم.

در نهایت مشابه حالت ترمینال با مقایسه مقدار user , compuer برنده نهایی را مشخص میکنیم.

دوره آموزش پایتون از صفر تا ورود به بازار کار
با پشتیبانی مادام العمر سوالات
مشاوره رایگان
0936-328-6141 وفایی مقدم

سورس کد بازی در پایتون

در ادامه سورس کد کامل بازی را قرار میدهیم.

دقت کنید که میتوانستیم با دریافت آدرس ایمیل و بررسی صحت آدرس ایمیل مشخص کنیم که دقیقا چه کسی این بازی را انجام میدهد.

از بخش تمرین های پایتون میتوانید مجموعه تمرین های رایگان و با جواب پایتون را مشاهده نمایید.

پرسش و پاسخ ها

هنوز بررسی‌ای ثبت نشده است.

اولین کسی باشید که دیدگاهی می نویسد “پروژه ساخت بازی ساده با پایتون”

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

تمرینات مشابه

پروژه sql دیجی کالا

پروژه sql دیجی کالا

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه نمایش دمای هوا از طریق گوگل

پروژه نمایش دمای هوا از طریق گوگل

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه ساختمان داده بانک یاب

پروژه ساختمان داده بانک یاب

  • استادیار: وفایی مقدم
  • قیمت: 60,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : سخت
تمرین چند ضلعی در سی شارپ

تمرین چند ضلعی در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
تمرین singleton در سی شارپ

تمرین singleton در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
محاسبه شیب پاره خط در سی شارپ

محاسبه شیب پاره خط در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 35,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
پروژه محاسبه عملگر های بیتی در سی شارپ

پروژه محاسبه عملگر های بیتی در سی شارپ

  • استادیار: وفایی مقدم
  • قیمت: 50,000 تومان
  • نوع آموزش: ویدیویی
  • سطح تمرین : متوسط
22 مثال الگوریتم از کتاب الگوریتم مجتمع فنی

22 مثال الگوریتم از کتاب الگوریتم مجتمع فنی

  • استادیار: وفایی مقدم
  • قیمت: رایگان
  • نوع آموزش: ویدیویی
  • سطح تمرین : سخت