開発環境をインストールせずにC#でコンソールで遊んだりDXライブラリたたいたり

ちょっとプログラムしたいけどわざわざVisualStudioインストールするのは仰々しいと思う人向けです。
.NET FrameworkのC#コンパイラは今のWindowsには標準で入ってます。多分。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
バージョンによってフォルダ名が違うと思うので適当に自分の環境に合わせて確認してください。
とりあえず実際にコンパイルできるかどうが、Hello Worldを書いて試します。

コンパイル方法はコンソールで下記コマンドたたくだけです。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /optimize+ /out:helloworld.exe console01.cs
成功したら実行してみましょう

C#のhelloworldをコマンドラインコンパイル

すんなり動きました。

コンソールアプリではなくWindowsアプリを作りたい場合はコンパイルオプションで /t:winexe を追加します。

 

せっかくコンパイルできたのでもうちょっと遊んでみます。
ゲーム製作に使われるDXライブラリは元々C++用なのですが、C#にも公開されているのでこれをコマンドラインコンパイルで使ってみます。
https://dxlib.xsrv.jp/
「DXライブラリのダウンロード」からダウンロードページを開き「VisualC# 用パッケージ」からダウンロードしてください。

ダウンロードしたファイルの解凍した中にあるDxLib.dllとDxLib_x64、DxDLL.csを自分のソース等と一緒におけばコンパイルできるはずです。
この画像を方向キーで左右に動かせる&スペースキーでジャンプするだけのものを作ってみます。Mainメソッド兼ゲーム全体を管理するGAME_CTRLクラスと、動かすキャラクター=Playerクラスを用意します。

この2ファイルと画像ファイルをおいてコンパイルを実行します。コンソールと違い /t:winexeのオプションが必要です。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /optimize+ /t:winexe /out:game.exe *.cs
game.exeを実行
こちらもすんなり動きました。

IDE無しデバッガ無しなのでイチから本格的なものを作るのはちょっとしんどいですが、ちょっとしたミニゲームや思いついたものをモジュール単位で試したりと色々使えるんじゃないでしょうか。

About the author

grande_chien

2 Comments

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  • こんにちは。ソースコードをコピペして、上で言われた通り、fileを同じfolderに入れて、コンパイルしたのですが、次のようにコンパイルエラーが出ます。何が問題なのでしょうか。

    GAME_CTRL.cs(15,13): error CS0246: 型または名前空間名 ‘Player’ が見つかりませんでした。using
    ディレクティブまたはアセンブリ参照が不足しています。
    GAME_CTRL.cs(18,28): error CS0246: 型または名前空間名 ‘Player’ が見つかりませんでした。using
    ディレクティブまたはアセンブリ参照が不足しています。

    • こんにちは
      Playerクラスがないエラーなので考えられる原因は下記のどちらかと思われます
      ・Player.csがない
       GAME_CTRL.csの下のPlayer.csをコピペで作って再度コンパイルしてください
      ・Player.csはあるが、Player.csのclass宣言部分でスペルミスがある
       3行目及9行目のPlayerが正しく入っている確認してください

By grande_chien

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト