2EI-実験の最近のブログ記事

電子情報工学科の2年の後期実験では、 私の担当はゲームのプログラミング。 といっても、シューティングなどではなく、オセロ・五目並べ・ポーカーの 勝敗判定や役判定などを行うプログラムを通して、 プログラミングの大変さを味わってもらう。

プログラミングは、論理的思考能力のたわものではあるが、 ある程度は「プログラムを自分で作って間違った経験の差」が、 プログラム能力になると思う。そこで、タイミングやアニメ表示の プログラミングではなく、ゲーム盤の勝敗判定のプログラミングを通して 経験を深めてもらうのが目的。

簡単なゲームプログラムの作成

実験の配布資料を上記に示す。 実験では、2人が交互にオセロの手を打ち、ルール判定や勝敗を行うプログラムを作成するのが目標。

プログラミング技量に応じたプログラム作成をしてもらうために、 2週の最初にどの機能までを実装するのか、実装する機能目標の表をチェックし、 1週目さいご、2週目さいごに進捗を自分で確認する。 2週の最後には、隣の人と本当に動くのかチェックをしてもらう。

コンピュータ.vs.人間による対戦

実験ガイダンスは簡単にしておいて、プログラミングの興味を持ってもらうために、 チェスなどのコンピュータ対戦の雑談。

コンピュータは論理的思考の処理(左脳)が得意で、現状ではコンピュータの速度にはかなわない。 しかし、人間のイメージで捉える能力(右脳)ではまだまだ劣っている。 こういった領域でもコンピュータが活躍するための研究なども進められている。

プログラマーに見て欲しい映画

2EIの後期実験では、後半の私の担当実験では、「五目並べ・オセロ」のプログラム 作成というテーマを実施しています。 思考プログラムは大変だけど、標準入出力で2人が交互にコマを置く場所の x,y座標を入力する。そしてゲームの禁止手判定や勝敗判定をするプログラムを 作るというテーマ。 授業で、2次元配列や関数がちょうど終わったあたりなので、 配列表示や盤面周辺に壁の領域を作るというテクニックを、 雛形プログラムで見せるだけで、2週テーマの割にそれなりに完成させてくれます。

ただ今回、元々プログラミングが好きなK君は、自分の実験週のちょっと前あたりから、 先発で実験をやっている友達をみて面白そうということで、グラフィックス表示・マウス入力も含めて完成度の高いものを 実験前から作り始めたようです。

思考ルーチン組んじゃった

実験2週目ということで、課題に取り組んでもらっていたら、K君のプログラムの前で 他の人が「すげーすげー」の声。よく見ると、思考ルーチン組んでます。 完成度も高く、オセロで手を打てる場所をヒント表示してくれたり、 オセロも得意そうな学生さんも「負けそう」な雰囲気。

本人に、完成度を何気なく聞いてみる。
「何手読み?」→「難易度変えられるけど、これは7手です」
「終盤は完全読み?」→「終盤は打てる手少ないし倍の手数、だから14手です」
「コーナーの処理は?」→「配点高くしてます」
「枝切りは?」→α・βです」
「行数は?」→「3000行」

適当なサイトに転がっている物を、自己流で部分的に改造しただけなら、 こういった回答をスラスラできません。
思わず、「来年の高専プロコンの競技部門、声かけるからね...」
「レポートに3000行印刷は、頼むからやめてね。フローチャートだけにして...」

昨年度までは、H8を使ってライントレース模型を作ってもらっていたが、 車体やコースの取り合いになるし、様々な制御ネタも知って欲しいので、 今年は以下の3つのテーマの1つを選択する方式とした。

しかし、今年度は前期に簡単に H8 で入出力(LED点灯程度)を実験しているので、 理解が早い。先週の実験では、昨年度に配線ミスで壊れた H8 が大量に混入していて、 完成が心配だったけど、3週目にてライントレースや電子サイコロも動き出す。

簡単な実験にしないためにも、PWM によるモータ制御にチャレンジしてもらったり、 電子サイコロにも、圧電ブザーを渡し『効果音ならしてね...』と頑張ってもらう。 来週が楽しみ....

2015年12月

    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 29 30 31    

アーカイブ

Google

このアーカイブについて

このページには、過去に書かれたブログ記事のうち2EI-実験カテゴリに属しているものが含まれています。

次のカテゴリは3EI-実験です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。