matumatuのなでしこ学習帳

2008-01-06本日は、なでしこ本 P.38~40の学習です

学習レベルを判定した結果 LV = 2: HP = 28 : MP = 200

01:31

  • 完了予想日数 = 559 → 523 改善
    • 完了予想年月日 = 2009/07/17 → 06/13 改善
      • はてなカウンター値 = 5191
        • 学習開始日から本日までの日数 =53日

第1章 基礎編 STEP-6

01:31

「プログラムは保存して使おう!」を学習した。


下記のプログラム「 文字数チェック.nako 」は、

01:31

なでしこ本CDROM → sample → 01-06

に入っているプログラムです。

下記のデーター「 テストデーター1.txt 」は、

matumatuが、なでしこ本の結果と一致するように

作成しました。

プログラム部分

ファイル選択
それを開いて文字数を表示。

データー部分

12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
12345678901234567890123456789012345678901234567890
123456789

        正常に、テストデーター.txtの文字数を数え、

         なでしこ本のとおり、「 321 」と表示した。

         なでしこ本のとおり、「 文字数チェック.nako 」

         を、デスクトップ上に置いて実行しても、正常に動作した。

         のテストデーター1は、半角数字309文字ですが、

         表示は、「 321 」となります。

         この、16文字は、改行が6カ所あり、

         1改行を2文字とカウントしています。

         掲示板の入力文字数の注意事項で、

         「 1改行は2文字とカウントします」

         と言う表現を、以前見たことがあるので、

         納得しました。


下記のプログラム「 文字数チェックA.nako 」は、

01:31

画面表示部分を改造した、改造版です。

下記のデーター「 テストデーター2.txt 」は、

matumatuが、なでしこ本の結果と一致するように

作成しました。

プログラム部分

# 画面表示部分を改造した。

ファイル選択
それを開いて「文字数は、{文字数}文字です。

全角文字でも1文字とカウントします。
ただし、改行は2文字と数えています。」を表示。

データー部分

一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一二三四五六七八九〇一二三四五六七八九〇一二三四五六七八九〇
一

        正常に、テストデーターA.txtの文字数を数え、

         なでしこ本のとおり、「 321 」と表示した。

         なでしこ本のとおり、「 文字数チェックA.nako 」

         を、デスクトップ上に置いて実行しても、正常に動作した。

         のテストデーター2は、全角数字301文字ですが、

         表示は、「 321 」となります。

         この、20文字は、改行が10カ所あり、

         1改行を2文字とカウントしています。

         全角・半角ともに、正常に文字数がカウントされることが分かった。


本日2ページ目の学習として、

02:35

なでしこ本 P.40のプログラムに進みました。

ようやく、なでしこ本 第2章に入り、学習レベルが LV = 2 になりました。


下記のプログラム「 洗濯.nako 」、「 運動会.nako 」は、

02:35

なでしこ本CDROM → sample → 02-01

に入っているプログラムです。


天気は「晴れ」
もし、天気が「晴れ」ならば「洗濯物を干す」と言う。

天気は「雨」
もし、天気が「晴れ」ならば
  「運動会を開催します!」と言う。
違えば
  「運動会中止で通常授業です」と言う。

  • 動作結果 : 「洗濯」さすが、サンプルプログラムなので、

        正常に、なでしこ本のとおり、「 洗濯物を干す 」と表示した。

         

  • 動作結果 : 「運動会」さすが、サンプルプログラムなので、

        正常に、なでしこ本のとおり、

        「 運動会中止で通常授業です 」と表示した。

         

次に、下記のプログラム「 洗濯A.nako 」は、

02:35

前提条件を「晴れ」から、「雨」に改造した

プログラムです。

「 運動会A.nako 」は、

前提条件を「雨」から、「晴れ」に改造した

プログラムです。


# 前提条件を「晴れ」から、「雨」に改造した。

天気は「雨」
もし、天気が「雨」ならば「雨の日の洗濯物は、室内に干す」と言う。

# 前提条件を「雨」から、「晴れ」に改造した。

天気は「晴れ」
もし、天気が「晴れ」ならば
  「運動会を開催します!」と言う。
違えば
  「運動会中止で通常授業です」と言う。

  • 動作結果 : 「洗濯A」

         最初に、前提条件だけ改造したところ、何も表示されなかった。 (^^;)

         しかたなく、条件式も改造したところ正常に、

        「 雨の日の洗濯物は、室内に干す 」と表示した。


  • 動作結果 : 「運動会A」

        正常に、「 運動会を開催します! 」と表示した。

         

なでしこ本学習レベル判定プログラム(その6)です

02:35

下記のプログラム「 なでしこ本学習レベル判定6.nako 」

は、私の「なでしこ本」学習レベルを表示するプログラムです。

本日の改良点

02:35

  1. 学習レベルがLV2になったので、LV2用のパラメーターを試行錯誤して、仮決定した。
  2. 日記作成支援機能として、日記原稿の一部を自動作成し、テキストファイルで出力するようにした。

#------------------------------------------------------------------------------
# なでしこ本学習レベル判定6      Ver 0.6
#
# 学習状況(なでしこ本を学習したページ数)の入力をします
# LVは、第2章(P.62まで)を学習中なので、LV=2です。
# HPは、LV=1の場合、初期値=50+カウンター値÷40で、学習開始日の
#      2007年11月14日から、1日当たり2減少し、
#          HP=0で学習不能状態と判定されます。
#     LV=2の場合、初期値=100+カウンター値÷60で、学習開始日の
#      2007年11月14日から、1日当たり3減少し、
#          HP=0で学習不能状態と判定されます。
#  MPは、LV=1の場合、初期値100で、1回魔法を使うと
#      50減少する代わりに、HPが50回復します。
#      LV=2の場合、初期値200で、1回魔法を使うと
#      100減少する代わりに、HPが100回復します。
#  LV1~2のパラメーターは上記ですが、ゲームバランスによって
#  は、途中で自分の都合に合わせて突然変更します。
#  学習完了まで後、何日か表示します。 完了予想年月日も、表示します。
#  学習日数の表示機能と、日記作成支援機能を追加しました。 
#------------------------------------------------------------------------------

# 現在、学習中の、なでしこ本ページ数
「現在、学習中の、なでしこ本ページ数は?」と尋ねる。
P=それ

# 現在の、はてな学習帳のカウンター数
「現在の、はてな学習帳のカウンター値は?」と尋ねる。
C=それ

# LVの判定
もし、P<=38 ならば、LV = 1     # 第1章はP.38でクリアーする
違えば
   もし、P<=62 ならば、LV = 2    # 第2章はP.62でクリアーする
      違えば、LV = 3
「LV = {LV}」と、表示。

# 学習開始日(2007年11月14日)から、今日までの日数計算
D=「2007/11/14」と今日の日数差

# HPの判定
もし、LV = 1 ならば、HP=50 + ROUND(C/40 - 2*D)
違えば
   LV ≧ 2 ならば、HP=100 + ROUND(C/60 - 3*D)

もし、HP>0 ならば、「HP = {HP}」と、表示。
違えば
   「HP={HP}なので、学習不能状態です!! 3秒後に魔法を使います」と、表示。
    3秒待つ。
        M=1
    もし、LV = 1 ならば、HP=50 + ROUND(C/40 - 2*D)+50*M。 「魔法使用後のHP = {HP}」と、表示。
    違えば
       LV ≧ 2 ならば、HP=100 + ROUND(C/60 - 3*D)+100*M。 「魔法使用後のHP = {HP}」と、表示。

# MPの判定
もし、LV = 1 ならば、MP=100-50*M
違えば
   LV ≧ 2 ならば、MP=200-100*M
もし、MP>0 ならば、「MP = {MP}」と、表示。
違えば
   「MP = {MP}なので、学習スピードを早くしてください」と、表示。

# 学習完了まで後、何日か表示
DC1=ROUND((435-P)/P*D)
「学習完了までの日数 = {DC1}日」と、表示。

今日に「+0/0/{DC1}」を日付加算。
DC2=それ
「学習完了予想年月日 = {DC2}」と、表示。

# はてなカウンター値を表示
「はてなカウンター値 = {C}」と、表示。

# 学習開始日から今日までの日数を表示
「学習開始日から今日までの日数 ={D}日」と、表示。

# 日記作成支援用テキストファイル作成
「*学習レベルを判定した結果 LV = {LV}: HP = {HP} : MP = {MP}
-完了予想日数 = {DC1}
--完了予想年月日 = {DC2}
---はてなカウンター値 = {C}
----学習開始日から本日までの日数 ={D}日」を「日記作成支援.txt」に保存。

明日の予定

02:35

なでしこ本 P.41のプログラムと、

メルマガ原稿作成に進む予定です。