新入社員、コードを書く
- 2016.04.28
- 新入社員研修
皆さんこんにちは。2016年度新入社員の田中です。
今回は4月18日から22日までのオセロ作成の経過を報告します。この週の目標はJavaScriptとJavaの使い方に慣れることでした。
新入社員、JavaScriptを知る
まずはじめに、ざっくりと私の開発の流れとしては、初めに1人用のオセロを完成させる。次にそのオセロに通信機能を持たせる。最後にその他の機能を実装していくという風に考えました。
まずは、1つの機能を細かい部品へ分解し、それをうまく組み合わせて徐々に完成に近づけていく、というやり方です。
今回のオセロ制作ではJavaScriptとJavaを使うのでまずはその勉強から始めました。 初めに触ったのがJavaScriptの方です。こちらから触った理由としては作ったものがブラウザ上ですぐに見え、分かりやすいためでした。
JavaScriptでまず始めたことは、「Hello World」をブラウザ上で表示させることです。一番初めにする事と言えばこれですよね。
それが書けたので次はオセロの機能を実際に書いてみながら覚えようと考えました。
初めに作ったのが、クリックするとオセロが置かれる処理です。 そのためにまず、HTMLとCSSでオセロの碁盤作りから始めました。これは試作なので、ネットで調べながらオセロっぽい碁盤を作りました。
この碁盤を表示させるだけでも結構な時間がかかりました。
そしてクリックすれば碁盤上にオセロが表示されるというコードを書こうと会社にある参考書などを見ながら試行錯誤すること半日。
しかし、
「うーん・・・さっぱり分からん!」
とまぁこの状態。
調べたり、先輩方にヒントを貰ったりしてようやくクリックすれば駒が置けるように。ただしこの時は置ける駒は一色のみ、しかも一つのマス目にクリックした回数分、何個でも駒が入ってしまうという残念な仕様でした。
「なんでや!」と私は怒りに震えました。
HTMLやCSSと対応させながら書くのでどこが間違っているのかを見つけ、またそれをどう直せばいいのかが分かりませんでした。そして今回も先輩社員の方々にヒントを貰いました。 なんとか白と黒をクリックごとに交互に置けるようになり、また、1つのマスには1つの駒しか入らないようになりました。 これが出来たとき、ブラウザ上では結構オセロっぽくなってきたのでクリックしては一人でニヤニヤしていました。
これは全てのマスにクリックで駒を入れた状態です。
新入社員、JavaScriptでつまづく
しかし、私は次の処理でつまづきました。それは同じ色の駒で挟めば間の駒の色が変わるというものです。
この処理は色々調べたり、ヒントを貰ったりしても、どのように書いていけばいいかが分からず一向に進みませんでした。
うーん。うーん。と悩み続けましたが、ただただ時間を浪費するだけでした。
新入社員、Javaを知る
この週の後半からはJavaを触り始めました。
実はこの週はJavaScriptだけを勉強する予定でした。しかし、JavaScriptで詰まってしまったことと、初めてプログラミングを勉強するならJavaから始めた方がいいよ、というアドバイスを先輩社員の方に頂いたので、この週の途中から方向転換をし、Javaの勉強を始めることにしました。
Javaではどんなことが出来るのか、また何から始めていいのかが分からなかったので、一通りJavaの本を読んだ後、先輩社員の方にJavaのクイズを2問出していただきました。
第1問目はサイコロを1万回振った場合に1~6の目が出た回数をそれぞれ数えるコードを作ること。 第2問目は二次元配列でオセロの碁盤を表現すること。
第1問目で配列について、繰り返し処理について、乱数について少し分かりました。第2問目では2次元配列や条件分岐などについて学ぶことが出来ました。
public class Saikoro1
{
public static void main (String[] args){
int saikoro[]; //宣言
saikoro =new int [6]; //メモリの確保
int n; //繰り返しの回数
for(n = 1; n<=10000; n++){ //繰り返し
int a;
a=(int)(Math.random()*6);//1から6の乱数を作成
saikoro[a]++;
}
int b;
for(b =0; b<=5; b++){
System.out.println(saikoro[b]+"回でした。");
}
}
}
これが実際に書いたサイコロのコードです。 コードが自分の思い通りに動いてくれた時は非常に嬉しかったです。エラーが出たときはまた「なんでや!」となりましたが・・・。
このコードを書くことにより、自分にはもっとコードをたくさん書いて、書き方に慣れていく必要があると実感できました。 そのため、この問題が終わった後はJavaの本にある問題をひたすら解いていきました。もちろん初めは分からないので、答えを見ながらですが、最終的には何も見ずに解けるようにしようと考えています。
新入社員、来週の課題
今週はJavaScriptとJavaを触りましたが、まだまだ分からないことだらけです。Javaに関しては来週も引き続き勉強を続けていく予定です。後はデータベースについて何が出来るのかなどを勉強しながら、少し触る予定にしています。 JavaScriptやJavaなどはとにかくコードをたくさん書いて、経験を積むことで書けるコードのパターンを増やしていくということがとても重要に感じました。 今後のオセロ制作で行き詰まらないためには様々な書き方のパターンを知り、それが使えるようにならなければいけないと思いました。
正直分からないこと、悩むことだらけで頭がパンクしそうになる毎日です。というか、パンクしています。けれども、この研修期間でしっかりとプログラミングの書き方を覚えておけば今後の仕事が楽になると信じているので頑張っていきます。