Python、OpenGL 人生ゲーム

高洛峰
高洛峰オリジナル
2017-02-13 17:52:042258ブラウズ

私は 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 までご連絡ください。