2015年11月21日土曜日

【プログラミング】Pythonの勉強 その8 - ファイルを読み込んでリストとして使う -

プログラミング初心者の学習記録です。
今回はちょっと具体的な目的をもったプログラミングを書いてみたいと思います。
私が好きなゲームに関するものです。

Skyrimというゲームの中では、登場する人物(NPC)と結婚することができます。
結婚できる候補者が男女それぞれ約30人ずついるので、結婚相手を選ぶのもなかなか大変です。
それじゃあ、ちょっとプログラムで決めてみるのもいいかなと思った次第です。



結婚相手の候補者はたくさんいるので、プログラム本体に書くと長くなってしまうため、テキストファイルでリストを作って、そこから読み込むようにしたいと思います。
男の候補者のリストを「male_partner.txt」、女の候補者のリストを「female_partner.txt」として作ります。
中身はこんな感じです。

まず、raw_inputを使って、プレイヤーキャラクターの性別を入力することにします。
男なら「0」を、女なら「1」を入力します。
「0」か「1」以外を入力した場合に、エラーを表示するようにします。

プレイヤーキャラクターが男なら「male_partner.txt」を、女なら「female_partner.txt」を読み込んでリストにします。
Skyrimでは同性婚もできますが、今回は対象から外します。

リストの中からradomモジュールを使って、一人を選んで出力します。

「skyrim_marrige.py」という名前で以下のように書きました。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
# coding:shift-jis
import random

gender = raw_input('性別?: 男なら0, 女なら1を入力    ')

if gender == '0': #性別が男なら
    list = open('male_partner.txt','r')
    choice_list = list.readlines()
    list.close()
    result = random.choice(choice_list)
    print('おすすめの結婚相手は ' + result.strip() + ' です')

elif gender == '1': #性別が女なら
    list = open('male_partner.txt','r')
    choice_list = list.readlines()
    list.close()
    result = random.choice(choice_list)
    print('おすすめの結婚相手は ' + result.strip() + ' です')

else:
    print '入力エラーです!!!'
syntax2html

こんな感じに結果が表示されました。

Skyrimやその前作のOblivionで使われる「Wrye Bash」というツールがPythonでできており、それが私とPythonとの出会いでした。
まさかプログラミングを勉強することになるとは、その頃は全然考えていませんでした。
最初はPythonのことを「フィトン(Phyton)」と読んでいたというのは、ここだけの話です。

0 件のコメント:

コメントを投稿