人工知能に関する断創録

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

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

エイリアンの反撃

エイリアンがビームを撃つようにします。invader05.zip ビームクラス エイリアンが発射するビームを実装します。まずShotクラスを全部コピーしてください。これで9割完成です(笑)プレイヤーが発射する弾とエイリアンが発射するビームはほとんど同じです。…

プレイヤーの攻撃

自機から発射したミサイルでエイリアンを倒せるようにします。そのためには、ミサイルとエイリアンが衝突したかを検出する必要があります。Pygameには衝突判定の簡単な方法がたくさんあります。ここではスプライトグループ同士の衝突判定を使います。invader…

惑星

恒星のまわりを回る惑星とその衛星です。太陽と地球と月をイメージしてますが縮尺はめちゃくちゃです。実際、太陽はもっとずっと大きいです。月を太陽ではなく地球を中心にして回すのに苦労しました・・・座標変換は慣れないと難しい。このプログラムはOpenG…

神々のトライフォース

某ゲームのあれです。三角形を3つ書いて回転させるだけです。何かなつかしい。triforce.py 神々のトライフォース #!/usr/bin/env python #coding:utf-8 from OpenGL.GL import * from OpenGL.GLU import * from OpenGL.GLUT import * import sys angle = 0.0…

回転キューブ

OpenGLに慣れるためにここまでの知識を使っていろいろ作ってみます。まずは、立方体の描画(2008/8/31)で作ったカラフルな立方体(カラーキューブ)を回転させてみます。スクリーンショットは何か歪んでますが立方体です。rotating_cube.py 回転キューブ #!…

平行移動・回転・拡大縮小

ティーポットのような3次元オブジェクトを平行移動、回転、拡大縮小する方法です。平行移動、回転、拡大縮小は3次元オブジェクトの頂点座標を変換することで実現できるのでモデリング変換とかアフィン変換と呼ばれます。数学的には頂点の座標にある行列をか…

ライフゲーム

人工知能というより人工生命の分野ですが最初はライフゲームを作ってみます。ライフは人生という意味もありますがライフゲームは人生ゲームとはまったく関係ありません。まず、フィールド(黒い部分)をマウスクリックすると、黄色い■が出てきます。もう一度…

エイリアン襲来

を実装します。invader03.zip エイリアンクラス エイリアンも自機、ミサイルと同様にスプライトなので作り方はほとんど同じです。 class Alien(pygame.sprite.Sprite): """エイリアン""" speed = 2 # 移動速度 animcycle = 18 # アニメーション速度 frame = …

ミサイルの発射

スペースキーを押すと自機からミサイルが発射できるようにします。invader02.zip ミサイルクラス まず発射されるミサイルを表すクラスShotを作成します。これもスプライトで実装します。 class Shot(pygame.sprite.Sprite): """プレイヤーが発射するミサイル…

ティーポット

立方体の描画(2008/8/31)では、四角形プリミティブを6枚使って自分で立方体を作ったわけですが、3次元オブジェクトを作るコマンドがあらかじめ用意されています。今回はそれを使って3次元オブジェクトを描画してみます。サンプルは有名なティーポットと呼…

フレーム問題に関する断想

ロボットにつけるクスリ―誤解だらけのコンピュータサイエンス作者: 星野力出版社/メーカー: アスキー発売日: 2000/01メディア: 単行本購入: 5人 クリック: 60回この商品を含むブログ (13件) を見る突然だけどこの本面白かった。フレーム問題、記号着地問題、…