チェスボードのコンテンツをC言語の文字列(チェスのピースや空白のスペースやスペース)として表示し、文字列をテーブルに格納するにはどうすればよいですか? 私はすでに何をしたのかを示すことができます。チェス盤の内容をC言語の文字列として表示し、文字列をテーブルに格納するにはどうすればよいですか?
答えて
一般的に、8×8の文字列が必要です。 Cの文字列は、ゼロ終端の文字配列であるため、3D文字配列として終了します。以下のような
何か:
for (i=0; i<8; i = i + 7) // i will be 0 and 7
{
for (j=1; j<8; j = j + 5) // j will be 1 and 6
{
strcpy(board[i][j], "knight"); // Put a knight at location (0, 1)
// (0, 6)
// (7, 1)
// (7, 6)
}
}
P.S.:原因
#define MAX_TEXT 30
char board[8][8][MAX_TEXT];
int i, j;
for (i=0; i<8; ++i)
{
for (j=0; j<8; ++j)
{
strcpy(board[i][j], "."); // Make all spots empty
}
}
strcpy(board[0][1], "knight"); // Put a knight at location (0, 1)
// and so on ...
更新
は、ループを使用して4人の騎士を配置するためにコメントするには、次のような何かを行うことができますボードの各部分は
そして、4人の騎士を書くことなく4人の騎士を追加する方法はありますか? –
@ J.Doe - 更新された回答を参照 – 4386427
場所は正しいです!私はプログラムをコンパイルして実行し、それは働いた! –
char board[][sizeof("♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜")] = {
{"♜ ♞ ♝ ♛ ♚ ♝ ♞ ♜"},
{"♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟"},
{"… … … … … … … …"},
{"… … … … … … … …"},
{"… … … … … … … …"},
{"… … … … … … … …"},
{"♙ ♙ ♙ ♙ ♙ ♙ ♙ ♙"},
{"♖ ♘ ♗ ♕ ♔ ♗ ♘ ♖"}
};
...私はチェスプレーヤーじゃないとドットが
strlen("♜")
== 3
strlen("…")
マルチバイト文字である - 私は場所が一度正しいと願っています== 3
馬を移動させる例:
♜ … ♝ ♛ ♚ ♝ ♞ ♜
♟ ♟ ♟ ♟ ♟ ♟ ♟ ♟
… … ♞ … … … … …
#define ROWS 8
#define DOT "…"
#define MBSZ sizeof(DOT)
#define CELLS (MBSZ + 1)
char *pt1 = board[0] + (CELLS * 1); /* 1 cell */
char *pt2 = board[2] + (CELLS * 2); /* 2 cells */
memmove(pt2, pt1, MBSZ);
memmove(pt1, DOT, MBSZ);
for (int i = 0; i < ROWS; i++) {
printf("%s\n", board[i]);
}
涼しいです - OPが求めていたものではないかもしれませんが、それほどクールです。私はスペースを削除します。 – 4386427
ありがとうございます@ 4386427、空白のない狭い、多分フォントを調整するように見えます... –
私はアルターマンの答えを使用することはできません、私はピースの代わりに疑問符を持っています –
- 1. チェス盤の文字列
- 2. 文字列内の文字列を文字列内で渡すにはどうすればよいですか?
- 3. C++の文字列はどのように格納されていますか?
- 4. Cで多次元配列に文字列を格納するにはどうすればよいですか?
- 5. 文字列の格納データを配列内で呼び出すにはどうすればよいですか?
- 6. ダイナミック2D配列内に文字列リテラルを格納するC
- 7. JSONレスポンスを文字列に格納し、その文字列をローカルに格納する方法ios objective c
- 8. 文字列内の\文字を/文字に変更するにはどうすればよいですか?
- 9. kdbに列を文字列として格納する
- 10. Webfrontendsに複数の言語の文字列とテキストを格納する方法
- 11. 文字列内の他の言語(英語ではない)の文字を検出するにはどうすればよいですか?ここで
- 12. Cの文字配列から文字列を取得するにはどうすればよいですか?
- 13. 文字列内の特定の文字列を削除するにはどうすればよいですか?
- 14. 文字列内の1文字を大文字にするにはどうすればいいですか
- 15. C#で文字列をPascalCase文字列に変換するにはどうすればよいですか?
- 16. 文字列内にアルファベット文字(多言語)のみを残す
- 17. MATLABは配列として文字列を格納します
- 18. C++ - BLOBを文字列として格納する
- 19. 文字列内の部分文字列を交換するにはどうすればよいですか?
- 20. C++/Arduino:文字列/文字配列をバイトに変換するにはどうすればよいですか?
- 21. C++は、文字列に格納されているデータ型のバイト配列を宣言します。
- 22. 文字列の最初の文字をどのようにC言語で引き出すのですか?
- 23. Scalaで文字列補間を使用して文字列を固定幅文字列としてフォーマットするにはどうすればよいですか?
- 24. char *ベクトルにC++文字列を格納
- 25. C++ EnumWindows、リストを文字列に格納
- 26. 文字列内の連続した文字を削除するにはどうすればよいですか?
- 27. 複数の文字列をデータベースに格納してWebページに表示する
- 28. htmlに文字列配列として格納されている画像を表示する方法は?
- 29. 2次元配列内の文字列(文字*)を格納
- 30. xmlノードの属性を文字列に格納するにはどうすればよいですか(再フレーミング)
質問があまりにも一般的です。画面や内部表現に印刷することを求めていますか?あなたが持っているものを共有してください。 – eyalm
あなたがすでにやっていることを示して、あなたの質問にできる限り具体的にしようとしてください。 –
ようこそスタックオーバーフロー! __ "私は表示することができます..." __、はい、これまでのあなたの研究/デバッグの努力を示してください。まず[Ask]ページをお読みください。 –