# -*- encoding: utf-8 -*-

__author__ = "市村剛大"
__version__ = "0.0.1"
__date__ = "28 Jan 2023"

import random
import sys

pocket = []

# カメラ


class Camera:
    # シャッターを切る
    def release(self, vision):
        pass

# フィルム


class Film:
    def __init__(self, exp):
        self.flame = [None] * exp
        self.current = 0

    def burn(self, vision):
        self.flame[self.current] = vision

    def wind(self):
        if self.current >= len(self.flame):
            raise Exception()
        self.current += 1

    def rollUp(self):
        self.current = 0

# フィルムカメラ


class FilmCamera(Camera):
    def __init__(self):
        self.film = None

    # フィルムを入れる
    def load(self, film):
        self.film = film

    # シャッターを切る
    def release(self, vision):
        if (self.film):
            self.film.burn(vision)
            self.film.wind()

    # フィルムを巻きとる
    def rollUp(self):
        if (self.film):
            self.film.rollUp()

    # フィルムを出す
    def takeOut(self):
        film = self.film.copy()
        self.film = None
        return film

    def working(self):
        return random.random() > 0.01


def main():
    try:
        # ピカイチは、フィルムカメラ。Nikon L25Aの愛称である。根津のあんぱちやの隣の隣のボロ道具(名前は
        # 忘れた)の外のカゴで、コップや扇子などに埋もれていた。店のおばさんに値段を聞くと、五百円でいいよ
        # 、でも動かなくても返品不可だよ、と言った。買った。家に帰って電池を入れてみると、ちゃんとシャッタ
        # ーを切ることができた。今調べてみると状態の良いものは一万円くらいするようだから、とてもお買い得な
        # 代物だったのだろう。ニコンのカメラは不細工だ。悪い意味ではない。質実剛健という意味だ。戦時中、軍
        # 事用の測距器具などを作っていたメーカーだからかもしれない。(なお、正確には自分の持っていたのは、
        # L25Aにデートバック機能のついた、L25ADである。)
        pikaichi = FilmCamera()
        while (pikaichi.working()):
            # フィルム写真には殊に、撮影者とカメラの関係性が直接的に反映される。まずは撮ったフィルムを一
            # 本ずつ現像に出すべきだ。出来上がった写真を見ると、上手く撮れた写真と撮れていない写真がある。
            # そのうち、上手い方を見て、お前いい写真とるな、となる。カメラとの信頼関係が出来上がっていく。
            # 上手く撮れなかった写真を撮った時のことを思い出し、次に生かす。そのうち、今こいつで写真を撮っ
            # たらこうなるだろうな、と想像できるようになり、カメラは自分にとっての第三の目となる。
            pikaichi.load(Film(24))
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            # ピカイチは一眼レフではないため、大きなシャッター音は出ない。iPhoneの盗撮防止のシャッター音
            # のせいでみな忘れてしまっているが、普通のフィルムカメラはあんな大袈裟な音は出ないのだ。自動巻
            # 取りのピカイチはどちらかというとフィルムの巻取りの方がウィーンと大きな音が出る。ピカイチは古
            # いカメラだので、上手くフィルムが巻き取れない時があった。音の感じが2パターンあり、咳が出きら
            # ないような感じの時と、喉が詰まってしまったような感じの時がある。前者の場合は、コンコンと背中
            # を叩いてあげると残りのゼンマイが動き、次からちゃんと撮れるようになる。後者の場合はもうダメで
            # ある。ギアにフィルムが絡みついているので悪あがきせず、フィルムを取り出した方が良い。
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            # 露出計やオートフォーカス、シャッタースピードの調整機能が自由なカメラほど、撮影者の腕によって
            # 自由な写真を撮ることができる。逆に、そのあたりが自動化されてしまったカメラほど、決まった写真
            # しか撮れなくなる。しかし、それは悪いことではない。その分、目の前の一瞬に意識を向けることがで
            # きるのだ。ピカイチはそれまで一眼レフを中心に製造していたニコンが手がけた、初のオートフォーカ
            # スのプラカメラである。自分は一眼レフのカメラより、ストリートスナップ用のプラカメラなどの方が
            # 正直、性に合っている。
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            # ピカイチとの1番の思い出はアメリカ旅行だ。大学の卒業旅行でラスベガスからニューヨークまでの大
            # 陸横断をともにした。この時代にフィルムカメラは怪しまれ、途中の北京空港ではフィルムの裏蓋を開
            # けられた。持って行った10本のFUJI FILMのC200は、焼けてしまうのでX線を当てないでくれと拙い
            # 英語で言っても上手く伝わらず、検査機に通された。(まれに、現像後の写真に斑点ができてしまう場
            # 合があるらしいが、結果、問題はなかった。)旅行から帰ってきて、現像から帰ってきた写真を見て驚
            # いた。海外で撮った写真を見て初めて、ピカイチは「空気」が撮れるカメラであるということに気づい
            # た。グランドキャニオンの冷たく透き通った朝の空気、エルパソの土埃が舞いそうなざらついた空気、
            # 雨あがりのニューヨークの嫌味のない湿った空気。iPhoneのカメラやデジカメでは圧縮され消えてし
            # まう「空気」が映っていた。
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            # フィルムが少なくなってきた時の気持ち。デジタルカメラ化によって、一番失われた感情かもしれない。
            # 小学生のとき、祖母らと東京タワーに遊びに行き、写ルンですを買ってもらった時、僕は序盤から飛ば
            # しまくってしまい、早々に残りわずかになってしまった。両親にもう一つ欲しいと頼むがダメと言われ、
            # 大事に残りを取ろうとしたが、何を撮ればいいか分からず適当な写真を撮って終わった。その時のなん
            # とも言えない切なさ。コダックのフィルムをはじめて試して見る時、早く現像してみたくて、適当に海
            # などを撮る。そして裏蓋を開けるもフィルム巻取りが上手く行っておらず、フィルムが日に晒されオジ
            # ャンになる。あーあと思うが、なぜかカラッと諦めがついた。たかがレンズのついた箱と銀塩の巻物に
            # ここまで一喜一憂させられる人間。
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.release(random.random())
            pikaichi.rollUp()
            usedFilm = pikaichi.takeOut()
            pocket.append(usedFilm)
    except:
        pass
    # こんなに長生きするつもりじゃなかったのだろう。もともと、1985年生まれのピカイチに内臓されたデートバッ
    # クは2019/12/31までしか表示できないようにできていた。そして自分の死期を知っていたかのように、その1ヶ
    # 月くらい前にシャッターボタンを押しても、うんともすんとも言わなくなった。
    sys.exit()


main()