C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C# ゲーム


(過去ログ 178 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■102229 / inTopicNo.1)  C# ゲーム
  
□投稿者/ ゆい (21回)-(2023/07/31(Mon) 08:43:23)

分類:[.NET 全般] 

C#で簡単なマップで 例 ■壁 〇プレイヤーで十字キーで動かす
を作りたいのですが どうやるのですか。
引用返信 編集キー/
■102230 / inTopicNo.2)  Re[1]: C# ゲーム
□投稿者/ furu (213回)-(2023/07/31(Mon) 09:41:59)
No102229 (ゆい さん) に返信
> C#で簡単なマップで 例 ■壁 〇プレイヤーで十字キーで動かす
> を作りたいのですが どうやるのですか。
ツッコミどころ多くて
大喜利状態になってしまいそうですが…

> ■壁 〇プレイヤーで
Windows.Formsなら最初はLabelで簡単に表示してはどうでしょうか?
label.Text = @"■■■■■
■〇  ■
■ ■ ■
■ ■ ■
■■■ ■";

> 十字キーで
コントローラーがあるのですか?
矢印キーのことですか?

> どうやるのですか。
どこで困っていますか?
何もわからない状態でしょうか?

引用返信 編集キー/
■102231 / inTopicNo.3)  Re[1]: C# ゲーム
□投稿者/ 魔界の仮面弁士 (3675回)-(2023/07/31(Mon) 09:42:10)
2023/07/31(Mon) 11:58:50 編集(投稿者)
No102229 (ゆい さん) に返信
> C#で簡単なマップで 例 ■壁 〇プレイヤーで十字キーで動かす
> を作りたいのですが どうやるのですか。

やりたいことの(とてもざっくりとした)説明があるだけで、
「何が分からないのか」や「何を相談したいのか」が
一切書かれていないので、質問になっていない…。


とりあえず、こんな感じで良いでしょうか?
.NET 6 製の「コンソール アプリ」で書いてみたものです。

※Windows 10 のコマンドプロンプトなら動くけれど、
 Win10 や Win11の「Windows Terminal」で動かすと、
 レイアウトが崩れて残念な結果になることが発覚…。orz
 
// .NET 6
string[] map =
{
    "■■■■■■■■■■■",
    "■    ■   ■■",
    "■  ■S ■   ■",
    "■■ ■■■■■  ■",
    "■        ■■",
    "■  ■ ■■   ■",
    "■■■ ■  ■ ■■",
    "■     ■   ■",
    "■■ ■■  ■■ ■",
    "■    ■    ■",
    "■■■■G■■■■■■",
};
Console.Clear();
Console.WriteLine(string.Join("\n", map));
Console.SetCursorPosition(8, 2);
Console.Write("○");
Console.SetCursorPosition(8, 2);
while (true)
{
    (int x, int y) offset = Console.ReadKey(true).Key switch
    {
        ConsoleKey.LeftArrow => (-2, 0),
        ConsoleKey.RightArrow => (2, 0),
        ConsoleKey.UpArrow => (0, -1),
        ConsoleKey.DownArrow => (0, 1),
        _ => (0, 0),
    };
    (int x, int y) current = Console.GetCursorPosition();
    var (x, y) = (Math.Clamp(current.x + offset.x, 0, 18), Math.Clamp(current.y + offset.y, 0, 10));
    // Debug.WriteLine($"x: {x}, y: {y}");
    if (map[y][x / 2] == '■') { (x, y) = current; }
    // Console.Clear();
    Console.SetCursorPosition(0, 0);
    Console.WriteLine(string.Join("\n", map));  
    Console.SetCursorPosition(x, y);
    Console.Write("○");
    Console.SetCursorPosition(x, y);
}

引用返信 編集キー/
■102232 / inTopicNo.4)  Re[2]: C# ゲーム
□投稿者/ ゆい (22回)-(2023/07/31(Mon) 11:34:18)
No102230 (furu さん) に返信
ありがとうございます
すみません説明になってなくて マップを表示してプレイヤーを動かすという説明だけで
C#始めたばかりなのでまだわかってません
わからなかったらまた質問します。
解決済み
引用返信 編集キー/
■102235 / inTopicNo.5)  Re[2]: C# ゲーム
□投稿者/ ゆい (23回)-(2023/07/31(Mon) 17:45:14)
No102231 (魔界の仮面弁士 さん) に返信
ざっくりすぎてすみません質問がマップでキーボード入力でマップをキーボード入力で■壁判定が
あって〇でもなんでもプレイヤーが歩き回るというプログラムが作りたかったのですが
C#初心者なのでどういったプログラムで作ればいいか悩んでいたところで
 魔界のさんのプログラムを打っているところですけど またわからないところがあればお願いします

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -