1. Ayyıldız Tim forumu Hariç Hiç Bir şekilde Rütbeli Oldugunu İdda edenlere inanmayınız.. Ayyıldız Tim Adına Sizden Bilgi Belge TC Kimlik Vb Evrak İsteyenlere Asla Bilgilerinizi Vermeyiniz.
    Duyuruyu Kapat

Python Adam Asmaca

'Python' forumunda Bağaşa Kağan tarafından 26 Ekim 2019 tarihinde açılan konu

    • Guest
    Katılım:
    8 Eylül 2016
    Mesaj:
    858
    Alınan Beğeniler:
    1,213

    Özel Mesaj
    [​IMG]

    Adam asmaca oyunu basitçe kelime sayısı ve her adımda bize bir harf veren verdiği harfler doğrultusunda kelimenin tamamını tahmin etmemizi isteyen oldukça basit bir oyundur. Adamın asılması tamamlanana kadar ki tahmin hakkımızda doğru kelimeye ulaşmaya çalışırız.

    Kod:
    """
    Python Adam Asmaca Oyunu - Başka Bir Kod
    """
    import random
    resim = ["""
       +---+
       |   |
           |
           |
           |
           |
    --------""","""
       +---+
       |   |
       O   |
           |
           |
           |
    --------""","""
       +---+
       |   |
       O   |
       |   |
           |
           |
    --------""","""
       +---+
       |   |
       O   |
      /|   |
           |
           |
    --------""","""
       +---+
       |   |
       O   |
      /|  |
           |
           |
    --------""","""
       +---+
       |   |
       O   |
      /|  |
      /    |
           |
    --------""","""
       +---+
       |   |
       O   |
      /|  |
      /   |
           |
    --------"""]
    while True:
        print(("----->") + "Adam Asmaca Oyunu" + ("<-----"))
        
        kelime = random.choice(["python", "django", "terminal", "linux", "windows", "baskabirkod"])
        adim = 0
        tahmin = []
      
        
        while True:
            print(resim[adim])
            
            for i, char in enumerate(kelime):
                print(char if i in tahmin else "_"),
                
            cevap = input("nKelimeyi Tahmin Edin: ")
            
            if cevap == kelime:
                print("Kazandınız!nn")
                break
            else:
                while True:
                    rastgele = random.randint(0, len(kelime))
                    if not rastgele in tahmin:
                        tahmin.append(rastgele)
                        break
                
                adim += 1
            
            if adim >= len(resim):
                print("Kaybettiniz!nn")
                break
            
        if not "y" == input("Tekrar Oynamak İstermisiniz? (y/n): "):
            break

    Python 2 Versiyonlarında deneseniz daha iyi olur. Eğlenceli bir kod.


     
    ibrahimenter, Bormet, Setan ve 4 kişi daha bunu beğendi.
  1. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Aslında yeni bir başlık PYTHON OPENGL diye yazacaktım, ama forumda malum başlık açamıyorum şu an...

    Ben de en yakın konu başlığının içine girip deneyelim istedim...

    C, C++, C# aklıma gelen her dilde program örnekleri yazdım...

    Ama Python'a çok dokunmadım...

    Java ve Python gibi yorumlana dilleri çok sevdiğim söylenemez...

    Ama bir yandan da hızlı bir şekilde OpenGL anlatmam gerekecekti...

    Tabi her zaman olduğu gibi, literatüre bakıp, daha önce neler yapılmış diye kontrol etmeye karar verdim...

    Videosu ile karşılaştım...

    https://www.youtube.com/watch?v=NyBkFkAWnEo

    Tabi devamında da...

    https://www.youtube.com/watch?v=kC3lwK631X8

    Koduyla çalışmaya karar verdim...

    Kodun içinde buglar var ve hepsini bulabilecek bir editör yok...

    Mecburen komple elden geçirilmesi gereken bir kod olacak...


    Önce bir parmak bal çalayım...

    Kod çalışıyor...

    [​IMG]

    Sonra bir kaç örnek kod, karşılaştığım bir kaç aksaklık ve düzeltme önerileri de ekleyeceğim...

    Bu arada da baya farklı kütüphaneleri denemek gerekiyor...


    Hepsiyle ilgili yazı yazacağım, ama bazılarına her zaman olduğu gibi linkler verip kısa kesebilirim...
     
    BMustafa, Setan, note ve 1 kişi daha bunu beğendi.
  2. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Kod:
    from OpenGL.GL import *
    from OpenGL.GLUT import *
    from OpenGL.GLU import *
    import sys
    
    window = 0
    rtri = 0.0
    rquad = 2.0
    speed = 0.1
    Wireframe = True
    
    
    def InitGL(Width, Height):
        glClearColor(0.3, 0.3, 0.3, 0.0)
        glClearDepth(1.0)
        glDepthFunc(GL_LESS)
        glEnable(GL_DEPTH_TEST)
        glPolygonMode(GL_FRONT, GL_LINE)
        glPolygonMode(GL_BACK, GL_LINE)
        glShadeModel(GL_SMOOTH)
    
        glMatrixMode(GL_PROJECTION)
        glLoadIdentity()
    
        gluPerspective(45.0, float(Width) / float(Height), 0.1, 100.0)
    
        glMatrixMode(GL_MODELVIEW)
    
    
    def ReSizeGLScene(Width, Height):
        if Height == 0:
            Height = 1
    
        glViewport(0, 0, Width, Height)
        glMatrixMode(GL_PROJECTION)
        glLoadIdentity()
        gluPerspective(45.0, float(Width) / float(Height), 0.1, 100.0)
        glMatrixMode(GL_MODELVIEW)
    
    
    def DrawGLScene():
        global rtri, rquad, speed
    
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
        glLoadIdentity()
        glTranslatef(0.0, 0.0, -5.0)
        glRotatef(rquad, speed, speed, speed)
        glBegin(GL_QUADS)
    
        glColor3f(0.0, 1.0, 0.0)
        glVertex3f(1.0, 1.0, -1.0)
        glVertex3f(-1.0, 1.0, -1.0)
        glVertex3f(-1.0, 1.0, 1.0)
        glVertex3f(1.0, 1.0, 1.0)
    
        glColor3f(1.0, 0.5, 0.0)
        glVertex3f(1.0, -1.0, 1.0)
        glVertex3f(-1.0, -1.0, 1.0)
        glVertex3f(-1.0, -1.0, -1.0)
        glVertex3f(1.0, -1.0, -1.0)
    
        glColor3f(1.0, 0.0, 0.0)
        glVertex3f(1.0, 1.0, 1.0)
        glVertex3f(-1.0, 1.0, 1.0)
        glVertex3f(-1.0, -1.0, 1.0)
        glVertex3f(1.0, -1.0, 1.0)
    
        glColor3f(1.0, 1.0, 0.0)
        glVertex3f(1.0, -1.0, -1.0)
        glVertex3f(-1.0, -1.0, -1.0)
        glVertex3f(-1.0, 1.0, -1.0)
        glVertex3f(1.0, 1.0, -1.0)
    
        glColor3f(0.0, 0.0, 1.0)
        glVertex3f(-1.0, 1.0, 1.0)
        glVertex3f(-1.0, 1.0, -1.0)
        glVertex3f(-1.0, -1.0, -1.0)
        glVertex3f(-1.0, -1.0, 1.0)
    
        glColor3f(1.0, 1.0, 1.0)
        glVertex3f(1.0, 1.0, -1.0)
        glVertex3f(1.0, 1.0, 1.0)
        glVertex3f(1.0, -1.0, 1.0)
        glVertex3f(1.0, -1.0, -1.0)
        glEnd()
        rtri = rtri + 0.2
        rquad = rquad - 0.15
        glutSwapBuffers()
    
    
    def keyPressed(*args):
        global rquad
        if args[0] == b"x":
            global Wireframe
            if Wireframe == False:
                glPolygonMode(GL_FRONT, GL_LINE)
                glPolygonMode(GL_BACK, GL_LINE)
                Wireframe = True
            elif Wireframe == True:
                glPolygonMode(GL_FRONT, GL_FILL)
                glPolygonMode(GL_BACK, GL_FILL)
                Wireframe = False
            else:
                pass
        elif args[0] == b"\x1b":
            exit()
        elif args[0] == b"v":
            rquad = 2
            print(rquad)
    
        print(args[0])
    
    
    def main():
        global window
        glutInit()
        glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH)
        glutInitWindowSize(640, 480)
        glutInitWindowPosition(0, 0)
        window = glutCreateWindow("Cube")
        glutDisplayFunc(DrawGLScene)
        glutIdleFunc(DrawGLScene)
        glutReshapeFunc(ReSizeGLScene)
        glutKeyboardFunc(keyPressed)
        InitGL(640, 480)
        glutMainLoop()
    
    
    print("Press any key to exit")
    main()

    [​IMG]

    Ekran görüntüsü de bu şekilde...

    Bunu çalıştırabilir hale geldiğimizde zaten OpenGL düzgün kurulmuş demektir...

    Devamında baştaki MineCraft koduna döneceğiz...

    Şimdilik kesiyorum...

    İlgilenen olursa devamı gelecek...

    Kolay gelsin...
     
    note ve Orion-Pax bunu beğendi.
  3. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Öncelikle yukarıda verdiğim kodu deneyin...

    Çalıştırabilirseniz, OpenGL yüklü ve editörünüz düzgün ayarlanmış demektir...

    Muhtemelen ilk kurulumda çalışmayacak...

    Ve söylediğim üzere, sakın pip install pyopengl ve pyopengl accelerate komutlarını vermeyin...

    Yada verin belki şanslısınızdır çalışır...

    Ama çalışmadığında pip uninstall komutuyla geri kaldırın...

    https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl

    Sitesinden .whl uzantılı olarak kendimiz indirip...

    Pip ile doğrudan bu dosyayı kurmamız gerekecek...

    Ben son sürümlerinden başladım...

    Geriye doğru gitmem gerekti...

    Son sürümleri de çalışmadı...

    Çalışan hatırladım konfigürasyon...

    pyopencl‑2019.1.2+cl21‑cp36‑cp36m‑win_amd64.whl

    PyOpenGL_accelerate‑3.1.5‑cp36‑cp36m‑win_amd64.whl

    olanlardı...

    pip ile bunları yükleyerek kodu çalışır hale getirin...

    Kodu kendim yazmadım...

    Bu karmaşada bulabilirsem onun da linkini vereceğim...

    Neden bu kod derseniz...

    Diğer biraz sonra vereceğim keyifli bir kaç kod daha var...

    Onlar için bir kaç kütüphane daha eklemeniz gerekecek...

    Biri pygame...

    Bu konu da da uzunca yazacağız...

    Diğeri glfw...


    Bir kaç alternatif daha var ama şu an yeri değil...

    Bu ikisini de pip install ile rahatlıkla kurabildiğimi hatırlıyorum...

    Kuramazsanız yukarıdaki kütüphane linkinden uygun .whl dosyasını elle de kurabilirsini...

    Şu keyifli kodları da buraya ekleyim...

    https://www.youtube.com/playlist?list=PL1P11yPQAo7qEnF_EysHOBUfF0AzUz3jh


    https://pythonprogramming.net/coloring-pyopengl-surfaces-python-opengl/

    Her ikisini de incelemenizi tavsiye ederim...

    Muhtemelen küpleri çevirebilir hale gelmek zaman alacak...

    Ama bu kısmı atlatırsak...

    En baştaki kodu çalıştırıp keyifli keyifli kurcalayacağız...

    pip kullanımı ile ilgili bilgisi olmayanlar için detaylı da yazacağım...

    Ama şimdilik...

    http://www.pythonhacisi.com/pip-nedirne-ise-yararnasil-kullanilir/

    Gibi kaynaklarla idare edin. Zaten python yüklerken pip kurulu geliyor kurmanıza gerek yok...

    Komut satırında çalıştırabilirsiniz...

    Gerekirse resimli kurulum da gösteririm...

    Yine yazılacak çok şey var....

    Belki bu gece bakar detaylı şekilde resimleyerek yazarım...

    Şimdilik bu kadar kolay gelsin...
     
    note ve Orion-Pax bunu beğendi.
  4. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    note ve Orion-Pax bunu beğendi.
  5. AYDOĞAN TUĞGENERAL

    • Forum Denetleme Gözlem Komutanı
    Katılım:
    11 Ağustos 2012
    Mesaj:
    11,390
    Alınan Beğeniler:
    52,683
    Meslek:
    Defender Ayt

    Özel Mesaj
    Semtex. Sen istediğin konuyu acabildiğin yere aç,biz gerekli bölüme taşırız.)
     
  6. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Tabi bu arada bir şeyler de inceleyeceğiz...

    Aslında çok kaynak var ama ben şu an elimde olanlarla devam edeceğim...

    https://stackabuse.com/advanced-opengl-in-python-with-pygame-and-pyopengl/

    Bu linki bir inceleriz...

    Tabi her zaman olduğu gibi referans dokümanlar da gerekecek...

    http://pyopengl.sourceforge.net/documentation/manual-3.0/index.html#GL

    http://pyopengl.sourceforge.net/documentation/manual-3.0/index.html#GLU

    http://pyopengl.sourceforge.net/documentation/manual-3.0/index.html#GLUT

    http://pyopengl.sourceforge.net/documentation/manual-3.0/index.html#GLE

    Bu referansları da göz önünde tutmak gerekir.

    Yine aklımdayken...

    Kurulum kısmı için konfigürasyonu da vereceğim burada.
     
    note ve Orion-Pax bunu beğendi.
  7. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Teşekkür ederim. Yanlış bir yere de açmamaya çalışıyorum. Olaki sıkıntı olursa taşırsanız sevinirim.
     
    note ve Orion-Pax bunu beğendi.
  8. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,784

    Özel Mesaj
    Peki o zaman size bir soru sormak istiyorum müsadenizle. OpenGL konusuna neden önem veriyorsunuz, sizin için anlamı, önemi nedir?
     
    Orion-Pax bunu beğendi.
  9. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Güzel soru...

    Aslında sadece windows kullanıyorsak, kapı gibi directx'imiz var...

    Hatta zaten windows, Win GDI için yapılan çağrıları mümkünse kendi directx'e kendi çeviriyor...

    Peki niçin opengl...

    Burada ana fikir, bir kütüphane yada api'yi kullanabilmek...

    Çünkü aynı apinin, farklı diller için destekleri var...

    Biz ihtiyaç halinde hangi dilde iyi isek, o dili destekleyen kütüphaneleri ile bu çağrıları yaparak o kütüphaneden faydalanabiliriz...

    Yani aslında mesele herhangi bir apiyi kullanmak...

    Özelinde OpenGL konuşursak, directx vs OpenGL konusu benim tarzım değil...

    Ben mukayese etmem iyi kötü taraflarına göre veya ihtiyaca göre hangisi lazımsa denerim bilirsin...

    Burada zaten konu kalmadı yazacak...

    Python da bir kaç kişi olmasa...

    Diğer dillerde yazacak kimse de kalmadı diyebilirim...

    OpenGL i saran diğer kütüphaneler de var zaten...

    pygame vs gibi...

    Sardıkça kullanım da basitleşiyor...

    Ama OpenGL in kendine has dilini de öğrenmekte fayda var...

    En azından biraz matris çalışması yaptırmış oluyor...

    Bu arada da Oyun yapılarını ve karşınızda gördüğünüz üç boyutlu yazılımların nasıl bir mantıkla progamlandığını da kavramya yardımcı olacaktır diye düşündüm...

    Beğenmediyseniz bırakabiliriz burada...

    :)

    Aklımda bunun client server çalışanı ve zaten etrafta C++ tan evrilebilecek kodları da vardı ama...
     
    note ve Orion-Pax bunu beğendi.
  10. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,784

    Özel Mesaj
    Hayır beğenmemek değil, elinize sağlık ama kendiniz de belirttiğiniz gibi tarzınız olmayan bir konu üzerine yazdığınız için sordum :)
     
    Orion-Pax bunu beğendi.
  11. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Hah işte bam telim...

    Maalesef ticari olmayan arkasında açık kaynak olan yerlerde iş çok dökülüyor...

    Zaten zamanımın büyük kısmın buna harcadım...

    Ne zaman yorumlanan diller, açık kaynak gibi konulara girsem...

    Ya editör dökülür yada dil...

    Ortalıkta OpenGL kütüphaneleri var...

    Javada da Pyhonda da ayarlamak içi asıl zamanı harcıyorsun...

    Hele javada...

    Daha kurulumda bir dünya kriz çıkartıyor...

    Ayarsızlık bende mi diye Linux tarafına geçiyorum...

    get'ler appgetler havada uçuşuyor...

    Yine anı problemler...

    Ama microsoft tarafı her ne kadar tekelci davranıyor deseler de bir tutarlılığı var en azından bir setup da bir çok şeyi kendi içinde halledebiliyoruz...

    Bir benzer konforu bana Delphi sunmuştu...

    Ama onun dışında, pycharm, eclipse, netbeans sürekli sorun yumağı...

    Her neyse... Konu bu değil...

    Sonuç itibariyle elimizde çalışan bir minecraft kodu var...

    Üç boyutlu dizayn tarafı benim daha fazla ilgi alanım..

    Sonuçta sistem çağrıları ve donanıma yaklaşan tarafının görselleşmesi...

    Aslında her zaman olduğu gibi kodun ve bilginin çoğunu verdim...

    Bakalım burada kaç kişi ne kadar deneyip...

    Nerelerde çuvallayacak ben de bu arada birazcık opengl apilerini hatırlama ve kullanma fırsatı bulurum...
     
    note ve Orion-Pax bunu beğendi.
  12. note Atıldı

    • Guest
    Katılım:
    20 Nisan 2017
    Mesaj:
    3,716
    Alınan Beğeniler:
    6,784

    Özel Mesaj
    Aslında çok ilgi çekici bir konu. Hani sürekli soranlar var ya, şu oyunlar nasıl yapılıyor diye, bence onların ilgisini çekecek bir konu. Minecraft videosunu önceden görmüştüm ve 300 satır yazdığını görünce inanmamıştım. O zamanlar kaynak kodu kapalıydı, bu yüzden hiç inanmadım. Sonradan paylaşmış demek ki.
     
    Orion-Pax bunu beğendi.
  13. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Tamam öncelikle konfigürasyondan başlayım...

    Windows 10 64 bit platform kullanalım...

    Python 3.7 indirip kurdum...

    Link vermeye gerek var mı bilmiyorum...

    PyCharm Community edition 2020.1 kurdum...


    Bu durumda Verdiğim küp kodunu çalıştırıp deneyen varsa...

    OpenGL çalışabilir hale geldik demektir...

    Hazır elimiz değmişken...

    Kodu verdim derleyip çalıştığını görebilirsiniz...

    Zaten hep bu küp yüzünden oluyor ne oluyorsa :)

    Bir küple başlayıp...

    MineCrafta kadar gitmiş olay...
     
    InServeOfGod ve Orion-Pax bunu beğendi.
  14. Semtex Atıldı

    • Guest
    Katılım:
    6 Kasım 2016
    Mesaj:
    1,715
    Alınan Beğeniler:
    4,049

    Özel Mesaj
    Kodlar bana ait değil referans sitelerden toparlayıp çalışır hale getirdiklerimden bu nedenle linklerini vermek için zaman ayıramayacağım.

    Temel OpenGL konularında örnek olsun diye bırakmak amacıyla veriyorum.

    [​IMG]

    Kod:
    from OpenGL.GL import *
    from OpenGL.GLUT import *
    from OpenGL.GLU import *
    import math
    window = 0                                                # glut window number
    
    # initial position of the rectangle
    rect_x = 0
    rect_y = 200
    
    # constants
    RECT_WIDTH = 50
    RECT_HEIGHT = 50
    RECT_DELAY = 20
    width, height = 400, 400                                # width and height of the window
    dx = 0                                                    # direction to x
    dy = 0                                                    # direction to y
    mouse_y = 0                                                # position of mouse cursor to x
    mouse_x = 0                                                # position of mouse cursor to y
    s = 0                                                    # path
    v = 3                                                    # speed of movement of the ball
    
    # window size
    def draw_rect(x, y, width, height):
        glBegin(GL_QUADS)                                    # start drawing a rectangle
        glVertex2f(x, y)                                    # bottom left point
        glVertex2f(x + width, y)                            # bottom right point
        glVertex2f(x + width, y + height)                    # top right point
        glVertex2f(x, y + height)                            # top left point
        glEnd()
    
    def refresh2d(width, height):
        glViewport(0, 0, width, height)
        glMatrixMode(GL_PROJECTION)
        glLoadIdentity()
        glOrtho(0.0, width, 0.0, height, 0.0, 1.0)
        glMatrixMode (GL_MODELVIEW)
        glLoadIdentity()
    
    def draw():                                                # ondraw is called all the time
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)    # clear the screen
        glLoadIdentity()                                    # reset position
    
        # ToDo draw rectangle
        refresh2d(width, height)
        glColor3f(0.0, 0.0, 2.0)
        draw_rect(rect_x, rect_y, RECT_WIDTH, RECT_HEIGHT)
        glutSwapBuffers()                                    # important for double buffering
    
    
    
    def mouseControl( mx, my):
    
        global rect_x, rect_y, dx, dy, s, mouse_x, mouse_y
    
        my_new = height - my
        mouse_x = mx
        mouse_y = my_new
    
        dif_x = mx - rect_x                                    # differnce between position of mouse cursor and rectangle to x
        dif_y = my_new - rect_y                                # differnce between position of mouse cursor and rectangle to y
    
        s = math.sqrt(dif_x ** 2 + dif_y ** 2)
        k = v / s
        dx = k * dif_x
        dy = k * dif_y
    
    
    def movement(value):
    
        global rect_x, rect_y, mouse_x, mouse_y
    
        rect_x += dx
        rect_y += dy
    
        dif_x_new = mouse_x - rect_x                            # new differnce between position of mouse cursor and rectangle to x while rectangle is going
        dif_y_new = mouse_y - rect_y                            # new differnce between position of mouse cursor and rectangle to y while rectangle is going
        step_s = math.sqrt( dif_x_new ** 2 +  dif_y_new ** 2)    # path changed all the time when rectangle approaches to mouse cursor
    
    # stop move when rectangle is on the cursor position
        if int(step_s) <= v:
            rect_x = mouse_x
            rect_y = mouse_y
    
        glutTimerFunc(RECT_DELAY, movement, 0)
    
    
    # initialization
    glutInit()                                                # initialize glut
    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_ALPHA | GLUT_DEPTH)
    glutInitWindowSize(width, height)                        # set window size
    glutInitWindowPosition(0, 0)                            # set window position
    window = glutCreateWindow("Approaching rectangle")                # create window with title
    glutDisplayFunc(draw)                                    # set draw function callback
    glutIdleFunc(draw)                                        # draw all the time
    glutPassiveMotionFunc(mouseControl)
    glutTimerFunc(RECT_DELAY, movement, 0)
    glutMainLoop() 
    Çalıştırıp, resmini de ekledim.

    Burada temel mouse yakalama örneği olması açısından bırakıyorum...

    Aslında oyun programlama için, oyun motoru nedir, grafik motoru nedir, animasyon nasıl oluşturulur, scriptler, yapay zeka gibi bir çok konuda yazı yazmak gerekiyor.

    Özellikle oyunu seçerken, ek kütüphane kullanmamaya çalışacağım...

    Bu da doğal olarak bana kendi oyun motorumu da yazma zorunluluğu getirecek...

    Çünkü kütüphaneler maalesef çok hızlı değişiyor hangi kodu denesem, deprecated hatası alıyorum sürekli değişen kütüphaneleri takip etmek ve zaman harcamak istemem...

    Bu şekilde mecburen pencere oluşturan olayları yakalayan kısımları kendimiz oluşturduğumuz gibi...

    Ana giriş menülerini ve oyun davranışlarını da tek tek ele almam gerekecek...

    Böylece aslında oyun nedir ne değildir öğrenirken aslında içinde ne kadar matematik ve geometri de gizli görmüş olacağız...

    Tabi hala konuda çok da kendimden başka yorum göremiyorum o da ayrı bir mevzu...
     
  15. Piyadee65 Guest

    • Guest
    Katılım:
    7 Eylül 2020
    Mesaj:
    23
    Alınan Beğeniler:
    13

    Özel Mesaj
    [QUOTE="Semtex,
    Devrem be nasil anliyunuz bu kodlari
     
  16. Akper Guest

    • Guest
    Katılım:
    8 Eylül 2020
    Mesaj:
    2
    Alınan Beğeniler:
    10

    Özel Mesaj
    Bilgisayarım yok telefondan pythonla neler yapabilirim yardımcı olabilecek var mı?
     
    Orion-Pax bunu beğendi.
  17. BMustafa Guest

    • Guest
    Katılım:
    15 Eylül 2020
    Mesaj:
    13
    Alınan Beğeniler:
    14

    Özel Mesaj
    Vay baya iyi ya
     
    • Guest
    Katılım:
    5 Ekim 2020
    Mesaj:
    1
    Alınan Beğeniler:
    0

    Özel Mesaj
    Bu Kadar Kolay bir dili nasıl bu kadar zorlaştırdın anlamadım
     

Bu Sayfayı Paylaş