Maison  >  Article  >  développement back-end  >  Python, jeu de la vie OpenGL

Python, jeu de la vie OpenGL

高洛峰
高洛峰original
2017-02-13 17:52:042207parcourir

Débutant pour apprendre Python et OpenGL, life.py est le premier petit programme à pratiquer. Ce petit programme sera continuellement ajusté à l'avenir, en ajoutant des classes, en optimisant le jugement et les opérations

Effet d'exécution :

Selon les règles du jeu de vie régulier :

1. Lorsque la vie environnante est égale à 3, la vie est générée

2. Lorsque la vie environnante est égale à 2 , il reste inchangé

3. Erosion mutuelle rouge et verte (nouvellement ajoutée)

4. Mort dans d'autres situations

Boucle de limite nouvellement ajoutée (2017/2/13)

from OpenGL.GL import *from OpenGL.GLU import *from OpenGL.GLUT import *import random'''全局参数开始'''life_down_p = 2 #竞争参数下限
life_up_p = 3 #竞争参数上限
life_die_time = 5 #死亡时间
life_begin = 1000 #开局生成时间
map_size = 100'''全局参数结束'''num = 0 #golbal
life_map = [0]*map_size*map_size #golbal
life_new = [0]*map_size*map_size #golbal
all_c = [0]*map_size*map_size
green_c = [0]*map_size*map_size
red_c = [0]*map_size*map_size
w = 2/map_size #width pre
h = 2/map_size #height pre
RED = 1GREEN = 2def draw_point(color,p) : #画点
    x = int(p%map_size)
    y = int(p/map_size)
    glColor3f(color[0],color[1],color[2])
    glBegin(GL_QUADS)
    glVertex2f(x*w-1,y*h-1)
    glVertex2f((x+1)*w-1,y*h-1)
    glVertex2f((x+1)*w-1,(y+1)*h-1)
    glVertex2f(x*w-1,(y+1)*h-1)
    glEnd()
def god() :    global life_map,num,font_map,all_c,green_c,red_c    if num  red_c[i] :
                    life_map[i] = GREEN
                    draw_point([0,1,0],i)
                elif green_c[i]  life_up_p or all_c[i] <p> </p><p>Capture d'écran d'exécution : </p><p><img src="https://img.php.cn/upload/article/000/000/013/c279f9a8ca8d2f1e78c7adf5c6c1ce00-0.png" alt="Python, jeu de la vie OpenGL"    style="max-width:90%"  style="max-width:90%" title="Python, jeu de la vie OpenGL"></p><p> Pour plus d'articles liés à Python et OpenGL Game of Life , veuillez faire attention au site Web PHP chinois ! </p>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn