« Prev || 1 | 2 | 3 | 4 | 5 || Next »

財産としまじろう。

カテゴリー
php
投稿者
nonukes
コメント
書く

先週の金曜日に、体調不良で会社を休んでしまった。

前にも書いたが、“背水の陣”であるため、もうしばらくは休めない。 

なので、今日の日曜日に振替出勤をした。

普段の出勤時間は13時~20時なのだが、休講日の出勤は9時~18時といわゆる一般的なサラリーマンと同じくらいの時間帯だ。

とはいえ、普段よりも4時間も早い。

一般的なサラリーマンに置き換えると、大体5時くらいに出社するようなもんである。

(ここまで最近手に入れたスマホで書いていて、ここで断念。文字入力がしにくいのと、ブラウザがここまでで3回落ちた。以降、PCで書きます。)

少しテンションが下がりつつも、なにせ今日は休講日。

事務局には数人いたが、ボクの部屋には誰もいない。

これ即ち、サボり放題超集中して仕事が出来る。

»Read More

思うようになった。

カテゴリー
php
投稿者
nonukes
コメント
書く

思うようになったのである。

“ボウリングの紆余曲折”の“2投目の分析”が一応完成した。

見てくれはまだ悪く、表示の仕方に関してはこれから色々工夫する必要があるが、“やりたいこと”は実現できた。

“やりたいこと”優先で作業をしたためphpのコードはかなり冗長になってしまっている。もう少しすっきりとさせることができるように思うが、まあ今はいいとしよう。

今後は、jQweryのお力もお借りしながら、“見た目”をもう少しきれいに仕上げていくことにしよう。

今回このページを作成するにあたり、勉強になったことが一つ。

多次元配列を、(ほぼ)自在にソートできるarray_multisort()関数である。

php.net -array_multisort
http://php.net/manual/ja/function.array-multisort.php

»Read More

思うようにならん。

カテゴリー
php
投稿者
nonukes
コメント
書く

思うようにならんのだ。

“ボウリングの紆余曲折”である。

先日の手痛い敗戦を反省して、スコア分析画面を一段とレベルアップさせようと考えている。

今は“1投目の分析”しかできていないが、“2投目の分析”画面を作ろうというのだ。

しかし、だ。

思うようにならんのだ。

過去のボクのスコアにおいて、1投目に残ったピンのパターンを試しに計算したところ、全141パターン(ストライク除く)もありやがった。

これら全てのパターンそれぞれについて、2投目の残り方も全部計算させてパターンの画像表示をさせようとすると、とんでもない量のソースを吐き出してブラウザが処理しきれなくなりやがんの。

多分mySQLからデータを読み込んでphpで計算するところまではそんなに時間かかるわけではないと思われるので、恐らくブラウザの処理能力(というかPCのメモリ)を超えるソースが吐き出されているのであろう。

まあ、考えたら無理もなかろう。

141パターンのそれぞれの2投目のピンの残り方も全部計算させてみると、全部で375パターンもある。

1つのパターンに付き10個のピンの画像で表しているので、全パターン表示させようとすると単純に3750個の画像を表示させることになる。

んー、仕方ない。

別の方法を探ろう。

今日は、寝る

ceil()関数とfloor()関数

カテゴリー
php
投稿者
nonukes
コメント
書く

ボウリングの紆余曲折がまた少し進化。

久しぶりにpChartを使って、「トータルスコアを確認する」の画面で“アベレージの推移”を描画することができた。

基本的には「pChartを導入してみよう。」と同じだが、前回はcsvファイルからデータをインポートしていたのに対し、今回はmySQLのデータからphpで計算した値を配列に格納し、その配列を使ってグラフを描画した。

今回のポイントは簡単に2つ。

一つ目は、Y軸の目盛の設定。

$ave_max = max($day_ave);
$max = ceil($ave_max / 10) * 10;
$ave_min = min($day_ave);
$min = floor($ave_min / 10) * 10;
$divisions = ($max - $min) / 10;

$Test->setFixedScale($min,$max,$divisions);

日別アベレージの最大値と最小値を取得して、それぞれを1の位で切り上げ、切り下げしたものをy軸の目盛の上限・下限にしたいのだが、1の位で切り上げ(切り下げ)をする関数が存在しないため、一度10で割り、ceil()関数で小数点以下を切り上げ(floor()関数で切り下げ)したのち、再び10をかけて上限・下限を計算した。

二つ目は閾値(しきいち)の設定。トータルアベレージ+5点を目標値と設定し、phpで以下のように計算した。

$terget = round($average) + 5;
$Test->drawTreshold($terget,143,55,72,TRUE,TRUE);

書くことはこれくらいかな?

今回お勉強になったのは、ceil()関数とfloor()関数の使い方。

忘れないようにしよう。

寝ます。

phpの“null”と“0”の扱い(“型”の扱い)について

カテゴリー
php
投稿者
nonukes
コメント
書く

昨日、“ボウリングの紆余曲折 スコア分析画面が進化!”との記事を書いた。

かなりテンションが上がったけど、いやあ、素直にうれしかったね。

結果的には大したコードは書いていないのだけれど、そこはphpに関して“中途半端”なスキルしか身に付けていないボクのこと、色々と“紆余曲折”があり、丸一日かかってしまった。

一番苦労したのは、タイトルにもあるようにphpの“null”と“0”の扱い。

いや、そんなに難しくないのよ、実は。

ただ、ボクが“中途半端”なだけ。

»Read More

« Prev || 1 | 2 | 3 | 4 | 5 || Next »
track feed