忍者ブログ

カレンダー

01 2025/02 03
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28

最新コメント

[07/13 ♀はっか]
[07/13 ♀はっか]
[07/11 ♀はっか]
[07/11 ♀はっか]
[03/16 空竜]

最新トラックバック

プロフィール

HN:
空竜
性別:
女性

バーコード

ブログ内検索

アクセス解析

忍者アナライズ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

壁だと思っていた場所に壁はなかったが・・・

昨日の続き。
フォントの作成について。
「この際ライブラリとして使えるようなプログラム書いてくれればいいよ」
なんて言われてしまったわけですが。

サンプルをいじってたら表示できてしまった。

ただ厄介なことに、うまく文字解析ができてなくて文字化け文字化け。
こりゃあなんとかせんと使いもんにならん・・・
ということで。

フォント表示というよりひたすら文字列解析。

これがもう厄介すぎる。
1バイト文字と2バイト文字の識別も大変なのに・・・
フォントデータには1バイト文字が含まれてない。
つまり。フォントデータを書き足すか、1バイト文字を対応する
2バイト文字(aならa、1なら1)に置き換えるか、である。
もともとあったフォントデータを使ってるから、書き足し方まではわからない。
かといって、対応させていっても表示できない文字が出てきたら無視するしかない。
無理矢理別の形式でフォントを用意する、といった方法もなくはないけど・・・
そのためだけに新しくファイルをロードしていいものか。
むむむ。
土日の間に悩みますか・・・

拍手

PR

といいつつ自滅だったりする



無理難題ふっかけられたああぁああああ!!!!


「すみません。フォントってどうやって作るんですか?」
「あ〜・・・ちょっと待ってね」
そう言い残し、自分のパソコンをあさり始める担当の方。
数分後。
「このソースのね・・・ここの部分なんだけどね・・・」
どうやら場限りで文字を表示するプログラムを書いた時期があったらしく、
そのソースを見せて頂いた。さすがその場限り。
文字と関係ない情報まで処理していらっしゃる。
「これを改造すれば表示はできるはずなんやけど・・・」

「この際ライブラリとして使えるようなプログラム書いてくれればいいよ」

「ファイル名をこうしておいてくれればみんな使えるし」

・・・ということは。
そう。
『今から自分で書くプログラムもその場限りのもの』ではなく、
『次に使えるように使いやすいプログラムで』である。
どういうことなのか。
つまり。
いろんな人に使われるプログラムである、ということだ。

他の人が読めるソースである、ということだ。

ただ何も考えずに『できた』ではいけない。
自分が何をしているのか理解していないと、説明文すら書き足せない。
おかしいなぁ。
通信相手の名前を表示したいだけなのに。
DSに保存できる自分の名前には漢字なんて入ってないのに。
こんなに文字使わないのに。
そんなに多くないから自分でフォントの画像作ろうと思ってたのに。
前に使っていたフォントのデータを使うわけですか・・・
こんな。
こんな。
あぁ。
通信だけでも大変なのに。
死ねる。
でもこれができるようになったら、かなりプログラマっぽい気がする。
どうせインターンなんだ。
成績がつくわけじゃない。お金をもらって働いてるわけじゃない。
本職の方からいろいろ学べるわけだし。
当たって砕け散ればいいよ。ホント。

拍手

お世話になってます。かなり。

今日は。
午前中に昨日作ったリストのデバッグ。
なぜか先頭のdeleteだけが上手くいかないのです。
どうやらポインタの先頭をリストをnewしたクラスが持ってる状態で、
ポインタ先をdeleteするから、クラスがポインタの先頭から参照しようとすると
『変なポインターをdeleteすんじゃねぇよ!!』と表示されてしまうのです。
いや、ガチでこういう表現で表示されます。
会社にこういうノリの方がいらっしゃるようで。
はじめてこれが表示されたとき「ぶううぅぅぅッ!!!」と
吹き出したしてしまったのはいうまでもなく(笑)
で、結局直らず。
いや、帰りに解決案思いついたんだけどね。
でもやってみないとわからんか・・・

今日はライブラリについてわからないことを片っ端から書き出して、
いつも教えて頂いている方に聞きまくってしまった。
なんか表示されるんですけど、これどうなってるんですか?
これってどういう意味ですか??
こういうことってできますか???
うんたらかんたら。
3時あたりから7時ぐらいまで質問大会。
お忙しい中申し訳ない・・・
でもまぁ大体のことは聞いたので、また自力研究に勤しむのであります。
不安要素たっぷり。がう。

拍手

順調ほど怖いものはない

昨日。
インターン先でお世話になっている方が。
「大量のスプライトを管理するなら配列よりリスト構造にした方が便利やで」
「リストわかる?ポインタで次のヤツ指してポインタで次のヤツ指して・・・」
と、おっしゃるので。
やってみました。

その言葉だけで。

どういう意味?
ようは、自力でリストを作ったわけです。
そりゃあ本来ならその言葉だけじゃわからんのだけども・・・
「次のヤツを指す・・・?リスト・・・?どっかでやったぞ・・・??」
脳裏をよぎる『NODE(ノード)』という単語。
次のヤツを指して、次のヤツでメソッド実行。
前のヤツを指して、前のヤツでメソッド実行。
条件に当てはまったら、そのノードを消したり呼び出し元に返したり。
そう。講義で近いことをやったことがあるわけで。
あのとき使った言語はJavaだったはず・・・
Cで果たしてできるのか!?
無謀にもやってみた。当たって砕けるつもりで。

えっと。
次に指してるヤツがいる間は、次のヤツのメソッドを実行して、
いなくなったらそれが先頭だから、新しく追加。
新しく作ったヤツは前のヤツを指すように設定しなければ。
条件によって処理を変えるときは・・・
条件に当てはまらなかったら、次のヤツのメソッドを実行するんだけど、
次のヤツすらいなかったら条件に当てはまるヤツがいないってことだから、
この時点で終了させていいわけで・・・
もし条件に当てはまったら、ソイツを返すなり、ソイツを消すなり・・・
消すときは前のヤツから見て次のヤツが消えるってことだから、
ちゃんと指してる先を設定し直して・・・

うんたらかんたらうんたらかんたら。

朝から奮闘し始めて、昼飯喰って・・・2時頃。
完成。
リストに追加、できます。
条件を満たしたスプライトを参照、できます。
リストから削除、できます。
おぉ。
妥協せざる負えなくなるか、丸一日かかるかと思いきや、できてしまった。
ちょっとウハる。
そのまま調子こいて画面の切り換えをしてみる。
Lボタンでこうして・・・Rボタンでこうして・・・
いや、これはさすがにできんだろ。無茶感たっぷり。
そう思いながらもコンパイル。

・・・あ。

一発目のコンパイルで通りやがった。
しかもちゃんとLRで画面切り替わりやがった。
ちょ、ありえん。
妙にスムーズに事が進んで、逆に心配になってしまった一日であった。

拍手

一応進歩しております

またまたインターンがやって参りました。
本日3日目。
大分ソースも読めるようになり、今日はノットコピペでメンバ増やしてみたり、
パブリックなメソッド作って違うところから呼び出してみたり。
DS独特の開発環境ってのもあるけど、本を読みつつC++を1から勉強してる
ようなもんだから、オレ的にはかなりの進歩かと思われる。
つっても、こんなところで時間を使うわけにはいかんのだけど。

本来ならもっとえげつないことになってると思うんだ。
何がどうって、分からないことばっかりだから聞きまくりたくなっちゃうわけよ。
でもね。向こうの方も暇人じゃないのよ。何でもかんでも聞いてちゃいかんのだよ。
自力で解決できることならば自力で解決せにゃ。
他人から聞く以上に時間もかかるけども、その分得るものも多いじゃろうて。

そう。例えば。
よく分からんメソッドが出て来たときに、これはなんぞ?と宣言元を辿って、
行き着いた先でどういう動きか確認する・・・だけのつもりが。
そのすぐ上に書いてあるメソッドがめっちゃ便利な機能を実装してたりとか。
これ結構切実。
なにせ、本来ならハードの機能やらなんやら把握して、相当頭をひねりながら
書くであろう部分を、そのメソッド呼び出すだけで解決できるんだから。
それはそれでハードの勉強にはなるけども、今はすでにそろってるプログラムの
機能をひたすら把握することを念頭におきませう。がう。

でもあんまり会社側が用意してるライブラリに依存してもダメな気もする。
だって、他の会社じゃ使えんし。
否。
『DSの開発環境オンリーで何が作れよう、いや作れまい』なかんじ。
ある程度余裕が出てきたらライブラリの中身でも読みますかね・・・
まず余裕ができるのか疑問だが。うむ。

拍手