CLab/2005-EX2
の編集
https://vilab.org/lecture/?CLab/2005-EX2
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
* 第6回 最終レポート [#f3963dc7] ** 課題 [#m0fbaf51] 以下にいくつか課題を用意したので、''1つ以上(最低限どれか1つでよい)''の課題について自分でプログラムを作成しなさい。ただし、他人(友達,本,ネット等)のプログラムの''コピーは禁止''である。コピーを発見した場合、このレポートは0点とする。 自宅でプログラミングをするには、たとえば下記のページを参考にしてください。 - [[CG]](Dev-C++の使い方) - [[フリーソフトでプログラミング]] なお、通常の毎週の課題も、できるところまでどんどん進めてよい。 *** 提出方法 [#y274fa2c] - 締め切り -- ''1月10日(火)正午''(1月17日はやりません) - レポートの内容(用紙は''A4'') -- タイトル、提出日 -- クラス、番号、氏名 -- ソースコード、プログラムの説明、実行中の様子(画面イメージ等) --- ソースコードが長い場合には、別に電子メールで送ってください。 --- 実行中の様子は、ちゃんと動いていることを証明するために大切です。 - 提出場所 -- 塩澤(330号室)前に置いたレポートボックス *** 1.ジャンケン [#a80aa78b] - ジャンケンの勝敗を判定するプログラムを作りなさい。 - それができたら、コンピュータ側は自動で動く対戦型ソフトウェアにしなさい。 - 普通のジャンケンができたら、拳の種類を3つ以上にした下記の“拡張版ジャンケン”も作ってみなさい。 -- http://d-ken.netgamers.jp/archives/2005/11/post_400.php -- http://blog.livedoor.jp/kotaro269/archives/50052538.html *** 2.○×ゲーム [#ca1ec459] - ○×ゲーム(井型のマスの中で縦横斜めどれか1列そろえるゲーム)を作りなさい。以下がプログラムの処理の流れの説明である。 > ''準備'' > 1. 2次元配列を用いて、3×3の盤面を定義し、全部のマスを空に初期化する。※ たとえば、整数配列int board[3][3]で定義する。 > ''入力'' > 2. 次の手が、先手の番か後手の番かを表示する。※ もちろんだが、先手と後手は交互にくる。 > 3. キーボードから、手(座標)を読み込む。※ たとえば、「1 2」とか「1b」とか… > 4. 盤面の配列にその手を保存する。※ たとえば、空なら「0」、○なら「1」、×なら「2」のように決めておく。 > 5. 盤面の状態を表示する。※ 2重ループを使う。 > ''判定'' > 6. タテ・ヨコ・ナナメに1列そろっているかどうか判定し、そろっていればその手番の勝利とする。 > 7. すべてのマスが○か×で埋め尽くされても勝負がつかなかったら、そこまでで終わりとする。 > ''反復'' > 8. 以上2.〜7.の手順を、先手と後手を交互にしながら繰り返す。 - うまく動くようになったら、○×ゲームをコンピュータとの対戦型にしなさい。さらに、コンピュータの強さを設定できるようにして、上級レベルではコンピュータが必勝の手を打ってくるようにしてみなさい。 *** 3.マインスイーパ [#q3ad8621] - 「マインスイーパ」(Windowsにも最初からついてくるゲーム)を作成しなさい。 - それができたら、爆弾の位置の分からないマインスイーパで、次にどこのマスを開ければよいかアドバイスしてくれる、マインスイーパ自動解法プログラムを作成してみなさい。作ったプログラムがちゃんと動くかどうか、Windowsのマインスイーパを解くときに使って試してみなさい。 *** 4.自由課題 [#l56f79c0] - 上記の問題以上の難易度のプログラムなら何でもよい。オリジナリティ重視。 以上
タイムスタンプを変更しない
* 第6回 最終レポート [#f3963dc7] ** 課題 [#m0fbaf51] 以下にいくつか課題を用意したので、''1つ以上(最低限どれか1つでよい)''の課題について自分でプログラムを作成しなさい。ただし、他人(友達,本,ネット等)のプログラムの''コピーは禁止''である。コピーを発見した場合、このレポートは0点とする。 自宅でプログラミングをするには、たとえば下記のページを参考にしてください。 - [[CG]](Dev-C++の使い方) - [[フリーソフトでプログラミング]] なお、通常の毎週の課題も、できるところまでどんどん進めてよい。 *** 提出方法 [#y274fa2c] - 締め切り -- ''1月10日(火)正午''(1月17日はやりません) - レポートの内容(用紙は''A4'') -- タイトル、提出日 -- クラス、番号、氏名 -- ソースコード、プログラムの説明、実行中の様子(画面イメージ等) --- ソースコードが長い場合には、別に電子メールで送ってください。 --- 実行中の様子は、ちゃんと動いていることを証明するために大切です。 - 提出場所 -- 塩澤(330号室)前に置いたレポートボックス *** 1.ジャンケン [#a80aa78b] - ジャンケンの勝敗を判定するプログラムを作りなさい。 - それができたら、コンピュータ側は自動で動く対戦型ソフトウェアにしなさい。 - 普通のジャンケンができたら、拳の種類を3つ以上にした下記の“拡張版ジャンケン”も作ってみなさい。 -- http://d-ken.netgamers.jp/archives/2005/11/post_400.php -- http://blog.livedoor.jp/kotaro269/archives/50052538.html *** 2.○×ゲーム [#ca1ec459] - ○×ゲーム(井型のマスの中で縦横斜めどれか1列そろえるゲーム)を作りなさい。以下がプログラムの処理の流れの説明である。 > ''準備'' > 1. 2次元配列を用いて、3×3の盤面を定義し、全部のマスを空に初期化する。※ たとえば、整数配列int board[3][3]で定義する。 > ''入力'' > 2. 次の手が、先手の番か後手の番かを表示する。※ もちろんだが、先手と後手は交互にくる。 > 3. キーボードから、手(座標)を読み込む。※ たとえば、「1 2」とか「1b」とか… > 4. 盤面の配列にその手を保存する。※ たとえば、空なら「0」、○なら「1」、×なら「2」のように決めておく。 > 5. 盤面の状態を表示する。※ 2重ループを使う。 > ''判定'' > 6. タテ・ヨコ・ナナメに1列そろっているかどうか判定し、そろっていればその手番の勝利とする。 > 7. すべてのマスが○か×で埋め尽くされても勝負がつかなかったら、そこまでで終わりとする。 > ''反復'' > 8. 以上2.〜7.の手順を、先手と後手を交互にしながら繰り返す。 - うまく動くようになったら、○×ゲームをコンピュータとの対戦型にしなさい。さらに、コンピュータの強さを設定できるようにして、上級レベルではコンピュータが必勝の手を打ってくるようにしてみなさい。 *** 3.マインスイーパ [#q3ad8621] - 「マインスイーパ」(Windowsにも最初からついてくるゲーム)を作成しなさい。 - それができたら、爆弾の位置の分からないマインスイーパで、次にどこのマスを開ければよいかアドバイスしてくれる、マインスイーパ自動解法プログラムを作成してみなさい。作ったプログラムがちゃんと動くかどうか、Windowsのマインスイーパを解くときに使って試してみなさい。 *** 4.自由課題 [#l56f79c0] - 上記の問題以上の難易度のプログラムなら何でもよい。オリジナリティ重視。 以上
テキスト整形のルールを表示する