比較的地味なボードゲーム専用のスレが欲しくて立ててみました。
私はc言語で作ったデータベースを使って人間と対戦できる将棋かチェス
みたいなソフトを作りたいと思ってますが、グラフィックインターフェースの
作り方がわからなくてつっかえているレベルです。
探検
【オセロ,将棋】ボードゲーム【囲碁,War】
■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
03/07/10 00:10ID:6FQp6G+O03/07/10 00:46ID:c+Tl/JM7
03/07/10 00:48ID:c+Tl/JM7
もうひとつ逝っておくと、「私は云々」みたいなことは、>>1に書くべきではないな。
単発質問スレだとおもわれるぞ?(もし真性単発質問スレだったらスマソw)
単発質問スレだとおもわれるぞ?(もし真性単発質問スレだったらスマソw)
4名前は開発中のものです。
03/07/10 06:47ID:ZYbxAUmJ ありがとうございます。単発というわけでなく話題提供のつもりでしたが
まぎらわしかったですね。すみません。ボードゲームに関するいかなる
話題でも参考になるのでそういう風に解釈してください。
あと2でいわれたテキストベースというのは具体的にどのようなことを
すればいいのかもう少し詳しく教えてくださいませんか。当方c言語を
はじめて一ヶ月。BCCだけでとりあえず思考ルーチンだけはめどが
たってきた程度で表示はまったくの素人なのです。
まぎらわしかったですね。すみません。ボードゲームに関するいかなる
話題でも参考になるのでそういう風に解釈してください。
あと2でいわれたテキストベースというのは具体的にどのようなことを
すればいいのかもう少し詳しく教えてくださいませんか。当方c言語を
はじめて一ヶ月。BCCだけでとりあえず思考ルーチンだけはめどが
たってきた程度で表示はまったくの素人なのです。
5名前は開発中のものです。
03/07/10 21:54ID:661ntdMC6直リン
03/07/10 22:12ID:NVbp/PY17_
03/07/10 22:44ID:MmlDAKc103/07/10 23:37ID:c+Tl/JM7
>>4
盤面の状態はどうやって持ってるの?
盤面の状態はどうやって持ってるの?
91
03/07/11 02:32ID:tBkU7GoV ミニゲームなのであらゆる可能なポジションに対しそれが最善で
何手で詰むかまたは引き分け(ドロー)かの情報を得ることができますので
それを一度作ってデータベースとしてそれを参照しながら(数MBになる予定)
次の一手を考えるようにしたいと思ってます。まだ途中ですが。
何手で詰むかまたは引き分け(ドロー)かの情報を得ることができますので
それを一度作ってデータベースとしてそれを参照しながら(数MBになる予定)
次の一手を考えるようにしたいと思ってます。まだ途中ですが。
03/07/11 03:08ID:h6ee7c7G
>>1
Cのコンソールでやるなら、オセロ、囲碁なら、●〇+で
将棋は歩v等か外字エディタとか。僕は今時間が空いているので、
コンソール×外字エディタの将棋をウインアプリに作り直している。
Win32APIにCreateFont関数があるから、それで逆の文字も表示できる。
一番良いのはやっぱりビットマップを用意して表示する。
参考に7行プログラミングで作られたもの。Cコンソール。
http://pc.2ch.net/test/read.cgi/tech/984182993/372
#include <stdio.h>
int*i,p,t,a,d,v,m[91]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v
+=*i;while(m[v]-t);}}main(){for(m[40]=m[50]=s=t=3,m[41]=m[49]=6;s-1;a=d=0){for
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k():m[p]=9;for(a?d=a=p=9:s?s=0,
puts("pass"):s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
>>2さんが言っているような感じ。思考ルーチンができるなら、
めちゃ強いのを作ってから、グラフィカルなのに入っても遅くない。
Cのコンソールでやるなら、オセロ、囲碁なら、●〇+で
将棋は歩v等か外字エディタとか。僕は今時間が空いているので、
コンソール×外字エディタの将棋をウインアプリに作り直している。
Win32APIにCreateFont関数があるから、それで逆の文字も表示できる。
一番良いのはやっぱりビットマップを用意して表示する。
参考に7行プログラミングで作られたもの。Cコンソール。
http://pc.2ch.net/test/read.cgi/tech/984182993/372
#include <stdio.h>
int*i,p,t,a,d,v,m[91]={-10,-9,-8,-1,1,8,9,10},s;void k(){if(m[p]==0)for(i=m;*i
;i++){for(v=p+*i;m[v]==9-t;v+=*i);if(v-p-*i&&m[v]==t&&(s=a=v=p,d))do m[v]=t,v
+=*i;while(m[v]-t);}}main(){for(m[40]=m[50]=s=t=3,m[41]=m[49]=6;s-1;a=d=0){for
(p=8;++p<82;printf("・\0○\0●\0\n"+m[p]))p%9?k():m[p]=9;for(a?d=a=p=9:s?s=0,
puts("pass"):s++;a==9;k())t-6?scanf("%d%d",&p,&v),p+=v*9:++p;t=9-t;}return 0;}
>>2さんが言っているような感じ。思考ルーチンができるなら、
めちゃ強いのを作ってから、グラフィカルなのに入っても遅くない。
03/07/11 11:04ID:JYguR8yG
いきなり7行オセロかよ!初心者にはつらそう。
まぁ、適当にサンプルを書いておこう。
syouhai_hantei()
cpu_no_sikou_routine()
の二つの関数さえ書けば、完璧な囲碁ソフトだぜ!
ちなみに、↓は囲碁だけどbanmen,koma,syohaiを変えれば、将棋でもチェスでも同じ。
------------------
int banmen[19][19] = {{0}}; /* ←グローバル変数 */
char *koma[] = {"+", "●", "○"};
char *syohai[] = {"", "●の勝ちです", "○の勝ちです", "引き分けです"};
int i, j, r;
while (1) {
for (i = 0; i < 19; i++) {
for (j = 0; j < 19; j++) {
printf("%s", koma[banmen[i][j]]);
}
printf("\n");
}
まぁ、適当にサンプルを書いておこう。
syouhai_hantei()
cpu_no_sikou_routine()
の二つの関数さえ書けば、完璧な囲碁ソフトだぜ!
ちなみに、↓は囲碁だけどbanmen,koma,syohaiを変えれば、将棋でもチェスでも同じ。
------------------
int banmen[19][19] = {{0}}; /* ←グローバル変数 */
char *koma[] = {"+", "●", "○"};
char *syohai[] = {"", "●の勝ちです", "○の勝ちです", "引き分けです"};
int i, j, r;
while (1) {
for (i = 0; i < 19; i++) {
for (j = 0; j < 19; j++) {
printf("%s", koma[banmen[i][j]]);
}
printf("\n");
}
12続き
03/07/11 11:05ID:JYguR8yG do {
printf("縦?\n");
scanf("%d", &i);
printf("横?\n");
scanf("%d", &j);
} while(i < 0 || i >= 19 || j < 0 || j >= 19);
banmen[i][j] = 1;
r = syouhai_hantei();
if (r != 0)
break;
cpu_no_sikou_routine(&i, &j);
banmen[i][j] = 1;
r = syouhai_hantei();
if (r != 0)
break;
}
printf("%sの勝ちです。", syohai[r]);
printf("縦?\n");
scanf("%d", &i);
printf("横?\n");
scanf("%d", &j);
} while(i < 0 || i >= 19 || j < 0 || j >= 19);
banmen[i][j] = 1;
r = syouhai_hantei();
if (r != 0)
break;
cpu_no_sikou_routine(&i, &j);
banmen[i][j] = 1;
r = syouhai_hantei();
if (r != 0)
break;
}
printf("%sの勝ちです。", syohai[r]);
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に [蚤の市★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 【芸能】浜木綿子 90歳で初の週刊誌連載スタート「お芝居を『楽しい』と思ったことが一度もない」驚きの逸話も [湛然★]
- ゼレンスキー氏、NATO加盟断念に言及 ドイツで米代表団と [蚤の市★]
- 【芸能】『JR SKISKI』新ヒロインに上坂樹里 朝ドラ主演の若手が“冬の顔”に抜てき【若手俳優の登竜門…歴代キャスト一覧】 [湛然★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- (財務)片山さつき『サナエノミクス💕』開始。「所得、経済、税収全てが上がる夢のような政策」 [153490809]
- リコリコとかいうアニメ、ヒョロガリJKがムキムキのおっさんボコってて萎えて1話切り
- 窓口で「いったん10割負担」の件数が1年で2倍近くに増加。「マイナ保険証」スマホマイナも登場で医療現場「もう無理」 [256556981]
- スモークチーズって食べ始めたらやめられない止まらないになるんだが
- 新幹線で越後湯沢に向かってるの(´・ω・`)
- フィンランド人による吊り目でアジア人差別事件、日に日に炎上が大きくなっていく [279254606]
