まず、テスト対象
1 )経験と彼らがアジャイル開発に取り組んでいます。
2 )個人的なプログラミングのスキルと実践がさらに向上します。
二つの実験的なコンテンツ
1 )問題、運動対プログラミングの以下の説明によれば、(ペアプログラミング)練習。
2 )ペアでの仕事、自由な組み合わせに学生を必要としています。各グループは、2つの共通の完全な実験的な要件をコードする、コンピュータを使用しています。
3 )スイッチングロールの少なくとも二つの、プログラミング中に対を必要とする 4 回;
4 )プログラミング言語は、バージョンが限定されるものではないが、これらに限定されません。使用することをお勧め のPython や JAVA プログラミングを。
第三に、実験プロセス
1は、チームメイトのコミュニケーションと協議した後、私たちは、このペアプログラミング実験を達成するために画面共有を使用することにしました。
2 、コード選択:協議した後、使用することを選択するのpythonをこの実験を完了すること。
。3 、Pythonのコードの仕様:
コードの製造において、両方時々で、4つの役割の反転後のQQの解決方法についての質問に長い時間のための議論。そして、問題を発見し、解決するために検索して行きます。
4 、私たちは、そのような世界を表現するために2次元のマトリックスを使用することができます。で1つのセルの状態が生きているショー、0は、セルの状態が死んで表しています。ここに私たちの初期化コードは次のようになります。
グラウンド(= np.zeros [ x_rect、y_rect ] )#全体蛇がマトリックスによって占め、0が無です。
私のための範囲(1、x_rect-1):
範囲内のJ(1、y_rect-1):
randint(1,10)<2の場合:
接地[ I ] [ J ] = 1
そうしないと:
パス
したがって、ゼロ行列の確立。次に、2つのための循環、内部マトリックス部分の一定の割合に応じて0 に1 用途randint 関数。
その後、我々は正式にゲームの実行中の一部に入りました。
真の中に:
iの範囲(1、x_rectで -1):# 生活条件の開発のすべてのセル
範囲内のJ(1、y_rect-1):
地上であれば[ I ] [ J ] == 1:
もしfood_num(I、J)= 2とfood_num(i、j)は= 3!!:
地面[ I ] [ J ] = 0
そうしないと:
パス
そうしないと:
food_num場合(i、j)は== 3:
接地[ I ] [ J ] = 1
そうしないと:
パス
でしばらく真、我々は、細胞のいくつかは、いくつかの細胞内にそのままいくつかの生きた細胞を、死亡したこのラウンド、で判断します。セルは、マトリックスによって死んでいるか生きている状態の内部で0 と1 のストレージ。人生のゲームの標準ルールの内側と判断されます。
最後に、これはプリントアウトすることです。
5 、実行ショット
6 、アップロード倉庫
倉庫住所:https://github.com/cyszz/my-travel-plans.git
7 、実験的なソース
pygameのインポート
インポートSYS
pygame.localsインポート*から
インポートnumpyのAS NP
randintランダムインポートから
pygame.init()
rect_width = 10
サイズ=幅、高さ= 800、500
COLOR =(100,67,3)#カラーヘビ
x_rect = INT(幅/ rect_width)
y_rect = INT(高さ/ rect_width)#1 格子の複数の長さと幅
BG =(100180180)
pygame.display.set_mode =(サイズ)を有するスクリーン
pygame.display.set_caption( "Pythonの味恋人")
アース= NP .zeros([ x_rect、y_rect ] )#全体蛇は、マトリックスによって占有されなかっ0は何です。
用範囲におけるI(1 ,. 1- x_rect):
(1 ,. 1- y_rect)レンジ内Jため:
IF randint(1,10)<2:
グランド[ I ] [ J ] 。= 1
他:
パス
DEF get_rect(行、列):#の計算はどこ右上ポイントに、ボックスを描画する必要があります。
rect_width *行= X1
Y1 * = rect_widthカラム
リターン(X1、Y1、rect_width、rect_width)
#1 pygame.draw.rect(スクリーン、COLOR、get_rect(行、列)、0)
DEF food_num(X、Y):#ため避けるグランド[ -1 ] [ -1 例]は、我々が必要とするからスタート NUM = 0 隣人= [ 陸上[ X ] [ Y-1 ] 、アース[ X ] [ Y + 1
] 、地面[ X-1 ] [ Y ] 、地面[ X + 1 ] [ Y ] \
、接地[ X-1 ] [ Y-1 ] 、地面[ X + 1 ] [ Y-1 ] 、地面[ X -1 ] [ Y + 1 ] 、地面[ X + 1 ] [ Y + 1 ]
戻り和(隣接)
DEF draw_food(X、Y):
pygame.draw.rect(スクリーン、COLOR、get_rect(x、y)は、0)
真中:
#:範囲内のI(1、x_rect-1)のための所有细胞的生存状态发展
用J範囲(1 ,. 1- y_rect):
IFグランド[ I ] [ J ] == 1:
IF food_num(I、J)= 2とfood_num(I、J)= 3:。!!
グランド[ I ] [ J ] = 0
さもなければ:
パス
他:
food_num(I、J)== IF 3:
グランド[ I ] [ J ] = 1。
他:
パス
#ここでは、全てのセル示されている
screen.fill(BG)#は背景色を塗りつぶします Iの範囲内の(1、x_rect用 -1):#
すべての細胞の生存状況の開発
(1 ,. 1-y_rect):レンジでのJのための
IFグランド[ I ] [ J ] == 1:
draw_food(I、J)
他:
パス
pygame.display.flip()
pygame.time。ディレイ(80)
6 、テストサマリー
このペアプログラミング実験を通じて、私に聞かせてのGitHub の操作がより身近な。一緒にチームメイトと協力することで、共有の経験、交換困難に遭遇し、ある程度これらの全体的なプログラミング能力を向上させます。第二に、私たちは人生の問題のゲームのためのチームを選んだ、とプロセスがより複雑になるが、プログラムの精度を向上させるが、どのような構造の、どのようなアルゴリズムの、どのような使用される機能のを決定するために彼らの完成を共有して、2を必要とします。そして、いくつかの簡単な二人の審査を通じて、書面でミスを作るために、だけでなく、より多くの可能性が発見されると、コードがより明確な構造は、表示されていることを指摘し、バグをさらに小さく、効率隊をプログラミング改善の機会を。このペアプログラミングでは、私は多くの経験を学びました。