トップページ⇒tech
51コメント13KB

c言語で七並べのプログラムを作りたいんだが

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/02/19(日) 12:34:59.20
難しそうだなあ・・・
0002デフォルトの名無しさん2012/02/19(日) 12:38:22.37
どこがだよボケ
削除依頼出しとけ
0003デフォルトの名無しさん2012/02/19(日) 12:43:13.11
まずは七並べの要件定義書を提出してください
0004デフォルトの名無しさん2012/02/19(日) 12:51:42.07
★ようけんていぎしょ

自分と二人以上のコンピューターで七並べをやりたーい
0005デフォルトの名無しさん2012/02/19(日) 14:28:56.34
>>4
よし、ok
0006デフォルトの名無しさん2012/02/19(日) 14:51:06.43
とりあえず枚数割り振りするところまでできた

#include <stdio.h>

int main(void){

player player[5] = {{"あなた",0},{"COM1",0},{"COM2",0},{"COM3",0},{"COM4",0}};
int i, num, tramp = 0, cnt = 0;
printf("人数 :"); scanf("%d",&num);
while(1){
if(tramp + num > MAX)
break;
tramp = tramp + num; cnt++;
}
for(i = 0; i < num; i++)
player[i].mai += cnt; i = 0;
while(1){
tramp++;
if(tramp > MAX)
break;
player[i].mai++; i++;
if(i == num)
i = 0;
}
for(i = 0; i < num; i++){ printf("%s ",player[i].name); printf("%d枚\n",player[i].mai);}
return 0;
}
0007デフォルトの名無しさん2012/02/19(日) 21:48:05.65
割り振りはこれでいいんじゃね?
ttp://ideone.com/ReKhV
0008デフォルトの名無しさん2012/02/19(日) 22:58:01.98
つ、ついにシャッフルも完成した!

>>7
なるほど
0009デフォルトの名無しさん2012/02/20(月) 23:11:43.80
ジョーカーの使用はなしですか?
001012012/02/21(火) 00:27:17.39
考えてる。
まあ両隣のtrue、false判定させればいいからそんなに難しくない。
0011デフォルトの名無しさん2012/02/21(火) 00:34:47.58
どこに置くかの評価も重要だよね。
例えば、置けるカードのうち、自分の後続が多い方とか。
手持ちが1,2,5,9,10で、678が既に出てる時、
5...後続の1,2を置きやすくなる。
9...他プレーヤーに有利にしない。
それぞれメリットがあるから、どういう場面でどっちを採用するか、とか。
0012デフォルトの名無しさん2012/02/21(火) 11:33:14.98
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所
001312012/02/21(火) 15:27:20.51
やっと両隣りの判定まで進んだ。
思いっきりコンピューターに意地悪させれそうw
これで完成率50%ってところかな。
001412012/02/23(木) 15:15:58.36
おっしゃあ!
自分そっくりの戦略を取るコンピューターがやっと完成した!
完成率80%だ!
0015デフォルトの名無しさん2012/02/23(木) 15:24:05.64
>>14
公開し給え。その戦略が妥当かどうか試してやろうじゃないか。
001612012/02/23(木) 15:41:19.98
>>15
もう少し待ってくれ。
まだ調整に時間がかかる。
001712012/02/25(土) 22:46:46.36
バグの連発でなかなか終わりにたどり着けない・・・
0018デフォルトの名無しさん2012/02/26(日) 00:00:29.18
頑張れ
0019デフォルトの名無しさん2012/02/26(日) 00:30:25.78
なぜ7並べなんだ
002012012/02/26(日) 00:38:31.78
>>18
ありがとうがんばるよ
>>19
ちょっとした思いつき
0021デフォルトの名無しさん2012/02/26(日) 00:56:00.93
がんばれ
ちんこ握りながら待ってるよ
0022デフォルトの名無しさん2012/02/29(水) 21:19:50.09
入出力はコマンドプロンプト画面なのかな?
002312012/02/29(水) 22:02:59.19
そうだよ
俺の技術じゃscanfとprintfしかできない
0024デフォルトの名無しさん2012/02/29(水) 22:30:56.42
それでいいと思う。
表現なんて、本質的な部分さえしっかり作れていれば後でどうとでもなる。
002512012/03/02(金) 20:01:14.12
もうこれでいいや!
完成(笑)
一応コピペすれば遊べる

http://codepad.org/SeCznE4L
002612012/03/07(水) 20:24:59.07
と思ったけどやっぱりあれだったんでもう少しちゃんとしたのを作った
ジョーカー無視だけど
いやほんとここまで長かった
http://codepad.org/FvyyKXob


今回の総括

初めてのゲーム作りなもんでいろいろ苦労したけどc言語歴一年未満なら
まあまあの出来かなと自分では思う
コーディングミスしまくりだったのでそれが今後の改善課題かな
次はオセロにでも挑戦するか



というわけで糞スレ立てて大変失礼しました
002712012/05/06(日) 22:44:52.93
ひさしぶり〜
今度は2日くらいでオセロ作った
http://codepad.org/vI1c3ZFz

0028デフォルトの名無しさん2012/05/07(月) 01:17:57.25
2ヶ月ぶりの書き込みでsageとかw
0029デフォルトの名無しさん2012/05/07(月) 02:18:09.16
ifの条件部に代入式があったり英単語間違ってたりいろいろ気になるけどまぁいいか
0030uy2012/05/07(月) 06:17:15.31
俺様だとその程度のゲームはゼロから書いてもRubyで1時間以内だけど

Cにしては、君は結構マシなソースを書いてるよ

しいていうなら
オセロの161行目の
if(success = 1){
って
if(success == 1){
じゃないのか? という事だけど、このくらいってコンパイル時に警告でてないかね


社畜のコーディング規約では、是とされない書き方が多いとは思う
例えば一行に多くの処理を詰め込むスタイル
けど、君のソースコードはそれでいて一行に巧くまとまっているので
社畜のコーディング規約にとらわれないその書き方に高得点を与えたい
003112012/05/07(月) 06:43:51.40
>>30
あららほんとだ・・・
よくやるミスなんだがうちのコンパイラはアホなのか知らんが
なぜかこれでも通っちゃうんだよ・・・
しかし一時間て凄いね
俺はまだまだなんだなやっぱり


あと改めて見直すとまだ怪しいところがいくつかあることが分かった
変なところに駒置かれたりとかw
0032デフォルトの名無しさん2012/05/07(月) 10:13:18.72
>>31
警告レベルが低いのでは無いかと。
-wとか、/Wとかのスイッチでいじれるはず。
003312012/05/07(月) 11:55:25.64
>>32
1ランク上げたらいっぱいエラー出てきたw
サンキュー助かったわ
0034デフォルトの名無しさん2012/05/08(火) 11:19:25.24
何時間で作った話するやつは大抵馬鹿
分析状況や作成環境のほうが大きい
003512012/05/08(火) 14:18:00.64
改良版作った
これで矛盾点は無くなった気がする
結構苦労したわ

http://codepad.org/wg0DVLVj
0036uy2012/05/08(火) 22:00:37.22
いいんじゃないかね

まぁしいていうならC言語を覚える目的でやってるなら
Cでそういうのかいててもいいんだけど
ゲーム作る目的にはCは向いていなかったりする
スクリプト言語使いこなせるようなれば
君もその程度のゲームは1時間で作れるようになってるよ
003712012/05/08(火) 22:21:55.20
コマンドプロンプトで表示させる簡単なやつはこれで卒業するつもり
表現できるものが限られてるからね
次からはWindowsAPIを使ってもっと本格的なものをつくろうかなって考えてる
テトリスとかブロック崩しとかがいいかな
でさらに上達したらJAVAやC#あたりにシフトする
今はC言語しかできないから1から勉強することになるけど

いやあプログラミングまじで超楽しいw
遠い将来は、俺が書いたプログラムで人工衛星やロケットが動いたりしてな
まあさすがにそれはないだろうけどw
0038デフォルトの名無しさん2012/05/08(火) 22:39:36.71
ちょっと外部変数が多いのが気になるなぁ。
それらと、外部に公開しない関数にはstaticをつけた方がいい。
理由を調べるのも含めて課題ね。
それと、defineマクロ定数は全部大文字にするのが一般的。
それも踏まえて、nullが-1というのは違和感がある。名前を変えた方がよさそう。
003912012/05/08(火) 22:53:25.73
>>38
分かりました改善します
defineを大文字にするのが暗黙の了解というのは知ってるんだが、なんか面倒で
つい小文字にしたくなってしまうんだよね・・・w
0040デフォルトの名無しさん2012/05/09(水) 05:53:38.28
boardだろw スペルミスはみっともない
この思考部分って再帰探索してないしメッチャ弱そう・・・
blankとblackは紛らわしいから変えたほうがいい

先行後攻が決められるのに、色が固定的? オセロのルールにあってない 黒=先手 白=後手だろ
004112012/05/09(水) 06:51:24.65
>>40
改善します
ちなみにこのコンピューターの思考は、人生でまだ10回くらいしかオセロをやってない
俺の戦法と全く一緒だからやり込んでる人だったら余裕で勝てるよw
再帰探索なんて言葉すら知らなかったしね
今の俺にとっては丁度いいレベルかな
これから徐々に俺と共にコンピュータを成長させていこうかなって思ってる
0042デフォルトの名無しさん2012/05/09(水) 08:15:58.17
どうでもいいけど、今はまっているプロジェクトは旧プロジェクトのソースから
仕様を起こして実装しているのだけれど、
teal(tail), cunt(count), juck(jack)などスペルミスの嵐。
内製だったそうだから恥も外聞もなかったんだろうなぁ。
0043デフォルトの名無しさん2012/05/09(水) 09:58:57.04
ここでえらそうにしてる奴は間違いなくたいしたことない
0044デフォルトの名無しさん2012/05/09(水) 11:47:50.75
他人を「えらそう」と言う奴に限って劣等感の塊だから、
そんな奴に「たいしたことない」と言われてもどうと言うことはない。
0045uy2012/05/09(水) 13:12:11.21
俺以外はカスだから
俺以外のレス気にしなくていいよ
0046デフォルトの名無しさん2012/05/10(木) 01:24:51.94
と劣等感の塊が申しております
0047uy2012/05/10(木) 01:53:14.17
俺がカスだからって僻むな
0048デフォルトの名無しさん2012/05/10(木) 09:23:15.07
なんでお前が反応してんのw
0049uy2012/05/10(木) 12:56:40.97
カスのエースたる俺さまが
そこらのノラカスと一緒にされてはたまらんからな
0050uy2012/06/13(水) 10:35:30.02
変なレスでスレとめんな

時代の進歩が遅いな

人間が数十億もいるから
歩くペースが全体的に遅くなるんだよ

一度間違ったものが流通したら
それを正すのが人口の量に比例してどんどんきつくなる
人間減らしたほうがいい
0051デフォルトの名無しさん2012/06/13(水) 11:07:26.94
と劣等感の塊が申しております
■ このスレッドは過去ログ倉庫に格納されています