2014-11-01から1ヶ月間の記事一覧

フルスクリーン

ウィンドウをフルスクリーンにする方法です. 非常に簡単なので, スプライトのグループ化の別の方法もまとめて説明します. ウィンドウのフルスクリーン化はキーイベントによって操作します. import pygame from pygame.locals import * import sys SCR_RECT =…

スプライト2

前回のスプライトのプログラムは, 画像をそれぞれ更新, 描写をしなくてはいけないのでグループとしてまとめます. import pygame from pygame.locals import * import sys SCR_RECT = Rect(0, 0, 1000, 700) class MySprite(pygame.sprite.Sprite): def __ini…

スプライト1

今回はスプライトを使用します. スプライトはゲーム背景とは滅に動く画像(キャラクター, ボール,ブロック等)のことです. スプライトを使用すると画像のバウンドや衝突の処理がカンタンにでき, ゲームを作成するのに必須となります. また画像の処理をまとめて…

キーイベント2

前回のキーイベントはキーを一回押すごとに上下左右に動きました. 今回は, キーを押している分だけ動作するプログラムです. これはインベーダーゲームでビームを連続で発射するとき等に使うことができます. import pygame from pygame.locals import * impor…

キーイベント1

マウスイベント同様にキーイベントについても説明します. import pygame from pygame.locals import * import sys SCREEN_SIZE = (1000,700) pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE) pygame.display.set_caption("キーイベント") back…

バウンド処理2

バウンド処理の違う方法について説明します. バウンド時の速度の工夫をします. import pygame from pygame.locals import * import sys SCR_WIDTH,SCR_HEIGHT = 1000,700 pygame.init() screen = pygame.display.set_mode((SCR_WIDTH,SCR_HEIGHT)) pygame.di…

バウンド処理1

キャラクターをウィンドウの中でバウンド処理をさせます. import pygame from pygame.locals import * import sys SCR_WIDTH,SCR_HEIGHT = (1000,700) pygame.init() screen = pygame.display.set_mode((SCR_WIDTH,SCR_HEIGHT)) pygame.display.set_caption(…

マウスイベント2

もうひとつのマウスイベントをします. pygame.mouseの関数を使用します. pygame.mouse.get_pressed() この関数を使うと, マウスのどのボタンが押されているか知ることができます. #pygame.mouseを使用 import pygame from pygame.locals import * import sys…

マウスイベント1

マウスという入力インターフェースを用いて, クリック時のプリントの実装します. Pygameでマウス入力を検出する方法は, 2つあります. 今回は1つ目のイベントハンドラでマウスイベントを補足する方法です. イベントハンドラは今までQUITイベントで使っていま…

写真の描写

写真の描写をします. これはゲーム作成の際に非常に重要です. 背景やキャラクターを思うように扱うことができます. import pygame from pygame.locals import * import sys SCREEN_SIZE = (1000, 750) pygame.init() screen = pygame.display.set_mode(SCREE…

図形の描写

GUIで図形を書きたいと思います. ウィンドウの作成は前回と同じです. import pygame from pygame.locals import * import sys SCREEN_SIZE = (700, 400) def main(): pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE) pygame.display.set_capti…

バッファ

CでもJavaでも聞いたことあります. 僕は今まで理解をしていなかったので, この機会にちゃんと理解しようと思います.そもそもバッファとはデータのことです. 表示したい図や絵のデータです. ウィンドウ作成のプログラムのときにバックバッファという言葉が出…

ウィンドウの作成

GUIのはじめとして, ウィンドウの作成をします. 関数でウィンドウを呼びます. #Pygameを使う場合に必須のモジュールをインポート import pygame from pygame.locals import * import sys SCREEN_SIZE = (300, 480) # 画面サイズ def main(): # Pygameを初期…

pygame

現在, pygameを勉強しています. 今までpythonをCUIとして勉強してきました. まだ, 今までやったことも完璧にできなかったり, 標準ライブラリ等何ができるかまだわからないのですが, 並行してGUIという次のステップに移ろうかと思います. 理由として, オブジ…

階段

階段を作成するプログラムです.これも九九のプログラム同様, for文を2つ重ねます. a = '#' k=range(10) for j in range(10): for i in k: print a, print del k[-1] 実行結果は, # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #…

九九

九九を作るプログラムをプログラムを作成しました. for文を二つ重ねて作成します. for i in range(1,10): for j in range(1,10): print i*j, print 3行目のコンマをつけないと, それぞれの掛け算を縦に表示させてしまいます. 一つ目のfor文で縦に9個, 二つ目…

オセロの実装

現在はpythonでオセロの実装をしています. これからはオブジェクト指向について学びがてら, ゲームの作成をしてみたいと思います. これからは毎日進捗を報告できたらと思います.

配列の大きい順

配列を大きい順に並べます. その際にmaxで回せばすぐ終わるので, 配列の添字も表示するようにします. point = [68,90,52,75,83,78,97,58,36,66,46,50] for i in range(len(point)): a = max(point) c = point.index(a) print str(c)+'->'+str(a) point[c]=0 …

2文字の平仮名作成

ランダムで平仮名を2文字作成するプログラムを作成します. まずは簡単なプログラム import random hiragana = u"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん" a=random.randint(0,len(hiragana)-1) b=ra…

累乗

入力した数値の累乗を返すプログラムです. n = int(raw_input( u"数字を入力してください")) m = int(raw_input( u"何乗にしますか?")) x=1 for i in range(m): x = x*n print (u"{0}の".format(n)+"{0}".format(m) +u"乗は"+"{0}".format(x)) nは入力した…

閏年判定

その年が閏年かどうか判定するプログラムを作成します. Wikipediaによると, 閏年は4年に一回あります. また以下の条件があります. 1. 西暦年が4で割り切れる年は閏年 2. ただし、西暦年が100で割り切れる年は平年 3. ただし、西暦年が400で割り切れる年は閏…

今日の感想

ここ数日日経平均が上昇しています. どこまで上がるのか… ここまで上がるとなかなか買えないですね. 今日の上昇は自民党の解散決定について言及したことによって(宣言はしてない), 先物から買いが入り上昇しました. どこまで上がるか... 当分上がりそうです…

数当てゲーム

乱数で決められた数字を当てるゲームのプログラムの作成をします.答えの数字は1から1000からランダムに選択されます. そこからヒントに沿って答えを当てます.実際にプログラムを見てみます. import random m=0 n = random.randrange(1,1000) while m!=n: m =…

今日の感想

今日はゼミで自分の発表でした.本当にツメが甘く, あってはいけないミス等があり自分のことを情けなく思いました. 常に頭を回転させている生活を送ってない証だと思います. 数値実験からの考察も甘く, 学生ながら一人の研究者として失格です. たとえ自分が出…

素数判定2

10から25までの数字がそれぞれ素数であるか判定します. def prime(n): for d in range(2, n): if n % d == 0: return 0 return n for n in range(10,25): print('{0} is '.format(n) + ('a ' if prime(n) else"not " )+ 'Prime Number' ) 実行結果は, 10 is …

簡単なプログラム17

次に次元データを可視化したいと思います. 先ほどと同様にコマンドプロンプトでPythonが入っているファイルまで移動し, その中のScriptsに移動します. ipython --pylab 4行4列の単位行列を可視化します. b = np.eye(4) plt.imshow(b) 実行結果は, となります.

簡単なプログラム16

Pythonで図を書いてみます. PyScripterで書く事ができなかったので, コマンドプロンプトから書きたいと思います. まず, ipythonをインストールしてください. コマンドプロンプトからインストールすると簡単です.それでは始めます. まず, コマンドプロンプト…

簡単なプログラム15

配列データの属性を教えてくれるプログラムを書きます.dtype 各要素のデータ型 ndim データの次元数(ベクトルは1,配列は2) shape 各次元の長さをタプルで表したものこれらのコマンドを調べたいベクトルや配列の変数の後ろにくっつけるだけでそれぞれ教えてく…

確認

from pylab import * from matplotlib.pyplot import * import numpy as np import scipy as sp import matplotlib.pyplot as plt 行列について少し応用したプログラムを説明します.このモジュールを前提とします.配列について様々な関数を説明します.np.zer…

今日の感想

研究について, 応用の部分もある程度形になりましたが, これが研究の成果であるとは到底言えないので, もうちょっと条件を加える等の工夫を施したいと思います. 明日は,土曜日なので研究をほどほどにpythonの勉強をしたいと思います. C言語で書いてみたプロ…