2011-06-01から1ヶ月間の記事一覧

たいてぃーぬむ途中まで。

うまく動かない…。 OSX で Titanium Studio で Android しようとしたら、 Could not locate the Android SDK at the given pathというエラーメッセージが出た。 場合の解決策として、パッと見2つくらいが提示されてた。 .profile に SDK (あるいは tools, p…

screen = pygame.display.set_mode(QVGA, pygame.FULLSCREEN) の話

フルスクリーンディスプレイモードが設定された時、場合によってはこちらで想定していたフルスクリーン状態にならない場合もあります。こうした状況において、pygameは要求に最も近いディスプレイモードを選び出して実行します。 作成されたsurfaceのサイズ…

TENUKIS v0.6

簡易ですが、メニュー画面的を実装しました。機能するのは "new_game" と "exit" だけなんですが。 ゲームクリアの概念を導入しました。 999 ミノ耐えたらクリアです。 エンドレスモードもそのうち実装します。 あとコードの見通しを良くするため、 Mino 及…

Text to Speech から音声ファイルを出力する。 (Mac OS X)

ターミナルで say -v pipe -o hello.aiff helloとやれば、パイプオルガンが「テスト」と発音する音声ファイルが。 say コマンドの最も簡単な用例は say helloで、これならシステム標準音声で、スピーカーから "Hello" と声がします。 -v オプションで声を選…

TENUKIS v0.5.1

動画からは違いが分かりにくいところですが、まず目に見える違いとして、時間を計測することにしました。 時間の計測には datetime.timedelta を用いてます。便利ですね。そして、 timedelta.__str__() は長ったらしい形式だったり精度が過剰だったりするん…

ジュリスト震災関係記事の PDF を一括ダウンロードして一つの PDF にまとめる Automator Workflow

新規フォルダ 名前 : _temp 場所 : デスクトップ 変数の値を設定 変数 : temp_dir 指定された URL を取得 アドレス : http://www.yuhikaku.co.jp/static/shinsai/jurist.html Web ページからリンク URL を取得 URL にフィルタを適用 条件 : 【URL 全体】 .pd…

メモ:テトリス算数

例えば1000ミノでゲームクリアとなるゲームシステムを考えると、この場合4000マスが画面に現れることになり、最大で400行が消されることになる。 10行消すごとに 1 レベル上がるシステムを採用するならば、レベルは40段階*1。 ところで 60 fps の場合、1フレ…

で、 TENUKIS v0.4

音を出すようにしました。回転法則を調整しました。 ちなみに効果音は自作してます。 GarageBand で適当なシンセを鳴らして、 Audacity で切り出し。効果音のファイルはサンプリングレートが 44,100 Hz なんですけど、 pygame.mixer の (初期)設定が 22,050 …

動画の FPS を変更する。

TENUKIS の動画は スクリン・クロラ (現在サイト閉鎖中?) で撮影しているのですが、(私の環境では) 30fps で撮影しているのに、何故か 29.05fps くらいの動画を書き出してしまいます。 動画だけならこのまま公開しても大きな支障は無いのですが、音声と合成…

pygame での音の出し方

sound = pygame.mixer.Sound("sound.wav") sound.play() ただし、遅延が気になる場合には pygame.mixer の設定を調整し、バッファを減らす必要がある。 pygame.mixer は、一度 init されると事後的に変更することはできないので (どうしてもやりたい場合、py…

TENUKIS の回転チェック用スクリプト

回転法則を作り込もうと思ったら、ゲームの画面でやるのはちょい不便。 そこで、より簡易のチェックに便利なようにスクリプトを書きました。 チェックの手段としてはユニットテストを使うのも手なのですが、「この時こうなるはず」は抽象的にソースコードで…

TENUKIS v0.3

ミノの移動、コンコンとグイーンに対応しました。 色がつきました。 これで回転法則をきっちり実装すれば、練習用にはなるかなっていう程度の段階には来ました。 今後の目標 回転法則をちゃんと実装する 遊べる感じにする ゲームが進むにつれ難易度が上がる…

pygame のキー入力取得は意外とクセがあるのかも?

キー入力の取得としては、主に for event in pygame.event.get(KEYDOWN): if event.key == K_z: print "Key Z is pressed" といった処理をする方法と、 pressed = pygame.key.get_pressed() if pressed[K_z]: print "Key Z is pressed" といった処理をする方…

TENUKIS v0.2

自動で落下・固定するようになりました。 消える時及び新ミノ登場時に少し待ち時間を設けました。 次ミノを表示するようにしました。 登場時に回転ボタンを押しておくことで、回転した状態で登場するようにしました(が、しばしば上手くいかない。なぜだろう…

TENUKIS v0.1

Mac のテトリスクローンが見当たらないので*1、試みに製作中です。今のところは手動落下のみ。そして難しいことは解らないので常に一番下まで落下することにしてます。 テトリスのプレイが下手くそなのはさておき。 バックアップを兼ねて現時点のソースコー…

ジェネレータ (generator) のテスト (Python)

>>> import time >>> def gen(): ... c = 0 ... while(True): ... c += 1 ... yield c ... >>> for i in gen(): ... print i ... time.sleep(1) ... 1 2 3 4 5 6 ^CTraceback (most recent call last): File "<stdin>", line 3, in <module> KeyboardInterrupt >>> まぁ、だ</module></stdin>…