人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

2008-08-01から1ヶ月間の記事一覧

立方体の描画

プリミティブの描画(2008/8/24)で使った四角形を6枚張り合わせて立方体を作ってみます。いよいよ3次元空間へ突入。cube.py サンプルスクリプト #!/usr/bin/env python #coding:utf-8 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT i…

自機を動かす

まず、プレイヤーである自機をキーボードで動かせるようにします。ブロック崩し編のパドルの移動(2008/8/9)で解説したパドルと作り方はほとんど同じです。だだし、今回はキーボードで左右に移動するようにします。invader01.zip 自機スプライト まず自機Pl…

プリミティブの描画

プリミティブを描くサンプルです。プリミティブとはOpenGLで使える図形のことで、点、線、三角形、四角形、ポリゴンなどがあります。primitive.py サンプルスクリプト #!/usr/bin/env python #coding:utf-8 from OpenGL.GL import * from OpenGL.GLU import …

OpenGLウィンドウの表示

PyOpenGLで遊ぶためのウィンドウを表示するところまで。OpenGL自体にはウィンドウを表示する関数はないためGLUTと呼ばれる拡張ツールキットを使います。以下のサンプルを実行するにはPyOpenGLとGLUTのインストールが必要です。PyOpenGLのインストール(2008/…

スコアの表示

ゲームスコアが画面の中央に表示されるようにします。ブロックを連続して壊すことで高得点が狙えるようにしました。ボールを落としてしまうと減点です。breakout06.zip スコアの表示 まず、スコアボードを表すクラスScoreBoardを作ります。 class ScoreBoard…

PyOpenGLでTeapot

PyOpenGLでTeapotをレンダリングしてみた。矢印キーで回転できる。ひな形プログラムとしてちょうどいいかも。 #!/usr/bin/env python #coding:utf-8 import sys from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * window = None …

反射方向の調整

前回までのプログラムを実行してしばらく遊んでみるとわかりますが、ボールがいつも同じ方向に跳ね返るためまったく面白くありません。プレイヤーができるのはボールを落とさないようにすることだけです。今回は、ボールがパドルに当たる位置によって反射方…

ボールの反射音

ボールがブロックやパドルに当たったとき音が鳴るように改良します。効果音はザ・マッチメイカァズさんからお借りしています。breakout04.zip 効果音のロード まず効果音をロードします。効果音はすべてBallのクラス変数へセットします。クラス変数なのでボ…

ブロックを壊す

ブロックを配置してボールが当たると壊れるようにします。ブロックをブロックグループに追加し、ボールスプライトとブロックグループの衝突判定を行います。Spriteの衝突判定機能を使うと簡単にできます。ここまでくるとゲームっぽくなってきます。breakout0…

ボールの反射

次に画面内を跳ね回るボールを実装します。パドルにボールを当てると跳ね返ります。breakout02.zip ボールスプライト まずボールを表すクラスです。これもパドルと同じくSpriteを継承してデフォルトスプライトグループ(containers)も指定します。 class Ba…

パドルの移動

これから数回にわたってブロック崩しを作ろうと思います。今回は、ボールを跳ね返すラケット(パドル)をマウスで動かせるところまで作ります。ブロック崩しの素材は、FLYING YOGI(リンク切れ)さんからお借りしています。breakout01.zip パドルスプライト …

PyOpenGL

2008年目標(2008/1/1)になっていたOpenGLの勉強を始めた。3Dは以前DirectXをやっていたことがあったが、あまりに難しくて挫折したことがある・・・今はPCをMacにしてしまったこともあり、DirectXは使えないので代わりにOpenGLを使うことにした。OpenGLはさ…

ポアンカレ予想

今さらだけど図書館にポアンカレ予想の本が並んでいたので読んでた。ポアンカレ予想は「単連結な三次元閉多様体は、三次元球面に同相である」という予想。フェルマーの最終定理と違って問題を聞いてもよくわからないなぁ。何でも宇宙の形を解き明かすための…

戦闘画面

まだ戦えるわけではありませんが、戦闘画面を実装してみました。フィールドを歩いていると何か強そうな(笑)モンスターに襲われます。コマンドの選択などはすべてスペースキーを使います。とりあえずにげることしかできません。モンスターのグラフィックは…