>백엔드 개발 >파이썬 튜토리얼 >Python, OpenGL 생명의 게임

Python, OpenGL 생명의 게임

高洛峰
高洛峰원래의
2017-02-13 17:52:042257검색

Python과 OpenGL을 배우는 초보자, life.py는 연습할 수 있는 최초의 작은 프로그램입니다. 이 작은 프로그램은 앞으로도 계속해서 클래스를 추가하고 판단과 운영을 최적화할 예정입니다.

실행 효과:

정규 생활 게임의 규칙에 따르면:

1. 주변 생명력이 3이 되면 생명이 생성됩니다.

2. 주변 생명력이 2가 되면 생명이 생성됩니다. , 변함없이 유지됩니다

3. 빨간색과 녹색 상호 침식(새로 추가됨)

4. 다른 상황에서 사망

새로 추가된 경계 루프(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>실행 스크린샷:</p><p><img src="https://img.php.cn/upload/article/000/000/013/c279f9a8ca8d2f1e78c7adf5c6c1ce00-0.png" alt="Python, OpenGL 생명의 게임"    style="max-width:90%"  style="max-width:90%" title="Python, OpenGL 생명의 게임"></p><p> Python 및 OpenGL Game of Life와 관련된 더 많은 기사를 보려면 다음을 참조하세요. PHP 중국어 웹사이트를 주목하세요! </p>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.