C言語とncursesを使ったゲーム

ncursesは端末制御のライブラリです。

標準入出力に対して、文字の入出力を行います。

wikipedia Ncurses

基本的な使い方は、下記のサイトをご覧ください。

curses による端末制御

ncursesを使ったゲームは、ネット検索すると、見つかります。

いくつか試してみたので、紹介します。

いずれも、C言語ソースコードが公開されています。

大砲ゲーム

大砲を撃って、敵機を撃墜する。
ゲーム性が少ないので、すぐに飽きます。

ソースはこちら
https://www.kushiro-ct.ac.jp/yanagawa/curses/cannon/

Mac の場合は、効果音が鳴りません。
コードの修正が必要です。

修正したコードをgithubで公開した。 https://github.com/ohwada/MAC_cpp_Samples/tree/master/ncurses/cannon

ヘビゲーム

古典的ゲームです。

wikipedia ヘビゲーム

ソースはこちら
https://github.com/romanedgn/sname-game

白黒の地味な画面の単純なゲームですが、妙にまります。

2つほど不具合があった。
果物を食べても、ヘビが長くならない。
ゲームオーバーを表示せずに終了する。

大きな問題ではないが、気になるので、改良した。

改良したコードをgithubで公開した。
https://github.com/ohwada/MAC_cpp_Samples/tree/master/ncurses/snake

ブロック崩し

古典的ゲームです

wikipedia ブロックくずし

ソースはこちら
https://github.com/Subsentient/bricktick

試したところ、ボールのスピードに、パドルの操作が追いつかず、完敗。

スピードを調整するようなオプションが欲しいな。

ソースを読んでみたが、よく分からず。

テトリス

古典的ゲームです。

wikipedia テトリス

ソースはこちら
https://github.com/brenns10/tetris

キャラクタベースと思えぬ綺麗な画面です。

試したところ、うまく操作できず、苦戦した。

スピードを調整するようなオプションが欲しいな。

しかし、操作はできるようになったが、
うまくブロックを消せず、惨敗。

BGM を再生するオプションがあるが、動作せず。

BGM を鳴らすように改良したコードを github で公開した。
https://github.com/ohwada/MAC_cpp_Samples/tree/master/ncurses/tetris

Star Trek Game

古典的ゲームです。

wikipedia: スタートレック_(マイコンゲーム) )

C++ と ncurses の習作として作成した。

1970年代のレトロな雰囲気にしてます。

ソースをgithub に公開した。
https://github.com/ohwada/Star_Trek_Text_Game/tree/master/cpp