Python勉強〜番外編マップ生成〜
kazumaです。
昨年にPythonでコードを書いたことを思い出しました。
このコードは自動でマップを生成してくれるものとなっています。
for文を使っています。
ですが、今回はobject指向を使っているので今まで勉強したところとは少し違います。
コード実行時のプレビュー
#mapCreate.py from random import randrange from graphics import * #windowの生成とサイズ w = GraphWin("map",400,400) cpointer01 = [(50,50),(100,50),(150,50),(200,50),(250,50),(300,50),(350,50)] cpointer02 = [(50,100),(100,100),(150,100),(200,100),(250,100),(300,100),(350,100), (50,150),(100,150),(150,150),(200,150),(250,150),(300,150),(350,150), (50,200),(100,200),(150,200),(200,200),(250,200),(300,200),(350,200), (50,250),(100,250),(150,250),(200,250),(250,250),(300,250),(350,250), (50,300),(100,300),(150,300),(200,300),(250,300),(300,300),(350,300), (50,350),(100,350),(150,350),(200,350),(250,350),(300,350),(350,350)] for (x,y) in cpointer01: Pointer = Circle(Point(x,y),5) Pointer.draw(w) num = randrange(1,5) if num == 1: mpoint01 = Line(Point(x,y),Point(x,y-50)) mpoint01.draw(w) if num == 2: mpoint02 = Line(Point(x,y),Point(x+50,y)) mpoint02.draw(w) if num == 3: mpoint03 = Line(Point(x,y),Point(x,y+50)) mpoint03.draw(w) if num == 4: mpoint04 = Line(Point(x,y),Point(x-50,y)) mpoint04.draw(w) for (x,y) in cpointer02: Pointer = Circle(Point(x,y),5) Pointer.draw(w) num = randrange(1,4) if num == 1: mpoint11 = Line(Point(x,y),Point(x+50,y)) mpoint11.draw(w) if num == 2: mpoint12 = Line(Point(x,y),Point(x,y+50)) mpoint12.draw(w) if num == 3: mpoint13 = Line(Point(x,y),Point(x-50,y)) mpoint13.draw(w)
まず、この2行から。
from random import randrange from Graphics import *
1行目はpythonで乱数を使うために必要となります。
2行目はwindowを生成するために必要となります。
randomを使い、棒倒し法でマップを生成しています。
以上です。今回はただのメモです。