X



コンソールゲーム
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
04/04/07 01:07ID:B46sLvhx
rogueライクやアドベンチャー等
文字主体のゲーム製作について語って。
0434417
垢版 |
2007/01/28(日) 16:46:30ID:SFfreQjf
http://gamdev.org/up/img/8748.lzh
14*6から9*4に変更の中ボス作成。^_^

前回とはボスの大きさが変わっただけですm(_ _)m
軽くなっているから止まらないと思う・・・
というか弾のすり抜け不具合の対応に時間がかかった(>_<)
ループタイミングとかスピードとかはこれから色々試す予定
ファミコンのゲームをやって、どうするかゆっくり決めていきます。

コンソールで地面、背景ってできるのかな・・・
現状はコンソールAPIだけ使いたい・・・しかし疲れが(T_T;)
0436名前は開発中のものです。
垢版 |
2007/01/29(月) 20:51:29ID:jqNQWeQC
ああ、ちなみにご褒美画像は18禁な
なので今回は18歳未満はやらないように

おじさんとのやくそくだぞ!
0437名前は開発中のものです。
垢版 |
2007/01/30(火) 03:02:02ID:7TtXtK7p
>>434
まだ止まる時もある。
止まるのは、ボスが動く時と、キー入力を両方行った時っぽい。

背景の表示も、飛行機と同じで、普通にprintfなどで行う。
飛行機が無い位置は背景を表示し、ある位置は飛行機を表示する感じ。
飛行機が見難くならないように、
グラデュースみたいに壁だけ表示するのがいいと思うが。

>>435
1000
******** おめめ ********
コマンドまたはファイル名が正しくありません.
みたいに出て、ご褒美画像が見れない。
プレイ環境は9x系。
0438名前は開発中のものです。
垢版 |
2007/01/30(火) 09:38:06ID:qkd7/mT7
クリアー無理
三面まで猿のようにやった
抜いた
エロゲにしてはむずい
0440417
垢版 |
2007/01/31(水) 23:56:40ID:+O4kN4sJ
今は、デバックコードを作成中・・・キー入力、フレーム等、確認中・・・
0441名前は開発中のものです。
垢版 |
2007/02/02(金) 07:03:14ID:Vw28ki0u
>>439
うはwwwwおkwwww

盗撮ゲームって面白いな動画の品質もまぁまぁだし
ていうか動画幾つあるんだ?

盗撮場所によっても違うみたいだし
てかセーブ機能希望
警察に捕まってから始めからってダルス
0442名前は開発中のものです。
垢版 |
2007/02/02(金) 08:09:11ID:4MVbxLfh
金がたまらん
0444417
垢版 |
2007/02/03(土) 23:01:32ID:mWQs+0GM
http://gamdev.org/up/img/8810.lzh
今回の修正ポイントは
ボス爆破、退避、体力半分になったら色が変わるです
重いのは修正は後回し・・・原因が!?・・・(>_<)力不足ですまそ
アドバイス有り難うございます。これからは引き続き
ボスの処理とステージ表示くらいは・・・
0446名前は開発中のものです。
垢版 |
2007/02/05(月) 17:28:28ID:h+muHqVy
そういえば、物凄いスピードになるのは前のバージョンでも
Replayゲームでたまになることがあった。
0447417
垢版 |
2007/02/05(月) 19:53:54ID:hdM4NXL7
http://gamdev.org/up/img/8835.lzh
Win32APIを使用したら改善されたようです。やりー!(^_^;)/
たぶんですが・・・少しだけ楽しくなってきた!?
(キー入力で速度アップ、処理が重いの2点)
if(kbhit()) ikey = getch();→if( GetAsyncKeyState('F') & 0x8000)
↑これが、悪さをしている感じは気づいていたのですが・・・
APIは難しいです。現状、使い方は適当。
>>445-446
キー入力を変えたから改善されていると思う・・・
Replayゲームってなんだろ・・・
>>432>>437
>1ループのタイミングを遅くする。やりかたがよくわかっていないです。おそらく、vsyncのことと思います。
>WriteConsoleOutputは現在、さわっていないです。今後検討します。今は、printfだけ使用

>背景スクロールってコンソールでやったらどうなるんだろ>グラディウスみたい壁だけ表示。
・・・イメージできない・・・>_<
0448417
垢版 |
2007/02/05(月) 20:22:11ID:hdM4NXL7
ゲームオーバー処理でkbhit()を
使っていて動作が、あやしいです。
次回改善します。
0449名前は開発中のものです。
垢版 |
2007/02/05(月) 23:27:30ID:h+muHqVy
>>447
ゲーム中のボタン入力が効かなくなった。
Replayするかの問いかけの時には効く。

関数は自分の場合は、表示はWin32APIだけど、
入力はkbhit + getchだった。

>Replayゲームってなんだろ・・・
ゲームオーバー後の再プレイのゲームの事。

>1ループのタイミングを遅くする。
ゲームループはwhile(1){Sleep(1);}みたいにやっていると思うけど、
毎ループ表示はしないというか・・。詳しいやり方は忘れてしまった。

>背景処理
■■■
□□■

■■■
□■□
別にGUIと一緒で、上の様に壁を自機側に動かす事で、
自機が前に進んでいるように見えるやり方。
0450名前は開発中のものです。
垢版 |
2007/05/08(火) 22:17:11ID:5Oemp9qt
保守
0451名前は開発中のものです。
垢版 |
2007/06/23(土) 04:24:21ID:NgfGTGqT
保守ついでにネタを投下(つか質問だけど)。
コンソール上で動くネトゲということで、手始めにTELNET鯖を作ろうとした。

・WinXPに入ってるtelnetクライアントは、一文字ずつ送信(ECHO?)
・Cygwinに入ってる/usr/bin/telnetは、Enterキー押下で送信(ECHO?)

DOS窓+日本語入力の際に半角1文字が入力されるたびに送信していると
日本語が入力できないので、/usr/bin/telnetのようにEnter押下で送信する機能と
一文字ずつ送信する機能を実装したいんだけど、どうすればいいんだろう。

※標準実装のTELNETで利用できるゲームを作りたいので、クライアント(telnet.exe)は
今のところノータッチで進めたい。

RFCのTelnet仕様書(+日本語訳)
ttp://www5d.biglobe.ne.jp/~stssk/rfc/rfc854j.html
分かりづらくて読み進められない状態です

TELNETを知ろう
ttp://www.space-peace.com/ethereal/prot/ethereal_protcol_3.htm
端末環境の調整処理があるみたい。

上の調整処理を実装したら可能なのかな?
0452名前は開発中のものです。
垢版 |
2007/06/25(月) 00:31:16ID:ZRqfg7v2
なんかおもしろそうな話なので調べてみた。
もう解決済みかもしれないけど一応。


telnetは1文字ごとに送信/エコーするのが基本みたいなので
1行ごとに送信させるには、オプション設定でラインモードに変更するように
サーバーからクライアントへ要求を出す必要があるようだ。
つまりこれはクライアント側で実装されている機能。

手順としてはサーバーからIAC DO LINEMODE(0xFF 0xFD 0x22)を送って
クライアントがIAC WILL LINEMODE(0xFF 0xFB 0x22)を返してくれればOK。

しかしXPのtelnet.exeで試してみたところ
IAC WONT LINEMODE(0xFF 0xFC 0x22)で拒絶されてしまう。TeraTermでも拒絶。
どうやらサブオプションがたくさんあるようなので(RFC1184)
それを一緒に設定しないといけないのか、それとも単に実装されていないだけなのか不明。
0453名前は開発中のものです。
垢版 |
2007/06/25(月) 00:32:36ID:ZRqfg7v2
cygwinは手元に無いのでVineLinuxのtelnetで試してみたら
クライアントからラインモード変更要求が来た。
要求呑んだらサブオプションも来たが長いので未解読。

ちなみに1バイトずつエコーを返しているだけでも2バイト文字は表示された。
ただ日本語を入力させるだけならラインモードにしなくてもよさそうだ。


以下参考

3分間NetWorking 第55回 telnet(3)
ttp://www5e.biglobe.ne.jp/~aji/3min/55.html
telnetオプションとラインモードに関する解説

ネットワーク総合辞書 Telnetとは
ttp://www.7key.jp/nw/technology/protocol/telnet.html
telnetオプションのネゴシエーション方法

RFC1184 Telnet Linemode Option
ttp://www.faqs.org/rfcs/rfc1184.html
面倒なので読みたくない。
0454名前は開発中のものです。
垢版 |
2007/06/25(月) 12:23:58ID:L30g44Rp
>>452
検証ありがd。451以降別のことやってたのでそれ以上調べてなかった。
サブオプションで切り替えを行ってるんだろうなあとうすうす感じつつも、RFCを深く読んでなかった。
ちゃんと読んでからWinXPのtelnet.exeで試してみる。(1byteエコー/ラインエコー実装しているか)

>>453
FedoraCore6のtelnetクライアントもデフォルトでラインモードだね。
「OSにデフォルトでくっついてる環境」ってことでtelnetは魅力的なんだけど、自前で作った方がいいのか・・
(画面制御関連もあるし・・・

参考URL読んできます
0455名前は開発中のものです。
垢版 |
2007/07/12(木) 11:42:45ID:fm6cBZE/
上のログに似てるモノ発見
ttp://www.geocities.jp/bizzontain/Snake_What_Happend_Snake_Snaaaake.htm

ゲームじゃないけど面白い
ttp://www.masswerk.at/jsuix/
0458名前は開発中のものです。
垢版 |
2007/07/15(日) 00:54:53ID:Uuola+pL
>>457
ソースを見てないからよくわからんけど、ターミナルの動きだけを再現してると思う。

Perlのopen関数を使ったら、実際にサーバー上でコマンドを走らせることが出来るから、
それと組み合わせたら面白そうだね。

ちなみに、Perlの実験で「ぶっとびネット」「さくらレンタルサーバー」「TOK2」で、
open関数にコマンドを入れて実行したら、ブラウザからサーバー上のgccが使えた。
(HelloWorld程度のC言語ソースをコンパイル)書き出したバイナリの実行も出来た。

<こんな感じ>
http://gamdev.org/up/img/9773.gif

無料のtok2サーバーで実行してみたところ。
上:lastコマンドで、各ユーザがftpdの権限でログインした形跡が見れる。
モザイク部分はユーザ名とIPアドレス。前から脆弱性については話になってたけど、
ここまであっさり見れるとは。
下:ルートディレクトリの一覧。

<IPA(情報処理推進機構)>

Perlの危険な関数
http://www.ipa.go.jp/security/awareness/vendor/programming/a04_02.html

ファイルオープン時のパスにご用心
http://www.ipa.go.jp/security/awareness/vendor/programming/a04_01.html
0462名前は開発中のものです。
垢版 |
2007/11/10(土) 09:54:39ID:bpEeMvqn
過疎ってるなー
0464名前は開発中のものです。
垢版 |
2007/12/18(火) 10:48:23ID:KpYVv7Rk
うん
0467名前は開発中のものです。
垢版 |
2008/01/19(土) 05:10:01ID:qUuZEDm3
ttp://gamdev.org/up/img/10959.zip

windows標準でついてるマインスイーパー消しちゃって、
自分で作ってみた物です。
面白そうなスレでしたのでうpしてみました(*'∀')
最初の1個目から地雷踏んだりするけど、見逃してやってください。
0468名前は開発中のものです。
垢版 |
2008/01/19(土) 17:01:25ID:k8SuXtuE
>>467
やってみた。

操作性もいいし、いいんでないの?
マインスイーパーはそこまで好きじゃないからなんとも言えないけど。
0469467
垢版 |
2008/01/19(土) 22:24:51ID:qUuZEDm3
>>468
プレイしてくれてありがと〜
少々手抜きに作ってあるので、処理が少々重いかもしれないです

改めて日付の進み具合みると、かなり過疎ってるスレだったんですね…
コンソールゲーム好きなんで盛り上がってほしいものです(´ω`)
0470名前は開発中のものです。
垢版 |
2008/02/21(木) 19:28:43ID:3pTy6Xfx
多人数じゃんけんと小さいテトリスをつくってみました
テトリスは配列を使わずにつくってみました

ttp://gamdev.org/up/img/11108.zip
0471名前は開発中のものです。
垢版 |
2008/02/27(水) 23:03:16ID:YkodrRUR
>>470
テトリスが延々とスクロールしてゲームにならんのだが
0472名前は開発中のものです。
垢版 |
2008/02/28(木) 13:03:48ID:K/7PLLla
>>471
うわ、プレイしてくれたのに申し訳無いです

自分のパソコンだとちゃんと動くんですがなんでだろう?
シフト使ってるから論理と算術の違いなのかな、調べてみます

汚いコードですがテトリスのソースの方上げておきました
ttp://gamdev.org/up/img/11133.zip
0473名前は開発中のものです。
垢版 |
2008/02/28(木) 13:52:12ID:K/7PLLla
もしかして延々とスクロールって
スコア増加でスピード変化しないことなんでしょうか?
意味取り違えてたかも・・・

スコア増加でスピードが変化するようにしました(スコア10点でスピード1割)
ttp://gamdev.org/up/img/11134.zip
0474名前は開発中のものです。
垢版 |
2008/02/28(木) 17:49:02ID:mHka+q54
>>473
うーん、ソースみたところ
printf("\x1b[2;0H");
これがうまくいってない、この記述つかったことないので
なんともいえませんね…

動画とって見ましたんで、ご確認を
ttp://gamdev.org/up/img/11135.zip
0476名前は開発中のものです。
垢版 |
2008/02/28(木) 18:10:38ID:K/7PLLla
>>474
わざわざ動画あげてもらって申し訳無い、これはヒドイ・・・

多分ここ ttp://f4.aaa.livedoor.jp/~pointc/log137.html に
書いてあることだと思うので対策できるようにもう少し調べてみます
0477474
垢版 |
2008/02/28(木) 18:11:06ID:mHka+q54
調べてみたところNT系は、デフォルトではコンソールウインドウで
エスケープシーケンスが使えないとのこと。
SYSTEM32フォルダ内のCONFIG.NTに

device=%SystemRoot%\system32\ANSI.SYS

と入れると動作するとかありました。
おそらく私はこれに引っかかったのだと思います。
お騒がせしました。
0478名前は開発中のものです。
垢版 |
2008/02/28(木) 18:14:11ID:mHka+q54
あぁぁ、書き込みが遅かった
とりあえずエスケープシーケンスが使えないてことみたいですね
直接制御できるので、もしよかったら試してみてくださいな〜
0479名前は開発中のものです。
垢版 |
2008/02/28(木) 18:15:38ID:4ClwLeVU
2k/XPのコマンドプロンプトでは、
ANSIエスケープ・シーケンスはサポートされていないから
0480名前は開発中のものです。
垢版 |
2008/02/28(木) 18:32:48ID:K/7PLLla
たくさんのレスありがとうございます、参考になります

しかし当方Win98SEなので
CONFING.NTファイルを見たことがないのでよく分からず無念
流石によく知らない者がその辺のファイル弄るのは危なすぎると思うので
0481名前は開発中のものです。
垢版 |
2008/02/28(木) 23:26:14ID:K/7PLLla
>>直接制御
昔やったような気がすんですが、SetConsorCursorPosition()とかでしょうか?
CONFING.NTがよく分からないので
エスケープシーケンスの所を全部コレに変えました、動くといいんですが・・・

ttp://gamdev.org/up/img/11136.zip

あ、テトリスはsキーでブロックが空中でも止まります、意味はないです
じゃんけんは問題なくてよかった、前にあげたものは消しておきました
0482名前は開発中のものです。
垢版 |
2008/02/29(金) 00:29:06ID:cu8GNJze
>>481
ちゃんと動くようになりましたよ〜
おつかれさまです。

私の場合はここのヘッダ使ってカーソル位置とか色変えてますね
使いやすくて便利です。
ttp://www.plustarnet.com/aspil/Programming/CConsole.htm
>>467にあるマインスイーパーがそれを使ったゲームになってます
0483名前は開発中のものです。
垢版 |
2008/02/29(金) 12:41:32ID:0mOKtDVP
>>482
確認ありがとう〜、ちゃんと動いてよかったです
これからはこれ使っていこうと思います
そのページはブックマークしてたりしますが、C++なのでまだ分からなかったり

マインスイーパーやらせてもらいました、やりやすかったですよ〜
ちょっと気になったんですが
頻繁に黒いマスや黒い行なんかが現れては消えたりしました
うちのパソコンが古いせいかな?↓スクリーンショット撮っておきました

ttp://gamdev.org/up/img/11137.jpg
0484名前は開発中のものです。
垢版 |
2008/02/29(金) 20:58:31ID:cu8GNJze
>>483
うわぁほんとだ、なんだろうこれ…
どうにか対処してみようかと思いますね。
あと荒いソースですが、もしかしたら原因が特定できるかもしれないし
ソースうpしときます
ttp://gamdev.org/up/img/11139.zip

ではいまからがんばってきます〜
0485名前は開発中のものです。
垢版 |
2008/03/01(土) 19:11:20ID:vFAmEApP
>>484 乙です
多分、描画が追いついてないのかな
printf()前にSleep(0)で間を開けると直ったんですが、操作性がひどいことに

私も触発されてマインスイーパー作り始めました、むずかしい
0486名前は開発中のものです。
垢版 |
2008/03/02(日) 01:12:22ID:4aFwrjUS
>>485
うーん、隙間が開いて欠けてるからif文のミスかとおもってました。
メイン関数内のSleep(10)を0にするとかどうでしょうね?
CPU使用率考慮していれてあるだけなので、消してもいいかも

マインスイーパー作るときに一番苦労した部分って
周囲に爆弾がないとき、一気に開くってのが一番苦労しましたね。
思いついて入れた処理もかなり強引ですが、それっぽく動いてるので
そのまま実装しちゃいましたよ。
0487名前は開発中のものです。
垢版 |
2008/03/03(月) 19:05:51ID:PJWWh74H
>>487
SetConsoleTextAttribute()(の反映?と実行両方?)が時間かかるみたいですね
おまけや自分の作ったマインでも同じことが起こりました
レス後に難易度調整に気付いたんですがHELLだと操作ラグもかなりキツかったです
せっかくのカラーだったんですがSet〜を全部消せばかなりサクサク動きました
更にメインのSleep()も0にすれば完璧だったですよ

マインスイーパーの基礎ができました
やっぱり連鎖開きに悩みまくりましたが
考え方を探して再帰とかいうので処理してみました

マインの前に作った○×ゲームとおまけも入れて
ttp://gamdev.org/up/img/11148.zip
0488名前は開発中のものです。
垢版 |
2008/03/04(火) 00:37:30ID:Ooz14xk6
>>487
マインスイーパークリアーしときました、こんなに早く作れるなんて
すごいなぁ〜!
やってて不具合はなかったんですが、開くとフラッグのキーが近すぎて
よく間違えちゃうです(´ω`)

実は最近になってカーソル位置を変えるとか色つけるとか、
覚えたんで使ってたのですが、実は重いんですね。
もっと軽くなるように組みたいものです。

いままではsystem("cls")で画面ちらつかせながら
コラムスとかテトリス作ってました。目に優しくないです。
今度はコラムスを改良してあげてみようかな。
0489名前は開発中のものです。
垢版 |
2008/03/05(水) 22:23:03ID:PP0p/cWz
>>488
いえいえ〜、488さんのソースも参考にさせてもらいましたし
キーは自分も間違えるんですよね

コラムスですかー
やったことないんで調べてみたんですけどぷよぷよに近い感じみたいですね
ずらすっていうのが面白そうです

OS調べてコンソールAPIとエスケープシーケンスを切り替える実験したんですが
コンソールAPIの方がまだ分からないんで実験して貰えないでしょうか?
ただ自信がないので危なそうならやめてください
無限ループですがESCで抜けられますです

ttp://gamdev.org/up/img/11153.zip
0490名前は開発中のものです。
垢版 |
2008/03/05(水) 22:36:29ID:PP0p/cWz
ぬお、すいません
見落としがあったのでやめておいてください

getosversion()関数の
lstrcat(lstrcat(szOS, " "), osvi.szCSDVersion);を考慮してませんでした
0491名前は開発中のものです。
垢版 |
2008/03/05(水) 22:46:05ID:PP0p/cWz
メインの方での確認を
strncmp()で分かる文字列の範囲内で比較するように修正しましたです

ttp://gamdev.org/up/img/11153.zip
0492名前は開発中のものです。
垢版 |
2008/03/06(木) 08:44:59ID:/GRx5LMI
>>491
最初にWindows XP Service Pack 2とでてきて
FF風味の画面に移行しましたね
アダマンタイマイなつかしいですw

起きてすぐなのでメインしかみてませんが、
表示のほうは正常なようですよ〜
0493名前は開発中のものです。
垢版 |
2008/03/06(木) 12:23:32ID:CB9BuRd5
>>492
実験ありがとう、よかったちゃんと動いて
これでちゃんとエスケープシーケンスとコンソールAPI切り替えられそうです
画面はちょうど枠描画する関数とか書いていたので、これにしちゃえとw

「改良コラムス」の方が上がるのを期待してますよ〜
0494名前は開発中のものです。
垢版 |
2008/03/06(木) 15:56:01ID:/GRx5LMI
>>493
ずいぶん古くに作ったプログラムなので、1から作り直しレベルですね
もうちょい時間かかりそうです(現在60%)

昔のソースはインデントとコメントがカオスってますよorz
0497名前は開発中のものです。
垢版 |
2008/03/06(木) 18:47:16ID:/GRx5LMI
あぁMDdのままでした、MTにしてみたのでこれで動くはず。
消してあげなおしたら同じ名前になったけど、変更してあります。
ttp://gamdev.org/up/img/11156.zip
0498名前は開発中のものです。
垢版 |
2008/03/06(木) 20:29:50ID:CB9BuRd5
>>497
今度はちゃんと動きました
しかし、system("cls")のちらつきよりカーソルの移動のが気になるという事実w
コラムスの雰囲気伝わってきました、1から書き直し後40%頑張ってくだされ〜

>>昔のソースはインデントとコメントがカオス
私も中々上手くかけないので、最近は色んなソース見てパクりまくってます
0499名前は開発中のものです。
垢版 |
2008/03/10(月) 14:10:13ID:0VovTDRA
ずいぶんと時間がかかってしまいました。
色を排除して、カーソル移動で描画したいところだけ描画するように
直してみました。軽くなってるかどうかちょっとわかりませんが…

どうも連鎖してるように見せる為にSleepで一度止めたりしてるところとか
斜めの消去判定とるあたりが強引な気がします。
なんか良い斜めの消去判定ないものかなぁ…
ttp://gamdev.org/up/img/11181.zip
0500名前は開発中のものです。
垢版 |
2008/03/10(月) 19:48:54ID:ZiYiX7Gz
>>499
改良乙かれさまです、できればソースも見たいです
ちらつきは殆どなかったですよ!
連鎖もいいかんじでした、ただ連鎖のSleep()はむしろもう少し長い方がいいかも
連鎖だ!うおー、パパッ、アレ?と終わるせいかよく分からないことがw

キーを入力するとブレーキかかったような状態になるんですが
常に一定速度で落ちて来ないのは結構気になります

しかし、斜め判定は難しそうだなぁ
0501名前は開発中のものです。
垢版 |
2008/03/10(月) 22:28:02ID:0VovTDRA
>>500
あいかわらずの汚いソースですが…
ttp://gamdev.org/up/img/11183.zip

昔のソースを紐解いて、なんか斜めの消去のやり方が
二次元配列に添え字二つを同時に動かして、配列外になった添え字を元の場所に戻す。
これを繰り返してうまくループさせるために必要以上に大きく配列を取ってあるようです。

常に一定速度で落ちない理由がまだつかめてません。
割り当ててないキーを押したりしても、強制落下とは違う速度で加速してしまう
ようなので、そこの改善と消去関数をもう少し分かりやすく
合理的にできるといいな〜と

それよりグローバル変数に頼る癖も早く直したい気がしますね(ノ∀`)
0502名前は開発中のものです。
垢版 |
2008/03/11(火) 13:14:48ID:u0RGCZRQ
>>501
多分ですが
game_play()関数内でのswitch()でキー処理する直前のfor()文のせいかな?
コメントアウトで速くなったのでここで全体のウェイト取ってると思うんですが
これがキー処理に必ずウェイトかかる原因のような気がしますね

私は最近はグローバル使わずに全部構造体にぶち込んで渡してます
これもどうかと思いますが
0503名前は開発中のものです。
垢版 |
2008/03/13(木) 05:24:55ID:qALuOMqs
>>502
うーん、全体のウェイトをWin32APIのSYSTEMTIME構造体からwMillisecondsを
使って0.01秒を取得して、秒経過したら落とすようにしてみたんですが
どうでしょうね?

こちらで起きてた、割り当てされてないキーを押すと落下が加速する現象は
これで起きなくなったんですが、他で使えるのかわかりません。
またソースごとあげてみますので、よかったら試してみてください〜
あとカラー機能をON、OFFで切り替えれるように実装しときましたんで合わせて
いかがでしょうか?

ttp://gamdev.org/up/img/11197.zip
0504503
垢版 |
2008/03/13(木) 15:19:19ID:qALuOMqs
ちょっとバグがあったんで修正しておきました
ttp://gamdev.org/up/img/11201.zip
0505名前は開発中のものです。
垢版 |
2008/03/13(木) 16:43:10ID:snZebMO3
おお、消去に実にいい感じのアニメがつきましたねw
グッジョブです、これはマネしないとw
カラーも今の広さでは問題なしでしたよ!

報告ですが中連鎖以上位でキー押しっぱにするとビープ音連発状態になります
後は、細かく見ると左右交互に押すと結構処理が追いつかずカクカクしました
なので操作性辺りはまだ少し気にはなるです

私もコラムス作ってみた(ナナメ判定がやりたかった)のと
ヘッダ作ってみたのでちと上げてみます
0506名前は開発中のものです。
垢版 |
2008/03/13(木) 16:59:39ID:snZebMO3
コラムスは得点も一気に消す石もでないので凄い中途半端ですが
後はぷよぷよ辺りで落ち物は一通り完了かなぁ

ヘッダはぐちゃぐちゃだった前のを全面見直しして
位置と文字列が同時指定(フォーマット指定や縦書きとかも可)できる関数や
枠(普通、JIS、新JIS、枠一部なし等)を簡単描画できる関数を作ってみました
エスケープシーケンス版とコンソールAPI版の2つ入れてあります

ttp://gamdev.org/up/img/11202.zip
0507名前は開発中のものです。
垢版 |
2008/03/13(木) 17:48:15ID:qALuOMqs
>>506
memo.txtみました、なるほどこうすればよかったのかー
私の消し方かなり稚拙ですね、参考になりました(>Д<)ゞ

ぷよぷよは途中まで作って他の事始めちゃったので
ちゃんと作ったことないですねぇ、いずれ作りたいゲームではあります。
あと簡単に作れそうだけどサメガメとか、パズルじゃないけど
平安京エイリアンみたいなのか、前つくった自動生成ダンジョンの
アルゴリズムを使ってローグを自分で作るとかしたいですね

書き綴ってみて作りたいの多すぎですね(ノ∀`)
0508名前は開発中のものです。
垢版 |
2008/03/16(日) 22:59:00ID:z7zyGLKw
>>506
ソースをパッと見ただけだけど
columns xxx(columns data);
という関数は
void xxx(columns *data);
にしたほうが速い。
上の方は構造体のコピーを何回も行うことになる。
あと、基本的にはヘッダに実装を書いちゃダメ。
0509名前は開発中のものです。
垢版 |
2008/03/17(月) 11:46:37ID:BYBS0C4v
>>507
メモ書きは作る前にいつも書きなぐるもので
私がまだ再帰位しか分からないので参考になるか分からんとです
ぷよぷよってテトリス+コラムスみたいな感じですよね
うむしかし、挙げてくださったゲーム名がローグ以外ちっとも分からないw
私も作りたいのはたくさんありますがまだまだ技量が足りてません
色々作ったゲームがたまっていくのはなんか楽しいです

>>508
感想ありがとう参考になります
今はポインタ渡す方を試してますが、こっちの方が速かったんですね

ヘッダに実装というとヘッダ内の関数のことですか?
実は関数分けがよく分からなくて分けても○○はモジュールエラーでどうにもです
重複インクルードで引っかかってるのかな?と思って調べましたが
#ifndef〜#endifがいまいち分からず
凄い小さいプログラムでもう一回順々に試してみます
0510名前は開発中のものです。
垢版 |
2008/03/18(火) 00:56:56ID:JeDNgf5B
>>509
分割コンパイルとリンクについてもう少し勉強してみて。
コンパイル単位はソースファイル(*.c, *.cpp)だ。
あと、定義と宣言の違いとか。
0511名前は開発中のものです。
垢版 |
2008/03/22(土) 21:14:20ID:K/4nSBEA
>>510
おかげさまで分割コンパイルはできるようになりました
宣言はメモリを使用せず、定義はメモリを使用する、ですよね

セーブデータに反応してロード項目が明暗するタイトル画面と
ローグライクの"部屋割りしかできない"プログラムを作ってみました
部屋と部屋を繋げるのは難しいなぁ
あと、全角文字ってDOSプロンプトの全画面表示にすると文字化けするんですね

ttp://gamdev.org/up/img/11244.zip
0512名前は開発中のものです。
垢版 |
2008/03/23(日) 22:00:41ID:xiMUzKfB
>>511
もう少し細かいことを言うと、ヘッダファイルにはインクルードガードをつけよう。
例えば、game.hなら
#ifndef GAME_H
#define GAME_H

...

#endif /* GAME_H */
typedefや#defineが2重定義でエラーになることがある。

あと、ヘッダファイルでは必要最低限のものだけをインクルードすること。
基本はソースファイルでインクルード。
モジュール間の依存関係をなるべく減らすため。


ゲームに関係ないことばっか書いてるな
0513名前は開発中のものです。
垢版 |
2008/03/27(木) 22:28:35ID:Z85E7du+
>>512
指摘凄く助かってます、インクルードガードも付けました
無駄に何回もincludeさせて成功したので上手くいってるはず、多分
結局、関数も使いにくかったのでまた全部書き直しでした

ttp://gamdev.org/up/img/11257.zip
0516名前は開発中のものです。
垢版 |
2008/06/11(水) 04:35:11ID:pgfiz1XC
>>515
ありがとー。需要ないかも知れないけど、スレ用Wikiを作っておきました。

gamedev@CUI
http://www7.atpages.jp/~whitewiz/cui/

基本的なゲームプログラミングはgame-develop.comに任せて、
CUIベースに特化した技術や構想、実装方法などをメモしていけたらなと思ってます。
# telnet.exeを使ったオンラインゲームやcursesの分かりやすい使い方など、
# 3D/2Dベースのゲームでは出てこない要素も結構あるし
0517名前は開発中のものです。
垢版 |
2008/06/20(金) 02:02:35ID:r2ZGTi5+
ふ〜む、久々にC++の練習も兼ねて作ってみようかな
このスレ的に、.NETってありなのかな?
0525名前は開発中のものです。
垢版 |
2008/08/13(水) 23:37:24ID:EJzQ6R8p
あまり人居なさそうだけども、ちと質問です。

コンソールのとある1部分をころころと変えるような処理をしたい場合、
・char配列としてバッファを持っていて、毎回全部出力
・WriteConsoleOutputCharacter();で場所を指定して、そこにちょこっと出力
のどちらが高速に動作するんでしょうか、、、教えてください。
0526名前は開発中のものです。
垢版 |
2008/08/13(水) 23:56:55ID:CMyXDagd
>>525
わたくしの気分的には、場所を指定できるなら指定した方が速いような気がします!
何ら根拠はありません。

ただ、毎回全部出力だとスクロールによって画面がちらつくとか、
画面サイズによって出力する文字数を調整しないといけない = めんどくさくなるので
速度に関わらず場所指定した方が幸せな気がします。
0527名前は開発中のものです。
垢版 |
2008/08/25(月) 20:01:45ID:GP5x1+ae
CPANのcursesモジュールはマルチバイト文字に対応してないバージョンみたいだね。
テキスト処理が要になってくるのでPerlは重宝するんだけど、日本語や全角記号が使えないのは致命的だ・・・
0531名前は開発中のものです。
垢版 |
2008/10/27(月) 04:16:25ID:Tr2ZhL8i
【お題】 コンソールゲーム
【タイトル】 くよくよ
【ジャンル】 パズルゲーム
【URL】 http://applis.servehttp.com/?file=00031419.zip(pass kuyo)
【製作時間】 二日
【開発環境】 Dev C++
【概要】 ぷよぷよみたいなの
【操作方法】 まだなし

ぜんぜん完成していないけどあげてみました
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況