ubuntu18.04にしてみて、日本語ちょっと引っかかったのでメモ
<pygameのインストール>
pygameは入っていないので追加
pip3も入っていないので追加(pythonのモジュール管理ツール)
端末から
$ sudo apt install python3-pip
$ pip3 install pygame
<pygameの日本語表示>
16.04で作成していたメッセージダ . . . 本文を読む
画像からシミュレーションのステージを作成してみました。
画像からドットの艦隊を作成してその艦隊同士が簡易AIで覇権を争うのを眺めるプログラムです。
クリックでステージが変わります。
一番面倒だったのは移動範囲にある敵の判定、多くて8000超の艦(ドット)の判断にループを回しているとかなり遅い。
enumerate関数を探してなんとかなりました。
メインルーチン
全ソース、サウンドファイル . . . 本文を読む
以前シューティングゲームを作ろうとした何かを改良してみました。
当時はまだPythonの配列の使い方もよくわかってなくnumpyを無理やり使っている感じのソースで表示して自機が動くだけ、
各ユニットをクラスで管理もしていないので作り直してみました。
最初はただ敵?を表示するだけ
次はランダムな位置からミサイルを動かす
当たり判定を付け加えて敵を消す
自機の移動も追加
ミサイルを自機から動かすよう . . . 本文を読む
箱をまとめて空間に並べてみる。
それと軽めのZバッファを付け加えてみる。
このあとどうしようかなと考えて迷路にしてみる。
なんとなく入ってみたくなって動けるようにしてみる。
当たり判定を加えてみるがどことなくめり込む。
そして伝説のポンコツ迷路が完成しました。
数日前、herokuやっていた時の記録のテキストをみつけ、なんとなくherokuをやり直そうと思う。
herokuのサイトから、な . . . 本文を読む
Zバッファなし
遠い昔、ブログがなかったころ、Javaで箱を使って関節っぽい演算をしてロボットっぽいものを歩かせたりしたこともあったのを思い出す。
ただどうやって実装していたのか?
油断していると自分の技術のスパイラルが小さくなって、自分の中にオーパーツが生まれつつある。
import pygame
import math
import copy
import random
pygame . . . 本文を読む
ポリゴンを少しまとめて宇宙戦闘機っぽいものを作って動かしてみました。
ソースはもう少しなんとかしたいところです。
import pygame
import math
import copy
import random
pygame.init()
window_size = (800, 600)
clock = pygame.time.Clock()
screen = pygame.displa . . . 本文を読む
ポリゴンの数を増やしてみました。
謎のグルグルができました。
import pygame
import math
import copy
pygame.init()
window_size = (640, 480)
clock = pygame.time.Clock()
screen = pygame.display.set_mode(window_size)
print (pygame.ve . . . 本文を読む
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import random
import math
pygame.init()
window_size = (640, 480)
clock = pygame.time.Clock()
screen = pygame.displa . . . 本文を読む
ubuntuの画面周りが壊れて修復できなくなったので再度インストール。一応その備忘録
ubuntu 16.04
python 2.7.12
インストールコマンド
$ sudo apt install python-pip
$ sudo pip install pygame
$ sudo pip install numpy
pygameを入れるときはsudoは不要かも、numpyはそのディ . . . 本文を読む
2時間ぐらいかけて作ってます。
まだキャラクターを色変えて表示ぐらいです。
ここから延々とキャラクターのAIと当たり判定などを作っていかないとシューティングにはなりません。
あと色を表示させる直前にピクセル単位で書き換えしているので遅いです。
今回つくるにあたってubuntuのテキストエディタで着手してしまって、tabとspaceの罠にはまって
IndentationError: expect . . . 本文を読む
以前作成した迷路を作成するプログラムを移植してみました。
移植は作成部分だけです。
作成過程を表示させるために画面表示を作成段階にしています。
かなり無駄な作成方法なのですが一瞬で作ってしまいます。
<参考>
フラッシュ迷路の作成
bg.png
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pygame
from pygame.local . . . 本文を読む
以前、Basicで作成したプログラムを移植してみました。
Ubuntu 16.04
Python 2.7
pygame 1.9.3
<参考>
プチコン3号講座 100匹目の金魚
bg.png
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import random . . . 本文を読む
横スクロールの背景を作ってみました。
ただ左右のカーソルキーで動くだけです。
temp = pygame.transform.smoothscale(temp, (640,480))
の部分であらかじめ作成済みのtempを拡大しています。
作成環境
Windows7
Python 2.7
Pygame 1.9.2a
(Python Pygameは32bit版)
素材
bgmt.png
. . . 本文を読む
前回ランダムマップだったので今回少しまともなマップにしてみます。
画像をドット解析してマップを作ってみました。
bg.png
kure.png
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
import random
import numpy as np
py . . . 本文を読む
400x400のマップを移動します。
ランダムマップなのでおもしろみはないです。
コーディングはキースキャンが少しはまりました。
Windows7
Python 2.7
pygame 1.9.2a
numpy 1.7.0
いずれも32ビット版を使っています。
bg.png
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pygam . . . 本文を読む