[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 12/27 13:24 / Filesize : 200 KB / Number-of Response : 922
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ニートです1からプログラミングを教えてくれる



1 名前:たかし [2015/12/25(金) 18:43:55.48 .net]
先生を募集します

先生!!

383 名前:takasi mailto:sage [2016/01/09(土) 19:17:11.94 .net]
おはようございます
今からやります

384 名前:takasi mailto:sage [2016/01/09(土) 19:22:06.94 .net]
mergeしました自分がなにやってるかわからないんですけど大丈夫ですかね

385 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:26:22.74 .net]
Gitとは分散型のバージョン管理システムだ。
GitHubはGitリモートレポジトリを管理するウェブサービスだ。
レポジトリとはソフトウェアの格納庫のようなものであり、
主にパッケージやライブラリのソースを保管する。

386 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:30:09.79 .net]
今度は、ローカルレポジトリにpullしてみなさい。
pushは押す、pullはその反対の引き出す。
タンスの引き出しを連想するといい。

387 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:36:38.32 .net]
すまない、初心者はpullを使わなくてもいい。代わりにcloneしてみてくれ。
適当なフォルダで
git clone https://github.com/...(以下略)
を実行してみてくれ。

388 名前:takasi mailto:sage [2016/01/09(土) 19:43:05.59 .net]
できました フォルダにファイルがDLされました

389 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:45:52.12 .net]
そのローカルリポジトリでもバージョン管理されているのを
確認するために「git log」を実行してみてくれ。

390 名前:takasi mailto:sage [2016/01/09(土) 19:49:08.98 .net]
プログラムの変更履歴みたいなのが出てきました

391 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:50:33.80 .net]
viというエディタが起動する。矢印キーやPgDnキーでスクロールできる。
viの終了にはqを押す。



392 名前:takasi mailto:sage [2016/01/09(土) 19:52:06.90 .net]
ログは出てきましたけどエディタは起動していません

393 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 19:55:19.53 .net]
そこに出てきたのはコミットした記録だ。
git commit -m "(メッセージ)"
で指定したメッセージがタイトルになる。
複雑な文字列はハッシュだ。これがコミットのIDである。
コミットとは確定とか確約などの意味があるが、日本語には適当な訳語はない。
Gitはすべてのコミットを記録する。

394 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 20:00:37.58 .net]
ログが短いときはviは起動せずコンソールに出力されるだけだ。

395 名前:takasi mailto:sage [2016/01/09(土) 20:00:54.25 .net]
なるほどなんとなくわかってきました
さっきのpullはgitでプロジェクトフォルダ上でpullしろって事だったんですね
そうすれば新しいバージョンにプログラムが更新されると

396 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 20:04:45.33 .net]
課題。編集メニューを追加し、「切り取り」「コピー」「貼り付け」
「削除」「すべて選択」ができるようにしなさい。
さらに変更ファイルをgit statusで確認、git addしてコミットしなさい。

397 名前:takasi mailto:sage [2016/01/09(土) 20:08:16.36 .net]
始めます

398 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 20:35:44.62 .net]
わかったかな?
textBox.Cut();
textBox.Copy();
textBox.Paste();
textBox.SelectedText = "";
textBox.SelectAll();

399 名前:takasi mailto:sage [2016/01/09(土) 20:40:17.93 .net]
今からコミットします

400 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 20:44:56.76 .net]
引き出しを押してリモートに保管しなさい。
おまじないは「git push origin master」だ。

401 名前:takasi mailto:sage [2016/01/09(土) 21:00:59.38 .net]
同じレポジトリ?にコミットする場合は以前コミットしたフォルダでコミットしなければなりませんか?
先ほどクローンしたプログラムのフォルダの名前が以前のと違っていたので
クローンのプログラムに手を加えてaddしてコミットしたんですが、いくつかのファイルが無いってエラーがでました



402 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:01:56.05 .net]
Gitのその他、役に立つコマンドを紹介する。
「git diff」でコミット後の変更点を見る。
「git diff (ファイル名)」でコミット後のファイルの変更点を見る。
「git checkout (ファイル名)」でファイルをコミット直後の状態に戻す。

403 名前:takasi mailto:sage [2016/01/09(土) 21:02:58.49 .net]
最初にレポジトリを作成した時のフォルダはTextEditer301で今回はCSharpTextをコミットしようとしました

404 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:05:15.21 .net]
>>401
「git status」の結果を見せて

405 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:07:20.01 .net]
「git mv (旧ファイル名) (新ファイル名)」は名前の変更。
「git rm (ファイル名)」はファイルの削除。

406 名前:takasi mailto:sage [2016/01/09(土) 21:08:39.84 .net]
status https://i.gyazo.com/520e8e745c82c9104dbcafa3709bb699.png

407 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:11:13.30 .net]
>>406
エラーメッセージは?

408 名前:takasi mailto:sage [2016/01/09(土) 21:15:09.60 .net]
error: pathspec 'second commit' did not match any file(s) known to git.
です

409 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:18:14.74 .net]
git commit -m "4th commit"

410 名前:takasi mailto:sage [2016/01/09(土) 21:20:01.25 .net]
できました!!
-m が無かったのが原因です失礼しました

411 名前:takasi mailto:sage [2016/01/09(土) 21:22:31.79 .net]
GitHubに無事反映されました



412 名前:takasi mailto:sage [2016/01/09(土) 21:25:21.78 .net]
赤は変更前で緑が変更後だと思うんですが、いじってないところもハイライトされてるので見辛いですね
こういう仕様なんですかね

413 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:26:20.15 .net]
ローカルリポジトリの記録は「.git」という隠しフォルダに記録される。
コミット内容を消したい場合は.gitを削除すればいい。

414 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:28:01.78 .net]
>>412
無視したいファイルは.gitignoreに相対パスで指定する。

415 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:31:38.11 .net]
ソースファイル(*.cs)はコンパイルされてオブジェクトファイル(*.obj)が出力される。
オブジェクトファイルとライブラリを組み合わせて.exeファイルにする処理をリンクという。
一連のコンパイルとリンクのことをビルドという。

416 名前:takasi mailto:sage [2016/01/09(土) 21:34:56.60 .net]
ファイルというか中身のコードですねhttps://i.gyazo.com/1688c0e20b691be3f118b3e6129e56a3.png
Form1.csは138行以降から新規にコードが記述されましたが1-27は何も変更していないのにハイライトされてるので
どこが違うんだ〜と探しちゃいますね

417 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:36:26.85 .net]
>>416
おそらく改行コードの違いだろう。

418 名前:takasi mailto:sage [2016/01/09(土) 21:39:41.14 .net]
ああそういえば先生のプログラムに手を加えるときに書式がなんたらかんたら言われて適当に押した覚えがあります
それですね

419 名前:takasi mailto:sage [2016/01/09(土) 21:41:58.25 .net]
ここまで把握しました

420 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:42:39.60 .net]
qiita.com/yokoh9/items/1ec8099696ade0c1f36e

421 名前:takasi mailto:sage [2016/01/09(土) 21:51:05.60 .net]
そこを見てgit config --global core.autoCRLF falseをしました
statusで確認したらcore.autocrlfが2つあって3行目のcore.autocrlfはtrueで
最後の行のcore.autocrlfはfalseでちゃんと設定できたかよく分かりませんね



422 名前:takasi mailto:sage [2016/01/09(土) 21:54:28.50 .net]
いじってみたら最後の行だけ変わるみたいですね、この問題は自分で調べておきます

423 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 21:57:42.32 .net]
まだ時間あるな。
「編集」→「元に戻す」(undo)と「ヘルプ」→「バージョン情報」を実装せよ。

424 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 22:01:57.56 .net]
終わったら試しに「git diff」してみて。
それからadd, commit, pushだ。

425 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 22:22:38.35 .net]
「バージョン情報」というフォームを作って
バージョン情報をそこに記載する。
それをモーダルダイアログとして表示する。

426 名前:takasi mailto:sage [2016/01/09(土) 22:30:09.24 .net]
git diffしました
文字が出続けてるんですが終わるまで待てばいいですか?

427 名前:takasi mailto:sage [2016/01/09(土) 22:33:04.48 .net]
なかなか終わらないんでエンター押しっぱなしにしたらENDになったんですが
閉じようと思ったらまだプロセスが動いてると警告出ました
時間かかりますかね?

428 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 22:33:46.52 .net]
>>426
矢印キーやPageUp/PageDownキーを押してみて。
終わるにはqを。

429 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 22:38:48.96 .net]
お困りですか?

430 名前:takasi mailto:sage [2016/01/09(土) 22:39:35.70 .net]
5thコミット完了しましたhttps://github.com/takasi-desu/CSharpTest

431 名前:takasi mailto:sage [2016/01/09(土) 22:41:19.72 .net]
core.autoCRLF falseちゃんと機能してました



432 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/09(土) 22:45:02.86 .net]
おやすみなさい

433 名前:takasi mailto:sage [2016/01/09(土) 22:45:50.93 .net]
本日もありがとうございましたおやすみなさい

434 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/10(日) 03:43:22.75 .net]
【今後の予定】
プルリクの方法
GUIデザイン
マルチメディア
データベース
ネットワーク

435 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/10(日) 20:44:55.02 .net]
勇者はおらんのか?

436 名前:takasi mailto:sage [2016/01/10(日) 22:45:42.75 .net]
申し訳ありません!!!!!!!!!
なかなか寝付けず今起きました
明日頑張ります
おやすみなさい・・・

437 名前:仕様書無しさん mailto:sage [2016/01/11(月) 00:00:52.53 .net]
片山さん共同プロジェクトの授業の予定があったら呼んでください馳せ参じますからね

438 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 00:06:29.40 .net]
はい、無断欠勤ひとーつ。減給ね。

439 名前:takasi mailto:sage [2016/01/11(月) 06:44:44.66 .net]
(T_T)

寝れません
本での学習は進んでいます 猫でもわかるC# 142/404p
授業には間に合いたいです
おやすみなさい

440 名前:仕様書無しさん mailto:sage [2016/01/11(月) 13:45:50.57 .net]
>>439
猫はわかりやすい?

441 名前:仕様書無しさん [2016/01/11(月) 15:33:10.17 .net]
C#やるなら、LINQPadがチョー便利
フリー版でも十分使えるぞ
これ豆な



442 名前:takasi mailto:sage [2016/01/11(月) 19:17:14.85 .net]
おはようございます

443 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:22:20.87 .net]
https://github.com/katahiromz/JankenGUI
これをForkしたものをローカルにcloneしてみたまえ。
Forkとは、方向性の違う分家を作り、自分好みに変えるために、
自分のリポジトリとして複製することだ。

444 名前:takasi mailto:sage [2016/01/11(月) 19:24:50.91 .net]
>>440
分かりやすいですけど完全な初学者向けではないかもしれません
2進数やビットが何も解説無く出てくるので
別に知らなくても読み進められますけど、猫でも分かるはいいすぎかもしれませんにゃ

LINQはまだ学習していませんがそこまで行ったら使ってみますね

445 名前:takasi mailto:sage [2016/01/11(月) 19:26:06.27 .net]
先生おはようございます
寝起きなので少々お待ち下さい

446 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:27:00.43 .net]
JankenGUI.slnを開き、デザインフォームで二つのPictureBoxのWidth,Heightを60にしなさい。
ドラッグやShiftキーでフォーム上のコントロールを複数選択し、VSの
「書式」メニューを使ってコントロールの位置を調整しなさい。

447 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:32:14.41 .net]
同じフォルダにある音声ファイル(*.wav)や画像ファイル(*.png)を確認。
ソリューションエクスプローラの「Properties」をダブルクリック。
リソースを選択。「リソースの追加」の右三角をクリック、
「既存のファイルの追加」を選ぶ。ファイルの種類を「ビットマップ」にし、
Shiftを押しながらpngファイルをすべて選択して開く。
オーディオのwavファイルも同様。

448 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:35:33.57 .net]
ここで「リソース」というのは、EXEファイルにデータを埋め込む機構のことだ。
データが埋め込まれていないデータファイルなら、容易に第三者に盗用されてしまう。
リソースはある程度これを防ぐ。

449 名前:takasi mailto:sage [2016/01/11(月) 19:36:51.66 .net]
今から始めます
スタート

450 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:40:31.55 .net]
button1をダブルクリック、次のコードを追加。
「pictureBox1.Image = Properties.Resources.gu;
var player = new System.Media.SoundPlayer(Properties.Resources.gu1);
player.PlaySync();」
できたら、デバッグ実行して、button1をクリックしてみよ。

451 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:45:49.55 .net]
コントロールはFontプロパティで文字を大きくしている。
また、ボタンを大きくした文字列に合わせるためにAutoSizeをTrueにした。



452 名前:takasi mailto:sage [2016/01/11(月) 19:48:37.97 .net]
デザインフォームはどうやって表示させるのでしょうか?
slnファイルを開きエクスプローラからファイル一つ一つクリックしたのですが
コードが表示されるだけです

453 名前:takasi mailto:sage [2016/01/11(月) 19:49:16.22 .net]
右クリックからビューデザイナで表示できました失礼しました

454 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 19:50:06.53 .net]
課題。ジャンケンゲームを完成させなさい。
ボタンとフォームの背景色を変更しなさい。
フォームはサイズ変更できないようにしなさい。

455 名前:takasi mailto:sage [2016/01/11(月) 20:03:30.19 .net]
課題始めます

456 名前:仕様書無しさん mailto:sage [2016/01/11(月) 20:05:49.76 .net]
>>444
あ、勘違いしてる
LINQPadはLINQ専用のツールじゃないよ

ちょっと試したいC#コードの断片がある時に、
わざわざVisual StudioでSolutionやProjectとか作らずに
気楽に試すことができるツール

457 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 20:06:34.60 .net]
フォームが読み込まれたときの処理はLoadイベントで行う。
表示されたときの処理はShownイベントで行う。
イベントはプロパティウィンドウのカミナリをクリックすれば見られる。

458 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 20:13:34.58 .net]
画像がPictureBoxからはみ出る場合は
SizeModeプロパティをいじるとよかろう。
ちなみに、画像はGoogle画像検索で「ジャンケン フリー素材」を検索して拾った。
音声は自分で録音したものだ。

459 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 20:17:14.83 .net]
自分で画像を用意したい場合はGIMPやInkscapeといったフリーソフトで
作成・編集したり、カメラやスキャナで取り込んだりするとよい。

460 名前:takasi mailto:sage [2016/01/11(月) 20:23:30.63 .net]
>>456
課題終わったら使ってみます!

思ったより頭が働いてないので少し時間かかります

461 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 20:29:58.66 .net]
リソースデータは名前で参照する。名前が重要だ。
どのリソースを使うかは、名前で決めないといけない。



462 名前:仕様書無しさん mailto:sage [2016/01/11(月) 20:36:45.79 .net]
>>460
気が向いたらでおkっす

463 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 21:01:55.05 .net]
ヒント:ボタンのクリック処理を関数で共通化

464 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 21:06:36.41 .net]
ヒント:勝ち負け判定関数

465 名前:takasi mailto:sage [2016/01/11(月) 21:11:19.73 .net]
最序盤でつまづいています
スタートボタンを押して開始→手をクリック→手を受け取り条件分岐
こういう流れで行きたいのですが
えーまず、メインのジャンケンの処理をどこに記述すればよいのかで混乱しています

466 名前:takasi mailto:sage [2016/01/11(月) 21:17:10.61 .net]
頭のなかではこんな感じなのですがhttps://i.gyazo.com/18d3d208948dbd5047961437a72d9359.png
実装の仕方がわからず・・・
さっさと質問しとけばよかったですすみません

467 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 21:20:18.45 .net]
... button1_click(...) {
show_hand(1);
}
... button2_click(...) {
show_hand(2);
}
... button3_click(...) {
show_hand(3);
}
void show_hand(int player_hand) {
int comp_hand = get_comp_hand();
...手を表示する処理をここに書く...
switch(hantei(player_hand, comp_hand)) {
...勝ち負けを表示...
}
}

468 名前:takasi mailto:sage [2016/01/11(月) 21:24:17.30 .net]
ありがとうございます
分からなかったらまた聞きます
行ってきます

469 名前:takasi mailto:sage [2016/01/11(月) 22:30:37.72 .net]
今日中に終わらなそうです

470 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 22:32:51.24 .net]
残りは明日にするか。
どこまでできた?

471 名前:takasi mailto:sage [2016/01/11(月) 22:42:42.02 .net]
判定して結果を表示させる所まで来ました
あとはあいこのループ処理と画像の表示と音声のタイミングが合ってないのでそれを直すことです



472 名前:takasi mailto:sage [2016/01/11(月) 22:46:06.33 .net]
・スタートおした時のジャンケンポンの効果音
・判定後のスタートをリセット
・画像のサイズをあわせる
まだまだありました

473 名前:takasi mailto:sage [2016/01/11(月) 22:46:37.45 .net]
明日の授業までに終わらせておきます

474 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 22:48:43.00 .net]
PlaySyncを使うとそこで処理が動かなくなる。
画像を変えるなら再生の前にするとよい。
一方、Playは非同期で動く。
非同期再生処理のタイミングを調整したいなら、スレッドを使うことになる。

475 名前:takasi mailto:sage [2016/01/11(月) 22:51:07.18 .net]
分かりました
頭をすっきりさせるためにお風呂に入ってきます

476 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/11(月) 22:51:07.43 .net]
今日もよくがんばった。おやすみ。

477 名前:takasi mailto:sage [2016/01/11(月) 22:51:32.48 .net]
本日もありがとうございました!!おやすみなさい

478 名前:takasi mailto:sage [2016/01/12(火) 00:56:08.92 .net]
>>454
なんとか完成しました

今までは一つのメソッドに処理書いていたので楽でしたが
今回はメソッド同士の値の受け渡し?などがよく分かってなくて難しかったです
数こなしてなれるしか無いですね

479 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/12(火) 11:11:05.72 .net]
>>478
add, commit, pushしてから、Githubでプルリクしなさい。

480 名前:takasi mailto:sage [2016/01/12(火) 16:48:13.54 .net]
おはようございます
プルリクエストしてみました。ちゃんとできていますでしょうか
体調不良のため途中で離脱するかもしれません

481 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/12(火) 17:14:09.31 .net]
今日の勉強会は休みにします。



482 名前:takasi mailto:sage [2016/01/12(火) 17:20:28.56 .net]
分かりました、自習します

483 名前:仕様書無しさん mailto:sage [2016/01/12(火) 18:49:16.21 .net]
先生、たかし君のペースでいいので是非データベースとの連携もご教示ください!

484 名前:takasi mailto:sage [2016/01/13(水) 13:50:41.92 .net]
病院行こうと思ったら午前で終わってました
おはようございます

485 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 19:10:53.68 .net]
ジャンケンゲームの続きだ。
https://github.com/katahiromz/JankenGUI
これを適当なフォルダにcloneしてソースを眺めてみよ。

486 名前:takasi mailto:sage [2016/01/13(水) 19:26:21.36 .net]
おはようございます
始めます

487 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 19:32:23.31 .net]
Visibleプロパティをfalseにすると非表示になる。
SoundPlayer.Stopで音を止めることができる。

488 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 19:37:24.49 .net]
コードを読んだ感想を述べよ。

489 名前:takasi mailto:sage [2016/01/13(水) 19:47:25.22 .net]
僕のぐっちゃぐちゃなコードに比べるとすごく綺麗にまとまっていて
これはどういう動作をするコードなのかひと目で分かります
条件分岐の負けの判定の仕方でelse if ((3 + player_hand - comp_hand) % 3 == 1)
を見てこれはすげえと思いました
全体のコード量は少ないですが、すっきりしていて感動しました
そして自分にこんな綺麗に書ける自信が無くて胃が痛くなりました

490 名前:takasi mailto:sage [2016/01/13(水) 19:49:19.08 .net]
こういうやり方もあるのかと色々発見がありました
以上、小学生並みの感想文でした

491 名前:takasi mailto:sage [2016/01/13(水) 19:52:11.35 .net]
あとじゃんけんゲームがなかなかおもしろいです



492 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 19:57:19.20 .net]
その判定は大学数学の剰余類という概念を使っている。
多分、大学一年生で習うだろう。

493 名前:takasi mailto:sage [2016/01/13(水) 20:04:12.87 .net]
初めて聞いた単語で胃が痛くなりました
とりあえず頑張ります
ちなみに僕は数学は大の苦手です
数学の知識があったほうがどう考えてもいいですね

494 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:04:33.55 .net]
今日はアプリの設定データについて勉強する。
アプリを終了した後でも、データを保存しておきたい場合、
ファイルやレジストリにデータを記録することになる。
レジストリはWindowsが持っている、階層構造を持ったデータベースで
あり、ファイルとは異なる。

495 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:10:02.84 .net]
二つのTextBoxをフォームに配置し、さらにOKボタンとキャンセルボタンを置く。

496 名前:takasi mailto:sage [2016/01/13(水) 20:12:34.79 .net]
置きました

497 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:18:30.96 .net]
OKボタンをダブルクリックして、次のコードを追加。

var key = Microsoft.Win32.Registry.CurrentUser.CreateSubKey(@"Software\Takashi\MySoftware");
key.SetValue("Text1", textBox1.Text);
key.SetValue("Text2", textBox2.Text);
key.Close();

498 名前:takasi mailto:sage [2016/01/13(水) 20:20:17.35 .net]
追加しました

499 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:23:26.62 .net]
プログラムを実行してOKを押す。これでレジストリに書き込まれた。
Win+Rキーを押してregeditと入力してEnterキーを押す。
これでレジストリエディターが起動する。
HKEY_CURRENT_USER\Software\Takashi\MySoftwareがあることを
確認せよ。

500 名前:takasi mailto:sage [2016/01/13(水) 20:28:09.63 .net]
Tkashi\Mysofrwareとレジストリを確認しました

501 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:31:55.02 .net]
次は読み込みだ。フォームのLoadイベントに次のコードを追加。

var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = key.GetValue("Text1");
textBox2.Text = key.GetValue("Text2");
key.Close();



502 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:36:28.82 .net]
文字列リテラルに@が付いているのは\によるエスケープシーケンスを解釈しないためだ。
以前、"\n"は改行を表すと言った。"\t"はタブ文字だ。このように通常、""の中の\は特殊な解釈をする。

503 名前:takasi mailto:sage [2016/01/13(水) 20:41:47.46 .net]
オブジェクト型はString型に代入できないと注意されたのでConvert.ToStringしましたが大丈夫でしょうか

private void Form1_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
textBox1.Text = Convert.ToString(key.GetValue("Text1"));
textBox2.Text = Convert.ToString(key.GetValue("Text2"));
key.Close();

}

504 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:41:56.00 .net]
レジストリはシステムの資源を占有するので、サイズの大きなデータを書き込むべきではない。
大きな設定データはファイルに記録する。
ではどこに設定ファイルを書き込めばいいか?
特殊フォルダのAppDataに書き込むのがいいとされる。

505 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:45:29.99 .net]
>>503
key.GetValue("Text1").ToString();
でOKだ。

506 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:49:48.52 .net]
特殊フォルダの場所を取得するには次のように書く。
var path = System.Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

507 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 20:57:53.42 .net]
読み込みされるか実行して確認せよ。
次にレジストリエディタでMySoftwareキーを削除してプログラムを再起動せよ。
例外が発生するはずだ。実はキーが開けないときkeyはnullになる。
nullというのは無効なデータのことだ。

508 名前:takasi mailto:sage [2016/01/13(水) 21:01:26.06 .net]
読み込まれないです!
https://i.gyazo.com/f2e5ff48bd5fa2390e783ff8d86d6c9e.png
Form1_Loadは初めから存在してなかったので自分で作ったのですがこれが原因でしょうか

509 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 21:03:06.24 .net]
キーが開けないときや作れないときはkey == nullになる。
このまま書き込んだり、読み込もうとすると例外が発生してしまう。
対処法はnullチェックをすることだ。
if (key != null) {
...
key.Close();
}

510 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 21:04:38.96 .net]
>>508
それはいったん消してプロパティウィンドウ
からイベントを追加せよ。カミナリのアイコンだ。

511 名前:takasi mailto:sage [2016/01/13(水) 21:12:54.68 .net]
>>507例外がスローされるのを確認して
>>509nullチェックで回避しました



512 名前:takasi mailto:sage [2016/01/13(水) 21:19:18.77 .net]
あ、読み込みも問題なくできました

513 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 21:20:52.39 .net]
課題。ジャンケンゲームでの勝ち・負け・引き分けの回数を
レジストリに記録するようにせよ。

514 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 21:22:48.11 .net]
アプリ設定に使ったファイルやレジストリキーを消すのは、
インストーラ側で行うことが多い。

515 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 21:34:51.21 .net]
課題が出来たら、プルリクせよ。残り時間は自習とする。

516 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 22:11:34.19 .net]
質問はありませんか?

517 名前:takasi mailto:sage [2016/01/13(水) 22:19:11.11 .net]
質問はありませんが、値の受け渡しで頭がぐるぐるしてます

とりあえずsave_keyメソッドとload_keyメソッドを作りぐっちゃぐちゃやってます頑張ります

518 名前:takasi mailto:sage [2016/01/13(水) 22:45:21.86 .net]
えーと、やりたいことは分かっているんですが思考が迷子です
時間がかかりそうなので宿題とさせて下さい
えーとプログラミング適正無しでしょうか悲しいです

519 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 23:12:37.34 .net]
ヒント:
アプリ側で保持するのは、回数が増えた分だ。現在の回数ではない。
レジストリへのアクセスは読み書きを一度に行う。
アプリ側の増分だけレジストリの回数を増やした後でアプリ側の増分をゼロにする。
回数を増やすのは勝敗引き分けが決まったときに行う。
回数の増分はフォーム側ではなくプログラム側で保持する。

520 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/13(水) 23:16:19.59 .net]
おやすみ。身体を冷やすなよ。

521 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 20:36:18.94 .net]
ヘイ、ヨー!
始めっぞ



522 名前:takasi mailto:sage [2016/01/14(木) 20:40:53.10 .net]
おはようごじます・・・

523 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 20:44:14.18 .net]
さあーて、どこまでできたかなっ♪

524 名前:takasi mailto:sage [2016/01/14(木) 20:50:08.39 .net]
正直に言いますとまだ出来ていません
あまりの出来の悪さに悲しみに暮れ寝て起きたら今です
○にたい

525 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 20:54:55.82 .net]
ヘイ、まずは、三つのint型のメンバー変数を追加するよぉ。
初期値はゼロだぜぃ。
int kachi_count = 0;
int make_count = 0;
int aiko_count = 0;

526 名前:takasi mailto:sage [2016/01/14(木) 20:56:23.94 .net]
追加しました

527 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 20:58:47.83 .net]
お次は、勝敗判定の箇所を探してみよー。
hantei関数の呼び出しをしている場所があるよね。
ここで判定に応じてカウント変数を1つ加算だよお!

528 名前:takasi mailto:sage [2016/01/14(木) 21:02:23.71 .net]
加算できました

529 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:03:36.91 .net]
その後にレジストリのカウント値を更新だ。
CreateSubKeyはキーがなければキーを作成してそれを開く。
あればそのまま開く。
カウント値はGetValueで取得、SetValueで設定だ。
しかしまだ値を設定していないときにGetValueしたらどうなるか?

530 名前:takasi mailto:sage [2016/01/14(木) 21:05:55.97 .net]
例外がスローされます

531 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:17:48.07 .net]
>>530
ノーノー、nullが返される。
var value = key.GetValue("KachiCount");
int count = kachi_count;
if (value != null)
{
count += Convert.ToInt32(value);
}
...



532 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:20:30.78 .net]
そしてcount.ToString()をSetValueしてからkachi_countをゼロにする。
他のカウント変数も同様だ。

533 名前:takasi mailto:sage [2016/01/14(木) 21:23:48.93 .net]
どのタイミングでキーを作成しなければいけないのか分からないです

534 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:25:18.15 .net]
カウントを表示するのは別のフォームで行う。
新しくフォームを追加だ。
その上にラベルをいくつか追加。
フォームのLoadイベントでレジストリを読み込んでラベルテキストをセット。
OKボタンでフォームを閉じるようにする。

535 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:28:59.98 .net]
>>533
いつカウントを更新するかは、自由に決めることができる。
アプリが終了するときか、フォームが閉じたときか、カウンタが更新したときか。
ここではすぐに更新してほしいので、hantei関数が呼ばれた後に
レジストリを更新する。

536 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:33:18.31 .net]
どうだね? 作れそうかな?

537 名前:takasi mailto:sage [2016/01/14(木) 21:33:36.08 .net]
>>534
private void Form2_Load(object sender, EventArgs e)
{
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
label4.Text = key.GetValue("KACHI").ToString();
label5.Text = key.GetValue("MAKE").ToString();
label6.Text = key.GetValue("AIKO").ToString();
}
で大丈夫ですよね

538 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:35:57.02 .net]
>>537
try/catchしないならkeyとvalueのnullチェックが必要だよ。

539 名前:takasi mailto:sage [2016/01/14(木) 21:36:07.69 .net]
レジストリの更新はメソッドを新たに作成してそこでやらせたほうがいいですよね

540 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:37:03.59 .net]
>>539
そうだね。

541 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:45:20.04 .net]
\MySoftware
のところは
\JankenGUI
にしておこう。



542 名前:takasi mailto:sage [2016/01/14(木) 21:46:11.30 .net]
var key = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(@"Software\Takashi\MySoftware");
if (key != null)
{
var value_kachi = key.GetValue("KACHI");
var value_make = key.GetValue("MAKE");
var value_aiko = key.GetValue("AIKO");
if (value_kachi != null) label4.Text = key.GetValue("KACHI").ToString();
if (value_make != null) label5.Text = key.GetValue("MAKE").ToString();
if (value_aiko != null) label6.Text = key.GetValue("AIKO").ToString();

こういうことでしょうか

543 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:48:05.12 .net]
if (value_kachi != null) label4.Text = key.GetValue("KACHI").ToString();
ちょっと無駄があるな。
if (value_kachi != null) label4.Text = value_kachi.ToString();
こっち。

544 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 21:57:22.37 .net]
git add -a
git commit -m "add counters"
git push origin master

545 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:05:30.78 .net]
どうだね?
何があっても、とにかく陽気に行こうぜ

546 名前:takasi mailto:sage [2016/01/14(木) 22:13:32.93 .net]
もう少しで動かします

547 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:14:28.61 .net]
どうした? ん?

548 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:21:25.15 .net]
ブラインドタッチの特訓と基本情報の取得が必要だな。
1ヶ月以内にブラインドタッチをマスターして、
1年以内に基本情報を取得しなさい。

549 名前:takasi mailto:sage [2016/01/14(木) 22:24:31.61 .net]
上手くいきません
とりあえず現時点のコードをコミットした方がいいですか

550 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:25:37.85 .net]
レジストリの更新はカウント加算の後だ。

551 名前:takasi mailto:sage [2016/01/14(木) 22:27:44.43 .net]
ブラインドタッチ一応できます・・・
実質的な死刑宣告と捉えたほうが良いですか・・・



552 名前:takasi mailto:sage [2016/01/14(木) 22:29:36.69 .net]
switch (hantei(player_hand, comp_hand))
{
case HanteiKekka.HANTEI_KACHI:
label3.Text = "あなたの勝ちです";
kachi_player.Play();
++kachi_count;
save_key("KACHI");
break;
case HanteiKekka.HANTEI_MAKE:
label3.Text = "あなたの負けです";
make_player.Play();
++make_count;
save_key("MAKE");
break;
case HanteiKekka.HANTEI_AIKO:
label3.Text = "あいこ";
aiko = true;
++aiko_count;
save_key("AIKO");
break;
}

553 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:30:23.51 .net]
じゃあ、pushしといて。
明日見るから。

554 名前:takasi mailto:sage [2016/01/14(木) 22:31:57.33 .net]
わかりましたpushしておきます

555 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/14(木) 22:32:05.26 .net]
今日はおやすみ。

556 名前:takasi mailto:sage [2016/01/14(木) 22:33:02.13 .net]
すみませんでした
おやすみなさい

557 名前:takasi mailto:sage [2016/01/14(木) 23:36:49.80 .net]
$ git push origin master
remote: Permission to katahiromz/JankenGUI.git denied to takasi-desu.
fatal: unable to access 'https://github.com/katahiromz/JankenGUI/': The requested URL returned error: 403

ぐぬぬ

558 名前:仕様書無しさん mailto:sage [2016/01/15(金) 00:55:53.21 .net]
transitive.info/article/git/command/remote/

559 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 01:19:31.01 .net]
あ、フォーク忘れてた? ごめんね。

560 名前:takasi mailto:sage [2016/01/15(金) 02:12:03.82 .net]
んぐぐぐぐぐぐぐ
プスプスプスシューーーーーーーーーーー

561 名前:takasi mailto:sage [2016/01/15(金) 02:20:50.29 .net]
なぜでしょうpushができません



562 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 07:48:52.11 .net]
>>561
自分のリポジトリじゃないからね。
最初にforkすべきだった。
pushしなくていいよ。変更点少ないし。

563 名前:takasi mailto:sage [2016/01/15(金) 08:22:44.17 .net]
分かりました
動かして見た感じでは問題はなかったです
https://gyazo.com/3d005abe029830ef80e9f69be763228f
https://gyazo.com/567c6437b66c8bd4b84a6a6c8f59096c
https://i.gyazo.com/dfea862fc1e257c9e54c9e28edeb757f.png

564 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 16:39:11.05 .net]
いくつか注釈しておこう。
引数がゼロ個の関数を作ることができる。
save_keyは引数のない三つの関数に分けた方がいい。
記録がない場合はゼロ回として扱うべきだ。
異常な表示にならないようにすべての場合の「状態」を管理しないといけない。

565 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 19:39:31.24 .net]
JankenGUIにリソースのアイコン(*.ico)を追加せよ。フリー素材で構わない。
可能ならばJankenGUIに署名を行え。
JankenGUIをReleaseビルドせよ。
Inno Setupをダウンロード&インストールせよ。

566 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 19:41:08.11 .net]
Inno Setupのウィザードに従ってインストーラのスクリプト(*.iss)を試作せよ。
スクリプト中の絶対パスを相対パスにせよ。
JankenGUIが使っている.net frameworkのバージョンを確認せよ。
次のサイトを参考にインストール時に.net frameworkの有無をチェックするようにせよ。
qiita.com/bellx2/items/14ac4e02283d5c1ef12b

567 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 20:09:15.33 .net]
今日はインストーラ作成を行う。今回の課題は英語ができないと難しいかも知れないな。
質問が有ったらお気軽に。

568 名前:takasi mailto:sage [2016/01/15(金) 20:14:40.64 .net]
おはようございます
準備ご始めます

569 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 20:24:28.92 .net]
署名は多少時間がかかると思う。今日は後回しでいい。

570 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 20:36:34.17 .net]
ローカルリポジトリ情報の隠しフォルダ「.git」を「rm -rf .git」で消す。
「rm -rf」はファイルやフォルダをまるごと消すLinuxのコマンドだ。
GitHubのTakasi-DesuのJankenGUIをSettingsから消して(delete)作り直す。
それからgit init, add, commit, push -uだ。

571 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 20:39:05.60 .net]
git remote addも忘れずに。



572 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 21:07:44.34 .net]
教員免許を持っていない私が指導するのだから、不充分な点も
あるかもしれないが、御了承頂きたい。
進捗報告を。

573 名前:takasi mailto:sage [2016/01/15(金) 21:20:27.37 .net]
Inno Setupの使い方を調べている途中です

574 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 21:26:32.48 .net]
Releaseビルドしたなら、bin/Releaseフォルダにexeができているだろう。
これをInno Setupのウィザードでプログラムファイルとして指定する。

575 名前:takasi mailto:sage [2016/01/15(金) 21:43:42.57 .net]
使い方がさっぱりわかりません
exeファイルはできましたがInno Setupのウィザードでプログラムファイルとして指定するのはどうすればよいのでしょうか

576 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 21:44:30.97 .net]
わからない点はある?

577 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 21:47:26.33 .net]
>>575
Inno Setupは日本語になっているか?
参照ボタン(browse)をクリックして、ファイルの場所を指定する。

578 名前:takasi mailto:sage [2016/01/15(金) 21:52:54.29 .net]
参照ボタンはどこでしょうか?
開くはスクリプトファイルしか開けないようです
今この画面ですhttps://i.gyazo.com/3a0dffc78162915778d17ec7ea5504a3.png

579 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 21:56:07.64 .net]
File→New

580 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 22:07:21.09 .net]
英語が読めないなら、日本語化した方がいいんじゃないか?

581 名前:takasi mailto:sage [2016/01/15(金) 22:14:29.43 .net]
日本語化できますか?
インストールウィザードを日本語化するのしか見つかりませんでしたが



582 名前:takasi mailto:sage [2016/01/15(金) 22:21:56.78 .net]
先生、今回ばかりは無理かもしれません
使い方が全くわからなくて調べながらやらないといけないので時間が凄いかかると思います・・・
順序立てて教えていただければ分かりやすいですが、それもまた時間かかりそうですし・・・

583 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 22:23:26.45 .net]
InnoEditXにしようか?

584 名前:takasi mailto:sage [2016/01/15(金) 22:26:31.40 .net]
簡単なのであればそちらでお願いします
DLします

585 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/15(金) 22:36:59.62 .net]
今日はこの辺でお開きといたしやしょう。
おやすみでござります。

586 名前:takasi mailto:sage [2016/01/15(金) 22:38:58.93 .net]
すみませぬ・・・・・・・・・おやすみなさい・・・・・・・・・・・・・・_(:3」∠)_

587 名前:仕様書無しさん mailto:sage [2016/01/15(金) 23:11:10.08 .net]
じゃんけんは意外と作るの面白いよね
がんば

588 名前:仕様書無しさん [2016/01/16(土) 15:14:46.12 .net]
InnoEditX
textexpage.s154.xrea.com/software/

589 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:22:50.44 .net]
InnoEditXをDL、展開して適当なフォルダに配置する。
InnoEditXのReadMeを読んだ後で、InnoEditXを起動する。
「ツール」→「設定」で、Inno Setupの場所を指定する。
あらかじめJankenGUIにReadMe.txtとLicense.txtを追加しておく。

[Setup]タブをクリック。「基本情報」タブで、アプリの名前を入力
(「たかしのジャンケン」「たかしのジャンケン ver.1.0」)。
インストール先を入力({pf}\Takashi Janken)。

590 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:23:50.31 .net]
「アンインストーラー」タブをクリック。
「アンインストーラーを作る」をチェック。
表示するアイコンに「{app}\JankenGUI.exe」を指定する。

{pf}は「C:\Program Files」などを表している。
{app}はインストール先のフォルダを表している。

「情報」タブをクリック。「製作者」「説明」「バージョン」を入力。

591 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:24:15.92 .net]
「フラグ」タブをクリック。
「中断を許可」「UNCパスを許可」「アプリ用ディレクトリを作る」
「情報をレジストリに保存」をチェック。

「ダイアログ」タブをクリック。
「インストールを行いますダイアログを出さない」をチェック。

ここまで、[Setup]タブ。



592 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:24:42.42 .net]
[Files]タブをクリック、リストを右クリックして「アイテムの追加」。
ソースファイルに「JankenGUI.exe」を選んで指定、
出力先ディレクトリを「{app}」にして、「OK」。
さらに「アイテムの追加」。「ReadMe.txt」を選んで指定、
出力先ディレクトリを「{app}」にして、「OK」。
さらにさらに「アイテムの追加」。「License.txt」を選んで指定、
出力先ディレクトリを「{app}」にして、「OK」。

593 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:25:18.48 .net]
[Icons]タブをクリック。
このタブはショートカットアイコンの追加に関する設定だ。

リストを右クリックで「アイテムの追加」。
作成先を「{group}\たかしのジャンケン」に、
リンク先を「{app}\JankenGUI.exe」にして、「OK」。

さらに「アイテムの追加」。
作成先を「{commondesktop}\ReadMe.txt」に、
リンク先を「{app}\ReadMe.txt」にして「OK」。

さらにさらに「アイテムの追加」。
作成先を「{commondesktop}\License.txt」に、
リンク先を「{app}\License.txt」にして「OK」。

594 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/16(土) 17:26:45.27 .net]
さらにさらにさらに「アイテムの追加」。
作成先を「{commondesktop}\たかしのジャンケン」に、
リンク先を「{app}\JankenGUI.exe」にして「OK」。

さらにさらにさらにさらに「アイテムの追加」。
作成先を「{group}\アンインストール」に、
リンク先を「{uninstallexe}」にして、「OK」。

{group}は、スタートメニューの項目を表している。
{commondesktop}は、すべてのユーザのデスクトップを表している。
{uninstallexe}は、アンインストールプログラムを表す。

ここまで[Icons]タブ。
名前「JankenGUI.iss」を付けて保存。ビルドしてエラーがなければ
インストーラが作成される。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


595 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 19:12:34.29 .net]
>>593 訂正。
× 作成先を「{commondesktop}\ReadMe.txt」に、
○ 作成先を「{group}\ReadMe.txt」に、

× 作成先を「{commondesktop}\License.txt」に、
○ 作成先を「{group}\License.txt」に、

596 名前:仕様書無しさん mailto:sage [2016/01/16(土) 19:51:40.96 .net]
たかし書籍化パターンだろこれw

597 名前:仕様書無しさん mailto:sage [2016/01/16(土) 19:52:21.97 .net]
謝辞に片山先生へのお礼が書かれてるend

598 名前:takasi mailto:sage [2016/01/16(土) 20:07:07.86 .net]
おはようございます
ありがとうございます・・・
始めます

599 名前:takasi mailto:sage [2016/01/16(土) 20:45:19.33 .net]
無事ビルド完了しました
https://i.gyazo.com/6762f0ece561ac26d495a98a46d14fc7.png

600 名前:仕様書無しさん mailto:sage [2016/01/16(土) 20:48:10.27 .net]
どうでもいいことだろうけど、

>>594になぜ
Rock54: Cautionがついているのだろう

exeかな?

601 名前:仕様書無しさん mailto:sage [2016/01/16(土) 20:49:17.37 .net]
剛田たけしのジャイアンじゃんけん



602 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 20:49:51.11 .net]
>>570-571の手順でGitHubにアップしてくれ。
以前のレポジトリは消えても構わない。

603 名前:takasi mailto:sage [2016/01/16(土) 20:53:08.37 .net]
作成したセットアップファイル?もフォルダに加えるんでしょうか

604 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 20:53:33.06 .net]
.issもレポジトリのフォルダに入れて。
setup.exeは.gitignoreで除外して。

605 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:12:03.30 .net]
修正1.JankenGUI.issをテキストエディタで開いて絶対パスの記述を相対パスに直しなさい。
修正2.使用しているレジストリキーをアンインストール時に削除するようにしなさい。

606 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:14:19.67 .net]
終わったらInnoEditXで開いてビルド。
インストールしてインストールした項目をテスト、アンインストールを何度か繰り返しなさい。

607 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:23:48.25 .net]
進捗報告を。

608 名前:takasi mailto:sage [2016/01/16(土) 21:36:08.78 .net]
今>>605です

609 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:39:38.33 .net]
絶対パスと相対パスについてはご存じかな?

610 名前:takasi mailto:sage [2016/01/16(土) 21:45:31.48 .net]
いいえ

611 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:50:20.18 .net]
現在のフォルダが「C:\Users」であるとき、「C:\Users\takasi\himitsu」という場
所(パス)は相対パス「takasi\himitsu」で参照できる。
「C:\Users\takasi\himitsu」は絶対パスだ。
パスを相対的に指定するか、絶対的に指定するかの違いだ。



612 名前:takasi mailto:sage [2016/01/16(土) 21:54:06.18 .net]
これを直すんですよね?
Name: "{group}\たかしのジャンケン"; Filename: "{app}\JankenGUI.exe";
Name: "{group}\ReadMe.txt"; Filename: "{app}\ReadMe.txt";
Name: "{group}\License.txt"; Filename: "{app}\License.txt";
Name: "{commondesktop}\たかしのジャンケン"; Filename: "{app}\JankenGUI.exe";
Name: "{group}\アンインストール"; Filename: "{uninstallexe}";

613 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 21:58:08.41 .net]
{ }がついたものは直す必要ない。
[Files]の記述はどうなってる?

614 名前:takasi mailto:sage [2016/01/16(土) 21:59:43.12 .net]
[Files]はありません[Setup]と[Icons]のみです

615 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 22:03:53.38 .net]
ファイルがインストールされていない。>>592をやり直して。

616 名前:takasi mailto:sage [2016/01/16(土) 22:13:40.06 .net]
これで良いでしょうか

[Files]
Source: "JankenGUI\bin\Release\JankenGUI.exe"; DestDir: "{app}";
Source: "JankenGUI\ReadMe.txt"; DestDir: "{app}";
Source: "JankenGUI\License.txt"; DestDir: "{app}";

[Registry]
Root: HKCU; Subkey: "Software\Takashi"; Flags: uninsdeletekeyifempty
Root: HKCU; Subkey: "Software\Takashi\JankenGUI"; Flags: uninsdeletekey

617 名前:takasi mailto:sage [2016/01/16(土) 22:17:09.20 .net]
[Files]
Source: "bin\Release\JankenGUI.exe"; DestDir: "{app}";
Source: "ReadMe.txt"; DestDir: "{app}";
Source: "License.txt"; DestDir: "{app}";
こうでした

618 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 22:17:41.38 .net]
JankenGUI.issは、フォルダJankenGUIの中にあるんだろ? だったら
Source: "License.txt"; DestDir: "{app}";
じゃないかい?

619 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 22:19:04.50 .net]
>>617
それでOK。テストに入りなさい。

620 名前:takasi mailto:sage [2016/01/16(土) 22:20:47.16 .net]
問題なくインストールでき、アンインストール時にレジストリが削除されることを確認しました

_(:3」∠)_

621 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/16(土) 22:24:11.12 .net]
pushしたら今日はここまで。おやすみ。



622 名前:takasi mailto:sage [2016/01/16(土) 22:33:30.36 .net]
pushしました本日もありがとうございましたおやすみなさい_(:3」∠)_

623 名前:takasi mailto:sage [2016/01/16(土) 22:36:16.91 .net]
ツールの使い方が全くわからない辛い・・・

624 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 13:09:32.88 .net]
JankenGUIのプロパティの「公開」タブをクリックして、マイナー
バージョンを1にし(1.1)、Releaseバージョンをビルドしなさい。
プログラムに変更が有った場合、プログラムをバージョンアップしないと
インストーラがファイルを更新しないことがあるので注意。
JankenGUI.issをInnoEditXで開いて[Setup]タブをクリック。
「デフォルトのスタートメニューグループ名」を「たかしのジャンケン」にしなさい。

625 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 13:15:15.24 .net]
[Languages]タブをクリック。リストを右クリックして、名前を「Japanese」にし、言語ファイルで「Languages」→「Japanese.isl」を順に選んで「OK」。
[Setup]タブをクリック。「基本情報」と「情報」のバージョンを1.1にしなさい。
「基本情報」の「出力」の「セットアップファイルの出力時の名前」を
「tjanken-1.1-setup.exe」にしなさい。古いsetup.exeは削除。
.gitignoreで「tjanken-*-setup.exe」を無視するように設定しなさい。

626 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 13:21:21.93 .net]
JankenGUIを自由に改良しなさい。1つ改良するたびにgit add, git commitしなさい。
改良に失敗したら「git checkout (ファイル名)」で1つ元に戻しなさい。

627 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 15:28:59.15 .net]
次はインストーラなしのパッケージを作ってみよう。
プログラムのインストールができない環境の利用者はインストーラが使えない。
だから、インストーラなしのプログラムもそれなりに需要がある。

628 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 15:32:42.17 .net]
次のような内容のバッチファイル「pack-bin.bat」を作れ。

set DIR=tjanken-bin
del /Q /S %DIR%
copy bin\Release\JankenGUI.exe %DIR%
copy ReadMe.txt %DIR%
copy License.txt %DIR%
pause

629 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 15:39:39.09 .net]
pack-bin.batをダブルクリックすると、tjanken-binフォルダが作成され、
必要なファイルがコピーされる。
このフォルダを右クリックして「送る」→「圧縮(zip形式)」を選ぶと、
このフォルダが圧縮されたzipファイルtjanken-bin.zipができる。
これの名前を変更し、tjanken-1.1-bin.zipにすると、
インストーラなしパッケージが完成する。
.gitignoreにzipファイルとtjanken-binフォルダを無視するように
「*.zip」「tjanken-bin」を設定しなさい。

630 名前:仕様書無しさん mailto:sage [2016/01/17(日) 18:24:22.58 .net]
たかし半角になっててワロタw

631 名前:takasi mailto:sage [2016/01/17(日) 20:15:43.13 .net]
おはようございます
21時から始めます



632 名前:takasi mailto:sage [2016/01/17(日) 21:36:43.63 .net]
>>628でpack-bin.batを作りダブルクリックしましたがフォルダは作られませんでした
代わりにtjanken-binというファイルが出来ました
フォルダのなりぞこないでしょうかこれは

633 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 21:42:09.33 .net]
>>632
delとcopyの間にmkdir %DIR%を忘れてた。
できたファイル消してやり直して。

634 名前:takasi mailto:sage [2016/01/17(日) 21:47:26.64 .net]
>>629まで完了しました

635 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 21:52:43.25 .net]
アプリが使用している.Net Frameworkのバージョンを確認せよ。
ReadMe.txtに作品名、作者名、動作環境を記せ。
配布するファイルのサイズを確認せよ。
ウイルスチェックを行え。

636 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 22:04:29.96 .net]
frameworkのバージョンはプロジェクトのプロパティから確認できる。
ファイルサイズはファイル右クリックのプロパティで確認できる。

637 名前:takasi mailto:sage [2016/01/17(日) 22:12:09.22 .net]
配布するファイルとはJankenGUI.exeの事でしょうか?

638 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 22:15:47.64 .net]
>>637
tjanken-1.1-setup.exe

tjanken-1.1-bin.zip
が配布するファイルだ。
前者がインストーラつきのプログラム、後者がインストーラなしのプログラムである。

639 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 22:23:57.34 .net]
どうした

640 名前:takasi mailto:sage [2016/01/17(日) 22:27:06.97 .net]
>>635
完了しました

641 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 22:28:42.72 .net]
pushしたら終わりだ。
青少年はもう寝る時間だ。
おやすみ。



642 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/17(日) 22:39:13.20 .net]


643 名前:takasi mailto:sage [2016/01/17(日) 22:41:45.79 .net]
遅くてすみません
pushしましたhttps://github.com/takasi-desu/JankenGUI

644 名前:仕様書無しさん mailto:sage [2016/01/17(日) 23:51:15.01 .net]
たかしのじゃんけんゲームやってみたがよく出来てる
頑張ってな

645 名前:takasi mailto:sage [2016/01/17(日) 23:59:50.66 .net]
ありがとうございます
ほとんど片山先生の作品なんですけどね・・・
最近勉強できていません
体の調子が悪くて・・・起きる時間も夜・・・ふぁああああああああ

646 名前:takasi mailto:sage [2016/01/18(月) 00:02:00.04 .net]
最近プログラミングの適性がないのではないかと悩んでいるお年ごろです
慣れでしょうか

647 名前:仕様書無しさん mailto:sage [2016/01/18(月) 00:12:07.22 .net]
無料ホームページ作成
freehp.ojaru.jp/

648 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/18(月) 12:14:59.18 .net]
今度は、○×ゲームだ。
https://github.com/katahiromz/MaruBatsuGame
こいつをForkして、適当なフォルダにcloneしてくれ。
dataフォルダに、画像と音声のデータがある。
画像はInkscapeで作成、音声は自分で録音した。

649 名前:片山博文MZ ◆T6xkBnTXz7B0 [2016/01/18(月) 12:19:22.23 .net]
今回は、辞書(dictionary)を使っている。
一般に辞書というのは、単語から意味を調べる書物だね。
C#で辞書というのは、あるデータに他のデータを関連づけるデータ構造だ。
単語に相当するデータをキー(key)といい、
意味に相当するデータを値(value)という。
キーをintとし、値をMasuとする辞書の型は、Dictionary<int, Masu>と書く。

650 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 12:58:34.33 .net]
黒い線を表示するのにLabelを使った。
Labelの背景色を黒にし、AutoSizeをFalseにしてある。
それぞれのマスはPictureBoxになっている。
画像と音声のデータはすでにリソースとして追加した。

651 名前:takasi mailto:sage [2016/01/18(月) 13:15:29.04 .net]
おはようございます
今日も夜から始めると思います



652 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 13:28:05.84 .net]
データとUIの分離のために、盤を表すBoardというクラスを用意した。
Boardに空ではないマスを数えるカウント変数countを追加せよ。
盤の初期化のときにcountをゼロにせよ。
set_masuでcountを加算せよ。

653 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 13:39:44.00 .net]
Boardに次のような思考関数kangaeruを追加せよ。
int kangaeru(Masu comp) {
Masu anata;
compがマルならanataはバツ。
compがバツならanataはマル。
空マスが1つ、compが2つの並びがあれば、その空きマスの番号を返す。
anataがなく、compが1つ以上の並びがあれば、その空きマスの番号を返す。
空きマスをランダムに選び、その空きマスの番号を返す。
}

654 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 13:44:57.25 .net]
課題。○×ゲームを完成せよ。
プレイヤーはマル(先攻)、コンピュータはバツ(後攻)とする。
プレイヤーがマルをつけたら、タイマーで2秒待ち、
コンピュータがバツをつける。
待っている間は操作できないようにせよ。

655 名前:takasi mailto:sage [2016/01/18(月) 18:00:48.51 .net]
ちょっと今日は夜に出てこれないです!
完成したらプッシュすれば良いでしょうか

656 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 18:16:25.10 .net]
好きにしたまえ。

657 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/18(月) 18:20:32.09 .net]
今日の勉強会は休みにします。

658 名前:takasi mailto:sage [2016/01/19(火) 12:56:45.26 .net]
おはようございます、課題ですがまだ終わっていません
朝からずっとコードとにらめっこしていたのですが
これらがどういう動きをしていてどう使うのかが理解できませんでした
前回のじゃんけんゲームの時もでしたが、課題の難易度に対して自分の能力が全く追い付いていないと強く感じました
このままでは分からない事がある度に片山先生の言葉ををただコピペするだけで
理解せずに無駄な時間を過ごしてしまうことになってしまいそうです。
僕は>>141で言いましたとおり、頭の出来がよくありません。理解するのに普通の人より時間がかかります
分からないことだらけの今、その度に片山先生に聞いていては先生にも僕にも負担になってしまうと思います
僕に今必要なのは基礎で、それを身につけることでやっと先生の授業にちゃんと付いていけるのではないかと思います
僕のためにプログラムを書いて頂いたり、画像や音声ファイル等も用意して頂いたり、色々教えて頂き片山先生には本当に感謝しています
GUIのアプリを作るのは楽しかったです
しかし、今のままでは辛いのでしばらく授業をお休みさせていただきます
初学者向けの本でしっかり勉強してから復帰したいと思います
応援してくださった方、片山先生、その他の先生方、本当にありがとうございました
またいつか戻ってきます、パワーアップしたたかしで・・・

659 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/19(火) 16:58:30.49 .net]
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]・2ch.net
peace.2ch.net/test/read.cgi/tech/1448207673/

660 名前:仕様書無しさん mailto:sage [2016/01/19(火) 21:48:06.50 .net]
〜 完 〜

661 名前:takesi mailto:sage [2016/01/20(水) 00:10:51.81 .net]
では私のスレにしてよろしいでしょうか



662 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/20(水) 08:51:17.77 .net]
OK

663 名前:仕様書無しさん mailto:sage [2016/01/20(水) 09:11:11.90 .net]
たかしニートプログラミング本出版までいけよw

664 名前:takesi mailto:sage [2016/01/20(水) 13:31:22.23 .net]
私はPythonを勉強中です
チュートリアルを読んで条件分岐くらいまではできるようになりました
機械学習に興味があります
先生ご指導よろしくお願いします

665 名前:takesi mailto:sage [2016/01/20(水) 13:32:45.56 .net]
まずは何をすればいいでしょうか
paizaでDランクは全部解けたレベルです

666 名前:仕様書無しさん mailto:sage [2016/01/21(木) 00:04:58.89 .net]
こんばんはたかしです、急にやめてすみませんでした
今後の予定ですが、職業訓練校に行くことになりました
入学選考試験が結構難しいので一ヶ月間がんばって勉強しなくてはなりません
頑張ります。たけしさんもがんばってください。

667 名前:仕様書無しさん mailto:sage [2016/01/22(金) 00:38:53.36 .net]
>>662
先生!!!

668 名前:仕様書無しさん mailto:sage [2016/01/22(金) 01:20:09.58 .net]
訓練校ならお金もらえながら勉強できてオイシイもんね

669 名前:片山博文MZ ◆T6xkBnTXz7B0 mailto:sage [2016/01/22(金) 04:46:25.53 .net]
私はPythonのことはあまり知りません

670 名前:takesi mailto:sage [2016/01/22(金) 13:41:45.47 .net]
では、Javaはどうでしょうか
Androidアプリをつくるという目標もあります

671 名前:takesi mailto:sage [2016/01/23(土) 00:23:40.54 .net]
>>669
先生の得意な言語はなんでしょうか



672 名前:仕様書無しさん mailto:sage [2016/01/23(土) 16:15:03.02 .net]
     ∧_∧
     ( ゚ω゚ ) JAVAなら任せろー
 バリバリC□l丶l丶
     /  (   ) やめて!
     (ノ ̄と、 i
        しーJ

673 名前:takesi mailto:sage [2016/01/23(土) 16:20:00.27 .net]
>>672
本当ですか?Java教えてくださいませ

674 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 16:29:08.94 .net]
しょうがないにゃあ…
まずPCの環境教えてね多分windowsかな

675 名前:takesi mailto:sage [2016/01/23(土) 16:32:19.93 .net]
>>674
ありがとうございます!
開発環境はeclipseです

676 名前:takesi mailto:sage [2016/01/23(土) 16:32:40.38 .net]
>>674
windowsPCです

677 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 16:35:56.08 .net]
把握
大学でもらった教材使えるな
ちょい探してくる
今のスキルレベルは?

678 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 16:42:21.05 .net]
ちくせうC++とLispのしか見当たんね

まあいいや

流れ

今のスキルの確認

おさらいしながらJavaの基礎一通り

CUI課題

GUI(androidアプリケーション)

Unity導入

こんな感じでおk?

679 名前:takesi mailto:sage [2016/01/23(土) 16:47:06.78 .net]
おkです
今のスキルレベルは条件分岐がなんとか使えるレベルで
オブジェクト指向は完全に理解していないくらいです
Unityはさわりだけやったことがあります

680 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 16:50:33.63 .net]
まず環境整備しよか

Github知っとる?
Gitやsubversion、CVSとかバージョン管理ソフトでもいいけど。

第一目標:Githubユーザー作ってソース共有できるようにする

681 名前:takesi mailto:sage [2016/01/23(土) 16:52:13.27 .net]
Github聞いたことがあります
ググってみます



682 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 16:55:44.75 .net]
んじゃ毎回質問は

質問:〜〜〜

と書くから答えるなり調べるなりしてね
答え大体既存の解説サイトのURL下に貼るから答えがわかったらまずそっち見てね。
したらわかんないとこあるだろうから質問タイム
の流れで。

同様に

課題:〜〜〜

とかやるからその辺は臨機応変によろ

683 名前:takesi mailto:sage [2016/01/23(土) 16:56:40.06 .net]
分かりました!

684 名前:takesi mailto:sage [2016/01/23(土) 16:57:21.48 .net]
Githubのアカウント作りました

685 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:03:43.38 .net]
バージョン管理とは
複数人で同じものを編集する(wikiなんかをイメージしてね)時に
編集が衝突(同時に同じ個所を編集しようとすること)したときに
整合性を保ったり
昔の履歴を見たいといったときに対応するためだったりのために管理すること

バージョン管理ソフトとは
そのためのソフトウェア
いろいろ実現方法の違いでソフトウェアが違う。
今有名なのはGitやsubversion

Gitとは
バージョン管理ソフト
こまけぇことはいいんだよ

Githubとは
Gitでファイル保存してくれるファイルサーバーとか思っとけばいいよ

686 名前:takesi mailto:sage [2016/01/23(土) 17:10:03.93 .net]
なるほど
Gihubは英語ばかりで使うのが難しいです
なんせ中学生レベルの英語しかわからないもので

687 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:13:15.24 .net]
最初のうちしかサイトは見ないからがんがれ

↓にリポジトリ(ファイルのひとまとまりになったディレクトリみたいなもん)作った
https://github.com/tamochu/neet1programming.git
まずアクセスしてみて

688 名前:takesi mailto:sage [2016/01/23(土) 17:15:07.04 .net]
アクセスしました
…どうすればいいのでしょうか?

689 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:17:53.97 .net]
右側にDownload ZIPってあるはず
そこでファイルをダウンロード
→解凍してhello.batをダブルクリック(怖かったらしないほうがいいバッチファイルわかんないだろうし)
なんにせよこれでファイルを共有できることを感じてもらえればおk

690 名前:takesi mailto:sage [2016/01/23(土) 17:20:28.26 .net]
できました
少し感動

691 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:23:11.40 .net]
じゃあそれをeclipseでできるようにします。

課題:「eclipse github」などで検索しeclipseでgithubにアクセスする方法を調べよ

調べるまででおk
多分どっかで詰まるからやるのは一緒に



692 名前:takesi mailto:sage [2016/01/23(土) 17:25:29.62 .net]
調べて概要は理解しました

693 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:28:24.11 .net]
eclipseを開きます
バージョンを確認してね
起動画面にheliosとかjunoとか書いてあるから

したら↓参照
rough-and-ready-co-jp.blogspot.jp/2012/02/giteclipsegithub.html

694 名前:takesi mailto:sage [2016/01/23(土) 17:35:17.34 .net]
EGitというのが見つからないのですが
Eclipse Github 統合(タスク・フォーカス・インターフェース)
というのをインストールすればよいのでしょうか?
バージョンはMarsでづ

695 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:47:45.25 .net]
作業対象に入れたURL教えて

696 名前:takesi mailto:sage [2016/01/23(土) 17:51:24.67 .net]
Mars - download.eclipse.org/releases/mars

697 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 17:56:06.84 .net]
重すぎ…

多分

Eclipse Gitチームプロバイダー

無印のやつ

698 名前:takesi mailto:sage [2016/01/23(土) 18:00:40.17 .net]
分かりました
インストールします

699 名前:takesi mailto:sage [2016/01/23(土) 18:06:29.46 .net]
コミットするというのがよく分かりません
ファイルを選択してもコミットボタンが押せません
どこかで誤ったのでしょうか

700 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:13:08.10 .net]
コミットはちょい待って今環境整備中

701 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:17:01.55 .net]
今から秘密鍵送る
捨てアド作ってさらして



702 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:20:15.57 .net]
コミットとは
自分が更新・追加したのをGitに伝えること
これ更新したからって宣言するようなこと

プッシュとは
コミットした差分をリモートに送ること
ファイルサーバーにアップロードするようなこと

チェックアウトとは
リモートのファイルを持ってくること
ダウンロードと思えばいい


今はチェックアウトしかできないはず

703 名前:仕様書無しさん [2016/01/23(土) 18:26:23.42 .net]
wuzhaiteng3@gmail.com
秘密鍵とは何に使うのですか?

704 名前:takesi mailto:sage [2016/01/23(土) 18:27:19.46 .net]
つまり今はコミットしなくていいってことですね

705 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:32:22.39 .net]
課題にしよか

課題:暗号を送る方法
例えば手紙をある人に送るが途中で覗き見られても
中身がばれないようにする
を一つ考えよ

706 名前:takesi mailto:sage [2016/01/23(土) 18:36:58.49 .net]
共通の決まりを作っておいて暗号化してそれを送る

707 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:37:12.31 .net]
秘密鍵とは
秘密鍵暗号方式の共通キーもしくは
公開鍵暗号方式のペアキーのうち受信側が持つ鍵

公開鍵暗号とは
ある文章を二つのペアーの鍵によって安全に送信する方法のひとつ
1.受信者は公開鍵と秘密鍵のペアを作る
2.公開鍵を文字通り公開する
3.文章の送信者は公開鍵を用いて暗号を作る
4.暗号を送信する
5.受信者は秘密鍵を用いて暗号を複合(解読)する
このとき公開鍵では暗号を作れるが複合はできない
秘密鍵は複合できる
ということが保証されている
細かい原理は省略

708 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:40:01.85 .net]
その答えは秘密鍵(共通鍵)暗号方式やね
今回使うのは↑の公開鍵暗号

qiita.com/t-kashima/items/251acd9ce70ce8929836
参照

709 名前:takesi mailto:sage [2016/01/23(土) 18:40:04.52 .net]
なるほど
どうやって使うのですか?

710 名前:takesi mailto:sage [2016/01/23(土) 18:40:37.00 .net]
理解しました

711 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 18:47:04.95 .net]
秘密鍵の設定
eclipseの
ウィンドウ→設定を押す
一般→ネットワーク接続→SSH2を選択する
一般タブの秘密鍵に今送った秘密鍵を設定する

Gitリポジトリの設定
ウィンドウ→パースペクティブを開く→その他を選択する
Gitリポジトリ・エクスプローラーを選択する
Gitリポジトリの「複製」を選ぶ
URIを選ぶ(ここら辺違うかも)
URIに「git@github.com:tamochu/neet1programming.git」を入力(コピペでおk)
プロトコルにsshを選ぶ
次へを選ぶ



712 名前:takesi mailto:sage [2016/01/23(土) 19:00:42.05 .net]
途中でよく分からないメッセージが出てきましたが
多分出来たと思います

713 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:08:25.61 .net]
eclipseのJavaパースペクティブで
neet1programmingプロジェクトが表示されていれば成功

プロジェクトを右クリックして
チーム→プル
Exam1.javaが出てくると思う
そこに

課題:1〜100を足すプログラムを書きなさい

714 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:16:03.07 .net]
できたらお待ちかねのコミット→プッシュ
といってもプルと同じように
チーム→コミット
を押して更新のあるファイルを選択したら
「Commit and push」を選ぶだけ

715 名前:takesi mailto:sage [2016/01/23(土) 19:19:42.71 .net]
Javaパースペクティブとはどこでしょうか
これは成功しているのでしょうか
スマホからなので直撮りですみません
i.imgur.com/ZAUTelg.jpg

716 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:23:13.47 .net]
あ、チェックアウトしてないや
Gitリポジトリのneet1programmingを右クリック
プルを選択
いろいろ聞かれるけど次へか完了でおk

717 名前:仕様書無しさん [2016/01/23(土) 19:29:07.16 .net]
完了しました
変化はありません
どうすればいいのでしょうか

718 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:29:20.48 .net]
もしくはインポートしてないって可能性もあるか

Gitリポジトリのneet1programmingを展開
作業ディレクトリを右クリック
プロジェクトのインポート既存のプロジェクトのインポートを選んで次へ
neet1programmingをチェックして完了

719 名前:仕様書無しさん [2016/01/23(土) 19:36:31.53 .net]
できました

720 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:37:04.63 .net]
どこまでー?

721 名前:takesi mailto:sage [2016/01/23(土) 19:42:07.60 .net]
Exam1,2 を出すまでできました
今から課題に取り掛かります



722 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 19:44:45.11 .net]
ガンバ
もうすぐ飯落ち
課題作っとくからいない間気が向いたら解いてね

723 名前:takesi mailto:sage [2016/01/23(土) 19:47:44.85 .net]
久々にJAVAで書いたので思ったよりてこずりました
今からコミットします

724 名前:takesi mailto:sage [2016/01/23(土) 19:49:38.41 .net]
あれ?コミットできません
コミットボタンが押せない状態です

725 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 20:05:54.65 .net]
コミットメッセージを入力する

726 名前:takesi mailto:sage [2016/01/23(土) 20:18:14.88 .net]
できました

727 名前:takesi mailto:sage [2016/01/23(土) 20:33:02.01 .net]
Exam2も完了しました

728 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 20:53:35.93 .net]
戻りました
プッシュできてないっぽいかな
プロジェクトを右クリック
チーム→アップストリームへプッシュ

729 名前:takesi mailto:sage [2016/01/23(土) 20:56:31.15 .net]
やってみました
どうでしょうか

730 名前:takesi mailto:sage [2016/01/23(土) 21:02:43.99 .net]
新しいExamをEclipseに取り入れるにはどうすればいいのでしょうか?

731 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:03:57.35 .net]
うーん来ない

TeamViewerで画面見せてもらていい?



732 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:05:35.97 .net]
取り込みはプル

733 名前:takesi mailto:sage [2016/01/23(土) 21:11:45.17 .net]
了解しました
TeamViewerはちょっと…すみません

734 名前:takesi mailto:sage [2016/01/23(土) 21:12:31.88 .net]
よく分からなくて怖いんで

735 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:16:17.58 .net]
じゃあ問診で行こう
コミットもう一度できる?

736 名前:takesi mailto:sage [2016/01/23(土) 21:17:08.04 .net]
できません

737 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:21:13.76 .net]
じゃあコミットはちゃんとできてるな
アップストリームにプッシュはもう一度できる?

738 名前:takesi mailto:sage [2016/01/23(土) 21:22:44.05 .net]
やってみました

739 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:25:43.12 .net]
エラーメッセージとか出た?

740 名前:takesi mailto:sage [2016/01/23(土) 21:33:30.13 .net]
こんなのが出てOK押してもなんともなりません
i.imgur.com/zl03IUa.jpg

741 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:35:22.82 .net]
ああ、それ出てんのか
対処法忘れたからちょい待ってね



742 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:38:31.49 .net]
プロジェクトを右クリック
チーム→アップストリームからフェッチしてみて
そしたら
チーム→ワークスペース同期化
出てきた画面で全部のファイル選んで右クリック
マージ済みとしてマーク

終わったらもっかいプッシュ

743 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:39:38.58 .net]
ワークスペース同期化の前に
チーム→マージ
忘れてた

744 名前:takesi mailto:sage [2016/01/23(土) 21:42:28.46 .net]
ここからどうすればいいのでしょうか
i.imgur.com/mGhQBeG.jpg

745 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:44:39.16 .net]
何もフェッチできないんだったら
今度は
チーム→リベース

746 名前:takesi mailto:sage [2016/01/23(土) 21:50:13.14 .net]
下の項目2つともにチェックを入れればいいんですか?

747 名前:takesi mailto:sage [2016/01/23(土) 21:51:43.52 .net]
うーん…よく分かりません

748 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:52:34.16 .net]
チェック?入れると来ないと思うが
しいて言うならリモートトラッキングのorigin/master

749 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 21:53:11.24 .net]
×と来ない
○所ない

750 名前:takesi mailto:sage [2016/01/23(土) 21:57:56.98 .net]
こんな画面です
i.imgur.com/nYnWMt8.jpg

751 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:04:43.11 .net]
imgur.com/a/4AcVm



752 名前:takesi mailto:sage [2016/01/23(土) 22:06:10.16 .net]
その通りになりません

753 名前:takesi mailto:sage [2016/01/23(土) 22:07:21.59 .net]
リベース結果
HEADはすでに最新の状態のためリベースは何もしませんでした
と出ます

754 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:08:41.92 .net]
どっちもチェック入れないでやってみて

755 名前:takesi mailto:sage [2016/01/23(土) 22:10:23.36 .net]
そうすると>>753になります

756 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:11:31.49 .net]
よしもっかいチェックアウトからやり直したほうがいいな

問題解いたファイルをどっかにコピーしといて
プロジェクトを右クリック→削除
Gitリポジトリ・エクスプローラーで右クリック→リポジトリの削除

終わったらもっかいGitの複製→インポート
その後コピーしといたファイルで上書きしてコミット→プッシュ

757 名前:takesi mailto:sage [2016/01/23(土) 22:16:28.78 .net]
やってみても以前と同じ状態になってコミットできません

758 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:23:26.30 .net]
削除の時に出るチェックボックスチェックつけてもっかいお願い

759 名前:takesi mailto:sage [2016/01/23(土) 22:26:55.43 .net]
全てにチェック入れても再び行うと元の状態に戻っています

760 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:36:25.51 .net]
チーム→切断
チーム→プロジェクトの共有
Git
imgur.com/TkvgQp2

761 名前:takesi mailto:sage [2016/01/23(土) 22:39:26.70 .net]
やりました
次にどうすればいいのでしょうか



762 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:40:17.85 .net]
またコミット→プッシュしてみて

763 名前:takesi mailto:sage [2016/01/23(土) 22:41:20.53 .net]
…(;´Д`)ウウッ…
できません

764 名前:takesi mailto:sage [2016/01/23(土) 22:46:42.65 .net]
teamviewer使ってみます
ID送ります

765 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 22:49:23.02 .net]
プロジェクトを右クリック
プロパティでプロジェクトの置き場所確認してください

766 名前:takesi mailto:sage [2016/01/23(土) 22:52:52.47 .net]
送りました
操作できますか?

767 名前:takesi mailto:sage [2016/01/23(土) 23:01:01.71 .net]
これからの変更はコミットすれば届くのでしょうか

768 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 23:01:32.77 .net]
できましたね

さっき行った操作のおさらい
マージとは
同じファイルを編集してしまった場合あとからプッシュする人が
何が二人の更新を合わせたうえで正しいか判断する必要がある
その作業をマージという
gitでは衝突(まったく同じ個所を編集)していなければ大体勝手にマージしてくれる

769 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 23:03:21.86 .net]
そうです

またnon-fast-forwardと出たら
1.プルして再度コミット→プッシュ
2.フェッチしてマージして再度コミット→プッシュ
が原則です

770 名前:takesi mailto:sage [2016/01/23(土) 23:05:45.39 .net]
分かりました!
とりあえずGithubでファイルが共有できるまでになりました
自分で課題を進めていきます
今日はありがとうございました

771 名前:takesi mailto:sage [2016/01/23(土) 23:07:06.59 .net]
私は学生で受験生なので低浮上になるかもしれませんがよろしくお願いします
3月中頃から春休みで本格的に勉強ができますが、それまでもできるだけ毎日顔を出したいと思います



772 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/23(土) 23:07:49.55 .net]
乙です
次の課題用意+講義内容まとめときます
わかんないとこあったらカキコよろです

773 名前:takesi mailto:sage [2016/01/23(土) 23:13:32.30 .net]
わざわざありがとうございます
期待に沿えるよう頑張ります

774 名前:takesi mailto:sage [2016/01/24(日) 13:30:33.40 .net]
おはようございます
課題に取り組みます
特に配列の理解が甘いみたいなのでググりながら解いていきます

775 名前:takesi mailto:sage [2016/01/24(日) 14:34:23.47 .net]
Exam4,7以外は終了しました
コミット完了です

776 名前:takesi mailto:sage [2016/01/24(日) 17:10:58.24 .net]
いま確認したらコミットできてませんでした
なぜだろう

777 名前:takesi mailto:sage [2016/01/24(日) 17:16:19.68 .net]
昨日のことを思い出しながら闇雲にボタン触ってたら出来ました
こんなんでいいのやら

778 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 17:45:37.57 .net]
うごきゃあいいんだよ

779 名前:takesi mailto:sage [2016/01/24(日) 18:15:09.77 .net]
Exam4,7は分かりません
他の問題もググりながら解きました
難しいですね

780 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 19:48:15.04 .net]
じゃあ4,7のヒント出す
4
「abcdefghijklmnopqrstuvwxyz .,-」
をcharの配列で持つ
charを渡してその配列の何番目の文字(int)か調べる(関数化するとよい)
暗号の文字列を上の処理を使ってintの配列に直す
その配列すべてに同じ数xを足す
30(文字の種類数)を超えたものは30を引く
intの配列をまたcharの配列に戻す
charの配列中に「person」の並びがあるか調べる
並びがあればその並びが正解
このような数xを探す

7
たらいまわし関数とは
まずxとyを比較し
yのほうが大きければ
return y;
そうでなければ
int newX = tarai(x-1, y, z);
int newY = tarai(y-1, z, x);
int newZ = tarai(z-1, x, y);
return tarai(newX, newY, newZ);
する関数。

781 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 19:56:30.87 .net]
今日はどれやりたい?
関数について
オブジェクト指向について
パッケージとアクセス修飾子について



782 名前:takesi mailto:sage [2016/01/24(日) 20:17:01.44 .net]
オブジェクト指向についてお願いします

783 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 20:32:16.57 .net]
把握
関数については知ってるものとしてやるよー

オブジェクト指向とは
nobuo-create.net/java-beginner-17/
よく言われるのはものを基準にプログラミングを考えるということ
生徒というオブジェクトを考える
生徒には名前と学年という情報(もっとあるがここでは省略)がある
3人の生徒
takesi:1年生
John:2年生
Suzuki:3年生
がいた場合
オブジェクト指向を使わないでこの情報を持つとしたら
String[] names = new String[]{"takesi", "John", "Suzuki"};
int[] grades = {1, 2, 3};
とかやるわけだが、一人の情報は一人の情報でまとめて持っておきたい
そのためJavaではクラスというものを使ってオブジェクトを作る
その場合以下のようになる
class Student {
String name;
int grade;
};
Student students = new Student[3];
Student takesi = new Student;
takesi.name = "takesi";
takesi.grade = 1;
students[0] = takesi;
…以下略

784 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 20:39:19.09 .net]
この一つのオブジェクトに属する情報は一つのオブジェクトに持たせる
というのがカプセル化とか呼ばれるオブジェクト指向に必要な要素を実現させる

カプセル化とは
学年ではなく中身では生年月日とかで情報を持っているけど
その情報は教えずに何学年かという情報だけ教えたいということがある
このとき外部から不必要な情報(今の例では生年月日)は直接アクセスできず
アクセスが許可されている情報(今の例では学年)にのみアクセスできると
情報の安全性を保つことができる
このように情報を内部に持つこと(および外部からアクセスできる情報とできない情報を管理すること)
をカプセル化という

今回は学年と年齢という情報がカプセル化されたことになる

785 名前:takesi mailto:sage [2016/01/24(日) 20:43:43.29 .net]
関数は概要は理解していますが
Pythonで理解したのでコードはかけません
そこは自習します

786 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 20:46:55.26 .net]
今クラスの中には名前と学年の変数(情報)がある
生徒というオブジェクトには名前を名乗るというメソッド(行動)が可能であるとしよう
その場合
class Student {
String name;
int grade;

String getName() {
return "My name is " + name;
}
}

などとしてやれば生徒オブジェクトに自己紹介をさせることが可能になる
このようにカプセル化では変数だけではなく関数も内部に持たせることができる


あ、あとでまとめてStudentクラスコミットするから細かいとこ気にしなくていいよ

787 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 20:53:04.61 .net]
以上のように情報を持ち行動が規定されているものをプログラミングでは
カプセル化されたオブジェクトという

課題:Studentクラスを参考にしながらTeacherクラスを作成せよ
ただしTeacherクラスは名前と担当教科の情報を持ち
授業の最初に挨拶「おはようございます。(教科名)の授業を始めます」する行動
ができるものとする

788 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:01:51.47 .net]
コミットした
プルしてね

789 名前:takesi mailto:sage [2016/01/24(日) 21:22:43.18 .net]
コミットしました
書経のような感じでしたが
理解できるように考えながらコードを書きました

790 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:25:44.45 .net]
いい感じ
続いて
課題:Teacherクラスにも自己紹介「My name is 〜〜〜」するメソッドを追加せよ

791 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:32:11.02 .net]
やってる間に次の話題書いとく
ここでTeacherクラスにもStudentクラスにも
name変数
が存在し、
getName関数
が全く同じ内容で存在することに気付く
これは何度も書くのは無駄無駄無駄ァ
これはなぜか考えると
生徒も教師も人である
人だから名前を持っている
また自己紹介もする
ということは生徒も教師も
name変数
を持ち
getName関数
を持つHumanクラスという風に考えられる

Javaではこれを

class Human {
String name;
String getName() {
return "My name is "name;
}
}

class Student extends Human {

}
のようにする
これを継承という



792 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:37:04.19 .net]
継承とは
基本となるクラス(基底クラス・親クラス)から
それらの要素を引き継いだ新しいクラス(派生クラス・子クラス)
を作ること
派生クラスでは基底クラスのメソッド以外に派生クラスで独自に追加した
変数やメソッドを利用できる
また基本となるクラスには(基本的に)制限はなく
派生クラスの派生クラスといったものも作れる

793 名前:takesi mailto:sage [2016/01/24(日) 21:39:40.63 .net]
>>769の通りにしているはずがコミットできません

794 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:43:37.56 .net]
ウボァ
プルした?
そのあとアップストリームへプッシュした?

795 名前:takesi mailto:sage [2016/01/24(日) 21:45:55.85 .net]
アップストリームにプッシュすると
non-fast-forward
と出てきます

796 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:48:17.04 .net]
うーん
マージは?

797 名前:takesi mailto:sage [2016/01/24(日) 21:49:39.92 .net]
マージすると
結果 失敗
とでます

798 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:51:26.62 .net]
じゃあリベースは?

799 名前:takesi mailto:sage [2016/01/24(日) 21:56:40.77 .net]
いじってたらしばらくして
HEAD はすでに最新の状態のためリベースは何もしませんでした
と出ました

800 名前:takesi mailto:sage [2016/01/24(日) 21:57:58.93 .net]
いきました!
リベースのリセット?のあとプッシュでいけました

801 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 21:59:14.89 .net]
あ、きたね
じゃあ続き
Humanのクラスコミットすんね



802 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 22:06:13.73 .net]
pullよろ

Humanクラスについてもう一つ考えてみよう
人間には性別というものがある
そこで

課題:Humanクラスにgender(性別)メンバー(変数)を追加し
それを設定する関数setGenderと取得する関数getGenderを追加せよ
その後Studentクラスの自己紹介でgetGenderせよ

803 名前:takesi mailto:sage [2016/01/24(日) 22:09:37.55 .net]
うーむ、難しい
時間がかかりそなので宿題ということで考えておきます

804 名前:takesi mailto:sage [2016/01/24(日) 22:12:00.79 .net]
>>771の通り学業が忙しため平日はあまり時間が取れません
受験が終われば時間が取れるようになるのですが…

805 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 22:14:06.78 .net]
了解
次はオブジェクト指向の続きからね

流れ
継承

多態性(オーバーロードおよびオーバーライド)

継承その2(仮想関数)

テンプレートクラス

アクセス修飾子

それとは別に演習作っとく

806 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/24(日) 22:14:55.55 .net]
ゆっくりで構わんよ
っていうか自分も平日疲れてすぐ寝るからそのほうがありがたい

807 名前:仕様書無しさん mailto:sage [2016/01/24(日) 22:55:35.64 .net]
なにこのスレすごい
あとで読み返してみる

808 名前:仕様書無しさん mailto:sage [2016/01/25(月) 01:05:24.47 .net]
String[] names = new String[]{"takesi", "John", "Suzuki"};
int[] grades = {1, 2, 3};

のほうがはるかに合理的 データ0番、1番、2番って番号で管理できる
Suzukiが5人いたとしても番号が一意で分かれているから混同もしない
人間クラスから派生して生徒、教師ってのも変 役割が根本的に違うのだからそれぞれ別でいい
学校クラスがないのも変だな〜 学校クラスにそれぞれの生徒と教師がメンバとしているはずだ

809 名前:takesi mailto:sage [2016/01/25(月) 02:04:03.82 .net]
眠れないので課題やってみました
全く分かりません
どこからの知識が抜けてるのやら
Teacherクラスをコピペ改変したようなコードしか書けませんでした

810 名前:takesi mailto:sage [2016/01/25(月) 02:09:44.46 .net]
どこを勉強すればいいのでしょうか
今日はまとまった時間が取れそうなので勉強します

811 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/25(月) 22:04:30.90 .net]
あれで問題ない
最初はまねて
次は少し変えてみて
最後に自分で書けるようになればいい

Exam4穴埋め式にした
何か好きなパズルとかある?それ題材にする



812 名前:takesi mailto:sage [2016/01/25(月) 22:08:34.00 .net]
あれでいいんですか?!自身なかった
自分で書けるのか不安だったけど安心しました

あんまりパズルはしませんが…
クロスワードはやったことあります

813 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/25(月) 22:09:29.88 .net]
クロスワードはちょっと向かないなぁ
数独とかカックロとか数字しか使わない系で

814 名前:takesi mailto:sage [2016/01/25(月) 22:14:32.67 .net]
数独はやったことあります

815 名前:takesi mailto:sage [2016/01/25(月) 22:28:17.49 .net]
Exam4難しい‥
ちんぷんかんぷんです

816 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/25(月) 22:31:44.49 .net]
じゃあオーソドックスに数独にしとこうか
平日は演習問題の形でコミットするからそれとくような感じで
休日が昨日みたいな感じで
最初は強く当たって後は流れで

817 名前:takesi mailto:sage [2016/01/25(月) 22:37:43.22 .net]
了解しました

818 名前:takesi mailto:sage [2016/01/25(月) 22:47:49.69 .net]
Exam4は分かりません
どこか復習が必要でしょうか

819 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/25(月) 23:00:28.78 .net]
じゃあそれは飛ばして答えコミットする
土曜はそれの解説からね

820 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/25(月) 23:01:26.95 .net]
できたとこまででいいからコミットしてくれたらヒント書いて返す

821 名前:takesi mailto:sage [2016/01/25(月) 23:09:04.26 .net]
全く手を付けられませんでした



822 名前:仕様書無しさん mailto:sage [2016/01/26(火) 09:52:55.08 .net]
すみません


C言語ができれば


ずっと食べていけますかね?

android からwindows のソフトまで作れますよね???

823 名前:仕様書無しさん mailto:sage [2016/01/28(木) 20:55:55.34 .net]
なにこれ、本気で教育が始まってるの?

824 名前:takesi mailto:sage [2016/01/30(土) 19:17:22.28 .net]
受験との両立をしようと思っていたのですが
学校も忙しくなり受験も追い込み時期になったことで余裕がなくなってしまいました
3月12日から再開させてもらってもよろしいでしょうか

825 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/01/30(土) 21:08:54.99 .net]
ええよ
スレなくなってたら建ててな

826 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/01/30(土) 21:24:27.65 .net]
ありがとうございます
3月12日にもどってきます
トリップつけときます

827 名前:仕様書無しさん mailto:sage [2016/01/31(日) 08:57:35.56 .net]
>>208
ベクターとかストアに作品のせれば経験になりますか?

828 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/12(土) 07:28:09.90 .net]
おはようございます
今日から再開お願いします
課題に手を付けます

829 名前:仕様書無しさん mailto:sage [2016/03/12(土) 11:53:24.79 .net]
>>828
まずは空白期間に身に付けたスキルを洗い流したまえ

830 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/12(土) 14:32:39.08 .net]
>>829
Unityの基本操作とC#を少々
受験が忙しくてあまり手を付けてません

831 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/12(土) 15:38:19.90 .net]
再開すんよ
まずExam4の解説からでおk?



832 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/12(土) 16:32:09.63 .net]
はい、お願いします
Exam10も分かりそうにないです
11、12は今から取り組みます

833 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 00:22:17.64 .net]
ホワイトデーのお返し作ってて遅れた
exam4から


シーザー暗号を解きなさい

まず手で解いてみる
一文字ずつずらしていき中に「person」があれば答え

プログラムで解釈する

1.文字列をn文字ずらす
2.中にpersonが含まれるか調べる
3.含まれていればそれを表示して終了、含まれていなければnに1足して1からやり直し

もう少しプログラムっぽく
for (int n = 0; n < 文字の種類数; n++) {
String text = n文字ずらした暗号;
if (textに「person」が含まれていたら) {
system.out.println(text);
break;
}
}

これを実装していくことになる

834 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 00:32:35.66 .net]
・文字の種類数
まず文字のchar配列を作っておく
そうすることでずらす処理や文字種数を取得するのに便利になる

static final char[] chars = {
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',' ','.',',','-'
};

そうしたうえで配列の要素数はlengthで取得する
つまり
chars.length

・n文字ずらした暗号
文字列を文字ごとに分解して分解した文字をn文字をずらす
もともと暗号文はcharの配列であるので暗号文に対してforで一つずつアクセスし
n文字ずらした文字を取得すればよい
この最中するのが文字種数30より大きくなったaに戻ることを考慮すること
これは30で割ったあまりとすれば解決できる

・textに「person」が含まれていたら
StringにはindexOfというメソッドがありそれによって文字列が含まれているかどうかを調べることができる
indexOfで文字列が含まれていない場合は返り値は-1になる

835 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 00:39:43.32 .net]
Exam10ヒント
数列の状態は
int[9][9]の配列で持とうExam8参照

まずは枠線なしで数字のまま出力することを目標にする

その後0だったら0でなくスペースを表示するように変更する

最後に枠線を表示する
上と下の枠線は固定で構わない
左右の枠線は数字を表示する前と後に「|」を表示すればよい

表示する関数は
System.out.println()

System.out.print()

上は出力したら改行も出力され
下は改行は出力されない
使い分けよう

836 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/13(日) 06:51:26.23 .net]
すみません昨日は私用で全く課題ができませんでした
今日も19時まで予定があるのでそれ以降に取り組みます
空いた時間に解説理解しておきます

837 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 20:01:30.22 .net]
こっちも今体空いた
次の課題とか用意しとく
終わり次第多態性についてやるよ

838 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 20:40:52.29 .net]
課題1個追加した
プル忘れないでね
多態性についてやるから適当なところで切り付けて

839 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/13(日) 20:47:28.57 .net]
今やっと私用が終わりました
今から取り組みます

840 名前:仕様書無しさん mailto:sage [2016/03/13(日) 20:59:23.27 .net]
同じような境遇のものとして応援してます
頑張って

841 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/13(日) 21:28:43.66 .net]
最近の課題は僕には解けないものが多いのですが、基本がなってないのでしょうか?
やり方は分かるのですがコードに置き換えられません
今日は次の説明をお願いします
明日じっくり課題をやります



842 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 21:55:33.42 .net]
単純に慣れの問題じゃないかな
写経量が少ない
今は調べてパクるだけでいい
そのうちここ変えたらどうなるかなって思ったら
実際やってみて違いを調べたりしてみるとよさげ

じゃあ多態性について
オブジェクト指向の重要な要素の一つ多態性(ポリモーフィズム)
ttp://www.nulab.co.jp/designPatterns/designPatterns1/designPatterns1-4.html#%E3%83%9D%E3%83%AA%E3%83%A2%E3%83%95%E3%82%A3%E3%82%BA%E3%83%A0
多態性とは
別のオブジェクトに対し同じ関数を定義したいことがある
例えば生徒と教室の二つのオブジェクトがあるとする
この二つは共通の親クラスを持っているわけではない
しかし、両方とも名前(String name)を持っており
名前を取得する共通の関数(getName)を作りたいと思っているとする
この際引数として渡されるオブジェクトによって挙動を変える関数が作ることができる
これを多態性という。

Javaにはオーバーライドとオーバーロードという二つの多態性の実現方法がある。
オーバーライド:二つのオブジェクトが親子(継承の親子)関係にある時親クラスで定義されたものを子クラスで再定義すること
例)HumanクラスとProfessorクラス
class Human {
String name;
String getName() {
return name;
}
}
class Professor extends Human {
String getName() {
return "Prof."+name;
}
}

843 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 22:04:25.17 .net]
オーバーロード:二つのオブジェクトがどのような関係であろうとかまわないが、
同じ関数の引数として違うオブジェクトを渡した際に違う挙動を定義すること
例)ClassRoomクラスとStudentクラス
String getName(ClassRoom classRoom) {
return classRoom.name + " class";
}
String getName(Student student) {
return "student:" + student;
}


以上からわかるように
オーバーライドはメンバー関数のみ
オーバーロードはどのような関数でもできるといった違いがある

今はそのようなものがあると知っておくだけでおk
気づかないうちに使ってて、あとからこれが多態性だったのかってなると思う

844 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/13(日) 22:17:48.08 .net]
習うより慣れろ
課題:Humanクラスで実装されているメンバー関数getNameをStudentクラスでオーバーライドせよ
その再表示する内容は
My name is 〜〜〜

I'm 〜〜〜
にせよ

課題:PrintUtilクラスを作成せよ
PrintUtilクラスには以下の二つのオーバーロードした関数を作成せよ
public static void printName(Human x) {
//ここに表示処理を書く
}

public static void printName(Teacher x) {
//ここに表示処理を書く
}

Humanを渡した関数はnameを表示(System.out.printlnするだけ)
Teacherを渡した関数はnameの前に「Mr.」をつけて表示せよ

その後
Student student = new Student();
student.name = "takesi";
PrintUtil.printName(student);
としてどのように表示されるか確認しその理由を考えよ

845 名前:仕様書無しさん [2016/03/14(月) 08:39:59.84 .net]
良スレage

846 名前:仕様書無しさん [2016/03/14(月) 11:07:56.73 .net]
FJネクスト エフ・ジェー・ネクスト 迷惑勧誘電話7 [無断転載禁止]・2ch.net

hayabusa6.2ch.net/test/read.cgi/estate/1457609776/

847 名前:takasi mailto:sage [2016/03/14(月) 20:24:33.70 .net]
お久しぶりです
職業訓練校のプログラミングコースに合格したので4月から通うことになりました
たけしくん、お互いがんばりましょう

848 名前:仕様書無しさん mailto:age [2016/03/14(月) 20:50:44.53 .net]
あげ

849 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/14(月) 21:21:45.84 .net]
今日も忙しくてできませんでした
疲れたので寝ます
明日で卒業なのでこれからはちゃんと時間が取れるようになります
何度もすみません

850 名前:仕様書無しさん mailto:sage [2016/03/15(火) 18:05:56.72 .net]
>>847
職業訓練通ってたが明らかに君はそのレベルを超えてるね
多分javaでweb系のアプリ作ったり、androidアプリ作ったりすると思うけど
プログラムなんか言語が違くてもだいたいやることは一緒だからjavaもずっと出来るのかな
まあお金ももらえるし、プログラムだけじゃなくてインターネットの仕組みやらコンピュータの仕組みやらを勉強できるから頑張りな

851 名前:仕様書無しさん mailto:sage [2016/03/15(火) 18:06:37.05 .net]
javaもずっと→すっと



852 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/16(水) 22:28:22.36 .net]
だいぶ粘ったのですがExam10,11,12,13は分かりません

853 名前:仕様書無しさん mailto:sage [2016/03/16(水) 22:51:23.20 .net]
スレにも問題公開していただけませんか?
私も挑戦してみたいです

854 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/17(木) 21:08:43.46 .net]
https://github.com/tamochu/neet1programming
は公開リポジトリだから勝手に見てね
一応何も書いてない問題のほうをexam/original
に置いたからそっち見るとよいかと思われ

855 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/17(木) 21:13:29.04 .net]
>>852
あいよじゃあ解説してく
あと次から問題レベル下げたほうがいい?
↑の844の課題はやっといてね

Exam10.part1
9×9のintの配列を用意せよ

Exam10.part2
上の配列をすべて0で初期化せよ。
(厳密には既に初期化されているが明示的に初期化せよ)

まずはここまでやってコミットよろ

856 名前:仕様書無しさん mailto:sage [2016/03/18(金) 23:52:52.65 .net]
>>854
ありがとさんです

857 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/20(日) 10:20:50.34 .net]
進学の準備やらで忙しく課題ができませんでした
今日は予定がないので今から取り組みます

858 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/20(日) 11:44:15.30 .net]
わかる範囲でやってみました
完全に感覚です

859 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/20(日) 12:13:26.19 .net]
赤入れたからプルしてね
今はこんな感じかなでいい
間違えたほうが経験になるしね

Exam10.part3
できた配列の数字を表示する
→OK

Exam10.part4
各行の始めと終わりに「|」を出力する
System.out.print("|");
を行えばよい。

Exam10.part5
表示する前と後に「+-----------------+」を表示する
System.out.println("+-----------------+");
を行えばよい

次ここまでね

860 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/20(日) 13:21:11.96 .net]
すみません用事が出来てしまいました
また夕方頃に再開します

861 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/20(日) 19:59:56.41 .net]
コミットしました



862 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/21(月) 11:14:11.62 .net]
あとはデータを入れる
Exam10.part6
穴埋め問題にするのでプルして解くこと

Exam10.part7
0はスペースで表示にする
System.out.print(sudoku[a][b] + " ");

if (〜〜〜) {
System.out.print(sudoku[a][b]);
} else {
System.out.print(" ");
}

と変更し〜〜〜を適切な条件句に直しなさい

863 名前:仕様書無しさん mailto:sage [2016/03/21(月) 15:48:55.73 .net]
懐かしいな
コンソールでオセロとかやったな

864 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/21(月) 16:37:59.02 .net]
コミットしました

865 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/21(月) 18:03:51.60 .net]
おk
Exam10はそのまま発展問題にしていくからちょい待ってね

Exam11.part1〜3
Exam12.part1〜3
課題:数値のソートとは何か調べなさい
課題:数値の配列「4,3,8,1」を小さい順に並べなさい。ただし過程を細かく記述すること。
課題:プログラムでのソートの実装方法を3つ挙げなさい(中身を理解する必要はない)

Exam13.part1
課題:平方根とは何か述べよ

866 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/21(月) 18:11:42.38 .net]
Exam10をもとに数独解くプログラム作ってくよ
Sudokuクラス作ったのでそっち見てね

課題:表示する処理を関数化せよ
ただし以下の2通りで関数化すること
public void print(){}
public static void printState(Sudoku x){}
上はメンバー関数としてthis.sudokuを表示させる。
下はスタティック関数としてSudokuクラスを受け取りx.sudokuを表示させる。

ヒント:上の実装にはsudokuをSudokuクラスのメンバーに持てばよい。

867 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/21(月) 19:12:06.12 .net]
>>865
コミットしました

868 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/21(月) 19:19:41.00 .net]
>>866
わかりませんでした
関数の知識が乏しいのでしょうか
課題の意味があまり理解できません

869 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/22(火) 21:20:23.44 .net]
プルした
まずソートの解説から
ソートとは:特に解説無し

小さい順に並べる:これはクイックソートと呼ばれるソートの考え方です。
とても速いといわれるソートの一種で実装は再帰を使った方法などいくつかあります。

実装方法:
1.バブルソートがこれになります。
バブルソートとはソートの様子を可視化した際に
泡(小さい値)が水面(列の最初)に上がっていくようであることから名づけられました。
海底(列の最後)から水面(列の最初)まで隣り合った値を比較し、
大小が逆なら入れ替えを行うと、
水面(列の最初)には泡(最小の値)が来る。
これを水面を下げながら行うことで全ての列がソートできるというもの。

例)
4381
  ↑↑
8>1なので入れ替える
4318
 ↑↑
3>1なので入れ替える
4138
↑↑
4>1なので入れ替える
1438←一番小さい「1」が列の最初に来た。水面を下げてまた海底から。

870 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/22(火) 21:27:04.37 .net]
1 438
   ↑↑
3<8なので入れ替え無し
1 438
  ↑↑
4>3なので入れ替え
1 348←2番目に小さい「3」が2番目に来た。同様に3番目。

13 48
   ↑↑
4<8なので入れ替え無し
1348
ソート完了

これをふまえてExam11に再チャレンジ

ヒント
int a[2] = {1, 3};
の入れ替えは以下のように行う
int x = a[0];
a[0] = a[1];
a[1] = x;

n番目とm番目なら
int x = a[n];
a[n] = a[m];
a[m] = x;

n-1番目とn番目なら…

871 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/22(火) 21:38:07.95 .net]
2.これは選択ソートと呼ばれるソート方法になります
一番小さい数を探し(選択し)最初に持ってくる。
残りからまた一番小さい数を探し(選択し)最初に持ってくる。
以下繰り返しで、最後まで行うとソートが完了する。

例)
4318
「4318」の中で一番小さいのは「1」
1番目と「1」を入れ替える
1 348
「348」の中で一番小さいのは「3」
2番目と「3」を入れ替える(もともと2番目なので入れ替え無し)
13 48
「48」の中で一番小さいのは「4」
3番目と「4」を入れ替える(もともと3番目なので入れ替え無し)
1348
ソート完了

同様にExam12に再チャレンジ

ヒント
一番小さい数を探すときにその場所も一緒に覚えておく。
一番小さい数だけを探す方法は以下のように行う。
int a[4] = {4, 3, 1, 8};
int min = a[0];
for (int i = 1; i < a.length; i++) {
if (a[i] < min) {
min = a[i];
}
}



872 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/22(火) 21:53:01.98 .net]
3.これがクイックソートになります
なぜ早いかはググれ
というわけでExam14でクイックソートを実装してもらいます。
勿論11,12が終わったのち。

次、関数について
関数とは
プログラミングにおいては処理の集合を関数と呼ぶ。
集合なのでもちろん1つの処理だけでも良いし、何千何万個もの処理の集まりでも良い。
処理の集合をまとめて一つのものに定義すると何がうれしいかというと、
同一処理を繰り返し書かなくてもよいということである。

例えば1〜10の2乗-1の値を表示する場合何も考えずに書くと
System.out.println((1 * 1) - 1);
System.out.println((2 * 2) - 1);
System.out.println((3 * 3) - 1);
System.out.println((4 * 4) - 1);
System.out.println((5 * 5) - 1);
System.out.println((6 * 6) - 1);
System.out.println((7 * 7) - 1);
System.out.println((8 * 8) - 1);
System.out.println((9 * 9) - 1);
System.out.println((10 * 10) - 1);

となる。
これではプログラムより電卓を使ったほうがいいかもしれない。

873 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/22(火) 22:12:29.04 .net]
関数を使う場合は
int func(int n) {
return ((n * n) - 1);
}
System.out.println(func(1));
System.out.println(func(2));
System.out.println(func(3));
System.out.println(func(4));
System.out.println(func(5));
System.out.println(func(6));
System.out.println(func(7));
System.out.println(func(8));
System.out.println(func(9));
System.out.println(func(10));

となる。
関数には引数と呼ばれるものがあり、
それを受け取り引数ごとに違う処理をしたり、
違う結果を返したりすることができる。
また、Javaのオブジェクト指向ではメンバ関数と呼ばれるインスタンスの処理を定義することができる。
HumanクラスのgetName関数などがメンバ関数となる。
メンバ関数はそのインスタンスの変数にアクセスできるため、
引数として渡されているような挙動が可能である。

逆にインスタンスに(あまり)関係のない挙動をふるまう関数を
静的関数、スタティック関数などと呼ぶ。
staticを関数の宣言部につけ、関数から参照できるのは
(基本的に)そのクラスのstaticな変数か
引数として渡された変数のみである。

以上を踏まえて
課題:Sudokuクラスの70〜84行目を何でもよいので関数化せよ

874 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/23(水) 11:57:39.19 .net]
コミットしました
Exam11はできましたが12と関数についてはわからなかったのでなんとなくでやりました

875 名前:仕様書無しさん mailto:sage [2016/03/25(金) 00:11:55.28 .net]
>>1
はしめてのC!!

876 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/26(土) 10:17:44.28 .net]
12と関数赤付けた。コメント見ながらもっかいやってみてね
関数についてはここでも少し解説
Javaでは関数の中に関数(クロージャという)は作ることはできない
public static void main(String[] args)
も関数の一つで実行するときクラス内にこれがあればこれを呼ぶという特権がついている
関数は基本的にクラスの直下に記述する。
class Hoge {
public static void main(String[] args){

}
void print(){

}
static void printState(Hoge hoge){

}
boolean isHuga(){

}
static boolean nearlyEquals(Hoge a, Hoge b) {

}

}
ダメな例
class Piyo{
public static void main(String[] args){
print(){

}
}
}

877 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/03/26(土) 10:50:47.42 .net]
Exam13
探査とかいうプログラミングの問題
数あてゲームの自動化したものと考えればよい

数あてゲーム(Exam14に差し込んでやります)
1.AとBの二人で行う
2.まずAが好きな数を頭の中で決める
3.Bが数を言う
4.同じか大きいか小さいかをAが答える
5.同じでなければ3からやり直し

これを少数にして「同じ」の範囲をある程度決めたものがExam13
上の例でいうと
2.Aが√2を頭の中で決める
3.Bが少数を言う(x)
4.精度2桁とすると
x<1.40:小さい
1.40<=x<=1.42:同じ
1.42<x:大きい
とAが答える
問題と考えればいい

まずは数あてゲームをExam14で作る。
プルして上から順に解くこと
調べてもわからなくなった時点で一旦手を止めここに書き込むこと

878 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/03/28(月) 19:38:29.48 .net]
用事が入ってしまい1日まで課題ができません
度々すみません

879 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/04/02(土) 12:56:42.03 .net]
8日からのスタートでお願いします
また用事が入ってしまいました
すみません

880 名前:仕様書無しさん mailto:sage [2016/04/09(土) 16:12:40.41 .net]
>>8
>>ファイルを作成、編集しました!

と画像がありますが、

どうすれば、画像のようにメモ帳に文字を出せるのでしょうか?

どうぞよろしくお願いします。

881 名前:仕様書無しさん mailto:sage [2016/04/09(土) 20:56:22.07 .net]
>>880
全角キーを押してローマ字入力、変換



882 名前:仕様書無しさん mailto:sage [2016/04/09(土) 21:13:04.13 .net]
>>881
ご回答ありがとうございます。

できれば、もう少し詳細に教えていただけないでしょうか?

全くの初心者なものですから…。

883 名前:仕様書無しさん mailto:sage [2016/04/09(土) 21:24:41.83 .net]
>>882
プログラミングの前にパソコンの使い方を勉強した方がいい

884 名前:仕様書無しさん mailto:sage [2016/04/09(土) 21:49:19.68 .net]
ここにもスマホバカが

885 名前:仕様書無しさん mailto:sage [2016/04/10(日) 08:31:07.34 .net]
>>8
バイナリエディタに入力したものを、メモ帳にどうやって反映させるのでしょうか?

886 名前:仕様書無しさん mailto:sage [2016/04/10(日) 09:08:12.73 .net]
>>885
保存して開き直す

887 名前:仕様書無しさん mailto:sage [2016/04/10(日) 10:21:03.79 .net]
https://gyazo.com/830212aa2b0f04618cf808d9e279eb0a

「俺の名前はタカシだ」と入力したつもりが、上記のように記号がいくつかでてくるだけです。

888 名前:仕様書無しさん mailto:sage [2016/04/10(日) 10:22:53.68 .net]
https://gyazo.com/830212aa2b0f04618cf808d9e279eb0a

「俺の名前はタカシだ」と入力したつもりが、上記のように記号がいくつかでてくるだけです。

889 名前:仕様書無しさん mailto:sage [2016/04/10(日) 11:22:40.57 .net]
>>888
メモ帳に入力する

890 名前:仕様書無しさん mailto:sage [2016/04/10(日) 11:40:39.83 .net]
>>889
ああ、そういう意味だったんですね。

私は、バイナリエディタに入力したものが、連動してテキストのメモ帳に表記されるものと思っていました。

どうも、失礼致しました。

また、解らないことがあったら、またよろしくお願いします。

891 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/04/11(月) 20:58:15.27 .net]
遅れて申し訳ありません
できるところまでコミットしました
全然できませんでした
出来が悪くてすみません



892 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/04/13(水) 18:35:25.04 .net]
最初からできる人なんていないから。
また赤付けた
というより若干答え書いた
差分のところよく見て理解してね
またできるとこまでtry

893 名前:takesi ◆5LQe9dJ7ck mailto:sage [2016/04/16(土) 19:22:15.22 .net]
遅くなってすみません
コミットしました

894 名前:仕様書無しさん [2016/04/16(土) 21:04:50.77 .net]
明日まで出先だから月曜日また赤つけます
次進めそうなら解説とかその時書く

895 名前:仕様書無しさん mailto:sage [2016/04/24(日) 15:02:23.98 .net]
NHK教育を見て49941倍賢く昼 [無断転載禁止](c)2ch.net
nhk.2ch.net/test/read.cgi/liveetv/1461474473/

896 名前:t.mourning ◆HeJleJP5y2 mailto:sage [2016/04/24(日) 23:28:48.01 .net]
遅くなったけどまた赤つけた
Exam12はあと一息がんば
Exam14はequalは一致を判定する関数なので比較には使いません
一応比較にはcompareToという関数があるが、この場合は一旦
lineを数値に変換してから<,==,>で比較しましょう
こっちはもう一息かな

897 名前:仕様書無しさん [2016/05/02(月) 16:19:36.60 .net]
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrent(Covenant)がオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise氏)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


通話料が激安になるブラステル(050 Free)で、かなり遅延や音声途切れが発生する方は、以下の設定を試してください
○ Wifiと3Gのコーデックは2つ(GSM、G.711u-Law)とも有効にしておく
○ エコーキャンセルをOFF(チェックを外す)にする
○ あとの設定はデフォルトのまま
blog.livedoor.jp/gnunobian/archives/52013458.html
上記の設定でも音質が良くならない人は、wolfsonの高音質チップを搭載した機種(Galaxy 初代S、S3、S6、 AQUOSPhone ZETA SH-06E、AQUOSPhone si SH-07E、AQUOSPhone Xx 206SH、 Galaxy Note II)に買い換えて下さい。

500円以下の格安SIMで使えて登録・月額無料、IPベース発信なら携帯へは5.5円/30秒、固定へは8円/3分(月額無料でこの価格はすごい!)
blog.jikoman.jp/2015/11/brastel-050-free.html

あと、050Freeの起動もしくは発着信が2週間以上ないとプッシュサーバー期限切れでプッシュ着信が出来なくなるので、Llama Location Profilesで1週間に一度050Freeを自動起動するように設定すると、2週間以上経過してもプッシュ着信できます


最後にロケットストーブの焚き口へ超省電力なDC扇風機で風を送ると、横引き煙突が12m以上あっても煙が逆流してきません。
よって、横引き煙突で超高効率な熱回収ができるので薪が少量で済みます
あと、燃焼室の大きさは『無煙竹ボイラMBG150』で検索して参考にして下さい
i.imgur.com/iVuglg9.jpg 
jp.misumi-ec.com/material/mech/KRT1/PHOTO/KRT1_221004926837.jpg
livedoor.blogimg.jp/zoukibayashinokai/imgs/2/a/2a3c6dc0.jpg


898 名前:仕様書無しさん [2016/05/05(木) 08:53:33.67 .net]
個数 名前
96 t.mourning ◆HeJleJP5y2
281 takasi
80 takesi
21 takesi ◆5LQe9dJ7ck
4 たかし
97 仕様書無しさん
318 片山博文MZ ◆T6xkBnTXz7B0

何でt.mourningと片山君は熱心なのか

899 名前:takasi mailto:sage [2016/05/22(日) 00:31:52.76 .net]
たかしです

この年で就職できるか不安です

たかしでした

900 名前:仕様書無しさん [2016/05/30(月) 05:44:44.02 .net]
たかしです・・・・たかしです・・・・たかしです・・・・

901 名前:仕様書無しさん mailto:sage [2016/05/30(月) 21:28:33.80 .net]
たかしかし



902 名前:takasi mailto:sage [2016/06/01(水) 22:14:23.52 .net]
たかしです

誰か僕を拾ってくれませんか

なんちゃって

たかしでした

903 名前:仕様書無しさん mailto:sage [2016/06/01(水) 22:28:51.79 .net]
>>902
スレの前半で片山さんと特訓してた、たかしさん?
職業訓練校は、どうだった?
まだ、通っているのかな?もう修了したのかな?

904 名前:takasi mailto:sage [2016/06/01(水) 23:26:23.70 .net]
はい、そのたかしです。まだ通校しております
訓練校はIT関連の知識を幅広く学べて良いと思います
企業とのマッチングの場も設けてくれます
ニート上がりの人にはリハビリになると思います
実際に生活リズムが改善されました

ただ、いまたかしは悩んでいます
いろんな事に悩みすぎて何に悩んでるのか分からない悩みです

905 名前:takasi mailto:sage [2016/06/01(水) 23:43:47.05 .net]
その悩みを話せる人がいないので自問自答の日々です・・・

906 名前:仕様書無しさん mailto:sage [2016/06/02(木) 00:30:09.75 .net]
>>904
おー、久しぶり。っていっても、自分はずっとROMってただけだけどね。
職業訓練校、まだ通っているんだね。ここに書き込んでた頃は、昼夜逆転した生活だったから、ついていけるか、ちょっと心配してたので、ほっとした。生活ペースが身に付いて、良かったね。

訓練校の同期の人たちと、悩みを話したりしないの? 訓練校をでた後の進路が、最大の悩みなのかな?

907 名前:仕様書無しさん mailto:sage [2016/06/13(月) 08:16:44.08 .net]
おれ訓練校出てプログラマーになったが、年齢が若い人ほど就職すぐ決まる
能力とかじゃない

908 名前:仕様書無しさん mailto:sage [2016/06/16(木) 00:58:20.35 .net]
年齢に応じた振る舞いが求められるのに若いのと同じ事してたら
そりゃ不利だわな

909 名前:仕様書無しさん mailto:sage [2016/06/22(水) 07:20:57.92 .net]
>>904
何にどう悩んでるのか説明してくれんと回答何もできないよ。
日本語が不自由なマはポイー。

910 名前:takasi mailto:sage [2016/06/22(水) 23:33:27.72 .net]
お返事放置していてごめんなさい
色々な悩みを話そうとした結果特定を恐れてあのような答え方になってしまいました
何分、プログラマ志望の訓練生というとかなり数が絞られてきますので
大多数に共通していて話せる部分としてはやはりスキルが無いのにプログラマになれるのかっていう所ですね
長いことニートをしていたので自信がないっていうのは中々改善が難しいものですね

911 名前:仕様書無しさん mailto:sage [2016/06/23(木) 08:01:19.89 .net]
大丈夫
最初はずっとテストだから
あと特定は難しいから安心しろ
全国に訓練所あるし、30人規模のクラスだし



912 名前:仕様書無しさん mailto:sage [2016/06/23(木) 08:02:59.11 .net]
プログラマーは本質的には君と同じで根暗タイプだから
みんな同じような人ばかりだよ
おれも学生時代は隅にいるような人間だったが、プログラマーになって自分みたいな人間しかいなくてほっとした

913 名前:仕様書無しさん mailto:sage [2016/06/24(金) 05:20:54.81 .net]
そりゃ底辺の零細企業の場合だね。大企業ならそうじゃない

914 名前:仕様書無しさん mailto:sage [2016/09/18(日) 00:54:31.17 .net]
このスレ、まだパート2に突入してなかったんだな…

915 名前:仕様書無しさん mailto:sage [2016/09/25(日) 22:45:24.09 .net]
>>910
とにかく実務のソースを全部理解しろ
就職前ならオープンソースでもいい
ニートがひっかかるのはコードリーディングだからな
業界によるけど、例えばひきこもってゲームばかり作ってた子は
データベースの処理でつまずいたりする
そんなときに既存ソースを要領よく読めるかどうかがカギになる

スキルが低くてダメになった子っていうのは基本的にほとんどいないからまぁ安心しろ
逆にプログラミングスキル以外に全く地震がなかったらプログラミングスキルだけ徹底的に伸ばせ
いかに素早く間違いなくやるかが大事
まぁやるかどうかは自由だが声が出ないとかの悩みがあるなら一人でカラオケいってこい

916 名前:仕様書無しさん mailto:sage [2016/09/25(日) 22:46:17.89 .net]
>>902
20代でちょこちょこっとVBの修正ができる程度のスキルがあって
それなりに会話が成り立つなら引く手数多だよ

917 名前:仕様書無しさん mailto:sage [2016/10/13(木) 03:56:14.05 .net]
>>7
職業訓練って民間委託で講師はピンキリだよ
職業訓練の生徒集めれば国から補助金もらえる仕組み
昔に異常な数MicrosoftOffice講座とかあったのはその補助金が美味かったから
普通に会員になる客は0だって良かった
職業訓練で回されてくるやつが5人ぐらいいれば儲け出てたからね

918 名前:仕様書無しさん mailto:sage [2017/04/02(日) 19:41:26.58 .net]
オープンソースの既存バグを直せる様になれば、こいつはそこそこ使えると判断されるかもね。

919 名前:仕様書無しさん [2017/06/13(火) 06:20:28.53 .net]
いいえ

920 名前:仕様書無しさん [2017/12/29(金) 20:51:14.77 .net]
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

XXCKUAQT8B

921 名前:仕様書無しさん [2018/05/22(火) 14:13:06.60 .net]
とても簡単な自宅で稼げる方法
参考までに書いておきます
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

KCGPB








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<200KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef