Par de programación (en dos etapas)

En primer lugar, el destino de la prueba
  1) experiencia y que trabajan en el desarrollo ágil.

  2) habilidades y prácticas de programación personal para mejorar aún más.

En segundo lugar, el contenido experimental
  1) de acuerdo con la siguiente descripción del problema, la programación en parejas ejercicio (programación en parejas) Práctica;

  2) requerir a los estudiantes que trabajen en parejas, combinación libre. Cada grupo utiliza una computadora, dos común que codifica requisitos experimentales completos.

  3) requiere par durante la programación, tanto las funciones de conmutación al menos 4;

  4) lenguaje de programación no se limita a, la versión no está limitado. Recomienda el uso de programación Python o Java.

En tercer lugar, el proceso experimental

   1, debido al aspecto, teniendo en cuenta la supervisión mutua entre el uso de la pantalla compartida para completar esta programación par experimental.

   2, selección de código: Después de la consulta mutua, optar por utilizar Python para completar este experimento.

   3, las especificaciones del código Python:

 

 

En la preparación del código, dos después de varios cambio de roles, a veces largas discusiones, sobre cómo resolver un problema.

 

4, podemos utilizar una matriz de dos dimensiones para representar un mundo así. Con 1 muestra el estado de la célula está viva, 0 representa el estado de la célula está muerta. Aquí es nuestro código de inicialización:

tierra = np.zeros ([x_rect, y_rect ]) # toda serpiente ocupada matriz, 0 no es.

I en el rango de (1 ,. 1-x_rect.):

Para J en el rango de (. 1 ,. 1-y_rect):

SI el randint (1,10) <2:

Ground [i] [j] = 1.

La otra cosa:

Pass

Por lo tanto, el establecimiento de una matriz cero. Entonces durante dos ciclos, de acuerdo con una cierta proporción de la porción de matriz dentro de una función randint 0 en 1. El uso.

Luego, entró oficialmente en el vano del juego.

while True:

para i en el rango de (1, x_rect-1): #所有细胞的生存状态发展

para j en el rango de (1, y_rect-1):

si suelo [i] [j] == 1:

si food_num (i , j) = 2 y food_num (i, j) = 3:!

suelo [i] [j] = 0

más:

pasar

más:

si food_num (i, j) == 3:

tierra [i] [j] = 1

cosa:

pase

En el mismo tiempo cierto que juzgamos en esta ronda, que algunas de las células murieron, algunos de los cuales las células vivas, que en algunas células intactas. Cell está vivo o muerto por el estado 0 y la matriz dentro del almacenamiento. Dentro de las reglas estándar del juego de la vida es juzgado.

Por último, se trata de imprimir.

5, tiro ejecutar

 

6, almacén de carga

 

Almacén Dirección: https: //github.com/cyszz/my-travel-plans.git

7, fuente experimental

 la pygame Importación
Importación SYS
de pygame.locals importación *
Importación numpy AS NP
de la randint Random importación
pygame.init ()

rect_width = 10
size = anchura, altura = 800, 500
COLOR = color (100,67,3) # serpiente
x_rect = int ( ancho / rect_width)
y_rect = int (altura / rect_width) # pluralidad de longitud y anchura de rejilla

BG = (100,180,180)
de pantalla con pygame.display.set_mode = (tamaño)
pygame.display.set_caption ( "Python interés fan")
Ground = NP .zeros ([x_rect, y_rect]) # toda serpiente ocupada matriz, 0 no es.
I en el rango de (1 ,. 1-x_rect.):
    Para J en el rango de (. 1 ,. 1-y_rect):
        SI el randint (1,10) <2:
            Ground [i] [j] 1 =.
        La otra cosa:
            Pass
DEF El get_rect (Fila , columna): # donde debería llamar la computación distribuida, seleccione la esquina superior derecha.
    x1 = rect_width * fila
    y1 = rect_width * columna
    de retorno (x1, y1, rect_width, rect_width)
# pygame.draw.rect (pantalla, COLOR, get_rect (fila, columna), 0)
def food_num (x, y): #为了避免出现suelo [-1] [- 1]的情况,我们需要从1开始
    num = 0
    vecino = [suelo [x] [y-1], planta [x] [Y + 1], tierra [x-1 ] [y], planta [x + 1] [y] \
               , planta [x-1] [y-1], planta [x + 1] [y-1], de tierra [X-1] [Y + 1 ], planta [x + 1] [Y + 1]]
    suma de retorno (vecino)
  
def draw_food (x, y):
    pygame.draw.rect (pantalla, COLOR, get_rect (x, y), 0)

while True:
    
    para i en el rango de (1, x_rect-1): #所有细胞的生存状态发展
        para j en el rango de (1, y_rect-1):
            si suelo [i] [j] == 1:
                si food_num (i, j)! = 2 y food_num (i, j) = 3:
                    Planta [i] [j] = 0
                el otro:
                    Pass

            la otra cosa:
                SI food_num (I, J) == 3:.
                    . Planta [i] [j] 1 =
                el más:
                    Pass

    # Aquí se muestra todas las células
    screen.fill (bg ) # llenar el color de fondo         
    para i en el rango de (1, x_rect -1): # desarrollo de todas las células en las condiciones de vida
        de J en el rango de (1 ,. 1-y_rect):.
            IF Ground [I] [J] == 1:.
                draw_food ( I, J)
            la otra cosa:
                Pass
                
    pygame.display.flip ()
    pygame.time.delay (80)

En cuarto lugar, resumen de la prueba

    El experimento diferencia de algunos experimentos anteriores, por primera vez en el trabajo en parejas para completar de forma experimental, son de gran ayuda para nuestro aprendizaje futuro. Antes de empezar a trabajar en mis compañeros de equipo realmente entender el par son no muy profunda, siento que cada escritura propia, hay dudas sobre el intercambio y, por último fusión clic sobre él. Pero al final me di cuenta de que una persona no es suficiente para mejorar. Y déjame revisar algunos pitón conocimientos adquiridos. En resumen este experimento tuvo una sesión productiva, después de dicha programación se puede llevar a cabo en las actividades privadas con amigos.

Supongo que te gusta

Origin www.cnblogs.com/32036et/p/12637907.html
Recomendado
Clasificación