|
Name: ざこ ..上級者(18,124ポイント)
Date: 2009/02/06(金) 13:23
No:28358
|
|
Title: オセロ
|
|
またオセロの質問で申し訳ないのですが
オセロで石が置ける場所にカーソルをもっていけばカーソルが変化するようにしたいのです。
置けない場所のときはそのままで。OnMouseMoveで置ける場所のときのみBOOL変数を使ってon/offし
カーソルチェンジを試してみましたが全く変化ありません。OnSetCursor使えばカーソル変化はできます。
置ける場所にのみ という条件をつけるとできません。マスをクリックしたら、カーソル変化 というのはできます。
使う関数が間違っているのでしょうか、教えて下さい。
177ポイント を手に入れた。
|
|
|
|
Name: バグ ..ハッカー(147,030ポイント)
Date: 2009/02/06(金) 13:35
No:28359
|
|
Title: Re:オセロ
|
|
OnMouseMoveでカーソル位置を算出し、カーソルが置ける位置ならば、フラグ変数をTRUE、そうでないならFALSEにして、再描画する。
という流れでいけるのでは?
|
|
|
|
|
Name: ざこ ..上級者(18,628ポイント)
Date: 2009/02/06(金) 14:08
No:28360
|
|
Title: Re:オセロ
|
|
今たぶんそんな感じにしようと試してる所だと思います。
BOOL CDialogA::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message)
{
if(CurSor==TRUE){
HCURSOR myCSR;
if(myCSR){
::SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));
return TRUE;
}
}
return CDialogA::OnSetCurSor(pWnd, nHitTest, message)
}
void CDialog::OnMousemove(UINT nFlags, CPoint point)
{
int x,y;
x=point.x/MASU_SIZE;
y=point.y/MASU_SIZE;
if(rule(x,y,1,1)){
CurSor=TRUE;
}
if(rule(x,y,-1,-1)){
CurSor=TRUE;
}
if(rule(x,y,1,0)){
CurSor=TRUE;
}
if(rule(x,y,0,1)){
CurSor=TRUE;
}
if(rule(x,y,-1,0)){
CurSor=TRUE;
}
if(rule(x,y,0,-1)){
CurSor=TRUE;
}
if(rule(x,y,1,-1)){
CurSor=TRUE;
}
if(rule(x,y,-1,1)){
CurSor=TRUE;
}
else{
CurSor=FALSE;
}
CDialog::OnMouseMove(nFlags, point)
}
※CurSorはBOOL型のメンバ変数
というような感じになっております。
504ポイント を手に入れた。
|
|
|
|
|
Name: toyo ..プログラマー(25,272ポイント)
Date: 2009/02/06(金) 14:25
No:28361
|
|
Title: Re:オセロ
|
|
2つめ以降の
if(rule(x,y〜
を
else if(rule(x,y〜
にしないとほとんどFALSEになりますよ
if(rule(x,y,-1,1))の場合のみTRUEになります
71ポイント を手に入れた。
|
|
|
|
|
Name: toyo ..プログラマー(25,288ポイント)
Date: 2009/02/06(金) 14:27
No:28362
|
|
Title: Re:オセロ
|
|
CurSor=FALSE;
を先頭に持ってきて最後の
else {
CurSor=FALSE;
}
を削除してもいいですね
16ポイント を手に入れた。
|
|
|
|
Name: JT ..かけだし(1,609ポイント)
Date: 2009/02/05(木) 11:32
No:28276
|
|
Title: API機能
|
|
{雑談です}今日も曇りで嫌な天気ですね、私は今C++でマイクロ秒の出し方を実装してます。何をやってるのかさっぱり処理がわからん
31ポイント を手に入れた。
|
|
|
|
Name: バグ ..ハッカー(146,691ポイント)
Date: 2009/02/05(木) 14:34
No:28282
|
|
Title: Re:API機能
|
|
QueryPerformanceCounterでググると何か引っ掛かるかと思います。
本当は以前作ったサンプルを提示したいのですが、今日は出先なので…m(_ _)m
55ポイント を落としてしまった。
|
|
|
|
|
Name: JT ..かけだし(1,689ポイント)
Date: 2009/02/05(木) 14:59
No:28283
|
|
Title: Re:API機能
|
|
出先なのにありがとうございます。関数は分かるんですがC++では精密性に欠ける表示になるとかかれていてゆるく検討しています><
64ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(982,342ポイント)
Date: 2009/02/05(木) 16:10
No:28285
|
|
Title: Re:API機能
|
|
マルチタスクOSでは正確な時間の取得は難しいと言われていますね。
何が行いたいのかはわかりませんが、私は、なるべく、前回の誤差を次回で修正、次回の誤差を次々回で修正・・みたいな事をして補ってます。
例えば60FPS制御の例で言うと、
1フレームに16.66666666ms待機する必要があるのなら、毎回独立して時間をはかるのではなく、
1フレーム目で16.66666666msに出来るだけ近い時間待機、
2フレーム目で開始から16.66666666*2msに出来るだけ近い時間待機、
3フレーム目で開始から16.66666666*3msに出来るだけ近い時間待機、
...
60フレーム目で開始から1s待機
そうやっています。1秒まで来るとずいぶん誤差は減ってくるので、こうすることで、誤差を少なくしています。
心配なら1秒単位ではなく、ずっと補正していけばいいと思います。
JTさんが正確な時間を取得する必要が今どこにおありなのかわかりませんが、
何らかの工夫でその誤差を補える可能性はあるかもしれません。
416ポイント を手に入れた。
|
|
|
|
|
Name: JT ..かけだし(1,769ポイント)
Date: 2009/02/05(木) 16:17
No:28286
|
|
Title: Re:API機能
|
|
ありがとうございます^^sprintfでメモ帳にlogを出しているんですが秒単位でしか出せない(API関数)!いつも言われたこと以上の事をやれと言われているのでマイクロ秒について悩んでいました
80ポイント を手に入れた。
|
|
|
|
|
Name: dic ..中級者(11,395ポイント)
Date: 2009/02/05(木) 20:10
No:28303
|
|
Title: Re:API機能
|
|
printf( "%f", double )
など基礎的なことを調べたらいいかもしれないですね
20ポイント を手に入れた。
|
|
|
|
|
Name: JT ..かけだし(2,049ポイント)
Date: 2009/02/06(金) 11:20
No:28352
| 解決!
|
Title: Re:API機能
|
|
別のスレッドをたてました!教えてくださった方これからも宜しくお願い致します
41ポイント を手に入れた。
|
|
|
|
Name: く〜よん ..ぴよぴよ(328ポイント)
Date: 2009/02/05(木) 17:55
No:28295
|
|
Title: mbstowcs_s(マルチバイト→ワイド文字)
|
|
初めまして。
マルチバイト文字をワイド文字に変換しようとして、
期待通りの動作をしなくて困っています。
--------------------------------------------------------------------------------
size_t henkansaretamojisu = 0;
wchar_t wtextname[MAX_PATH] = {0}
char textname[MAX_PATH] = {"ファイルリスト.txt"};
mbstowcs_s(&henkansaretamojisu,wtextname,sizeof(MAX_PATH),textname,_TRUNCATE);
---------------------------------------------------------------------------------
期待している動作:wtextnameに変換された文字列「ファイルリスト.txt」が格納される。
現在の動作 :wtextnameに変換された文字列「ファイ」が格納される。
「_TRUNCATE」は3以外の数字に置き換えるとシステムエラーで落ちてしまいます。
(retsize<=sizeInwords と言われるのでバッファオーバーフローのようです。)
具体的にどう直せばよいのか分からないので質問させていただきました。
よろしくお願いします。
328ポイント を手に入れた。
|
|
|
|
Name: く〜よん ..ぴよぴよ(384ポイント)
Date: 2009/02/06(金) 09:11
No:28339
|
|
Title: Re:mbstowcs_s(マルチバイト→ワイド文字)
|
|
回答ありがとうございます。
無事解決しました。
MSDNって難しい言葉が
たくさん使われてて何度読んでも意味がピンときません(^^;
慣れるまで読み漁ります。
56ポイント を手に入れた。
|
|
|
|
Name: reirou ..ぴよぴよ(8ポイント)
Date: 2009/02/06(金) 01:24
No:28323
|
|
Title: ???
|
|
タイトルを表示したとき等のフェードイン&フェードアウトと
左側に表示されているボスまでの道のり
のプログラムが分かりません><
誰か教えてください><
8ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) ..伝説なるハッカー(983,817ポイント)
Date: 2009/02/06(金) 02:09
No:28331
|
|
Title: Re:???
|
|
龍神録プログラミングの館の話で、使っているライブラリはDXライブラリ、使用しているコンパイラはVC++ということでいいでしょうか?
フェードイン、フェードアウトについては、ゲームプログラミングの館に紹介してありますので、
参考にして下さい。
http://dixq.net/g/#35
また、アルファブレンドを使うと色々と世界が広がります。
http://dixq.net/g/#38
また、道のりの件ですが、ステージ中のカウント数はstage_countでカウントしていますよね。
そして、ボスまでのカウント数は
初期化関数内で
boss.appear_count[1]=2850;
のように入れてあります。
と言う事は、stage_countをこれで割ってやることで、0〜1の値が道のりLとして出せますよね。
ということは、例えば今、400ピクセルで、道のりを一本の棒で表現したいなら、
L*400で現在地が表示出来ます。
なお、題名は見たらトピの内容がわかるような名前にしていただけるとありがたいですm(_ _)m
331ポイント を手に入れた。
|
|
|
|
Name: nayo ..初心者(6,442ポイント)
Date: 2009/02/05(木) 22:24
No:28306
|
|
Title: ウィンドウの生成について
|
|
最近自分でDirectX9のライブラリを作りたいなと思い、作り始めたのですが
ウィンドウの生成部分で早速ひっかかりました
というのもウィンドウを閉じてもプログラムが生きたままという状況です
デバッグして調べると、どうもウィンドウプロシージャにHWNDを上手く渡せていないようでした
(常にウィンドウがまだ作成されていないと判断されている)
また、GetPropなどの関数の引数がデバッグモードとリリースモードで
LPCWSTRとLPCSTRと変わってしまい、困っています
はじめてのことばかりで苦戦しています
問題のウィンドウクラスの部分を添付しておきました
環境はVisual C++ Express Edition で言語はC++、OSはWindows Vistaです
160ポイント を手に入れた。
|
|
|
|
Name: nayo ..初心者(6,491ポイント)
Date: 2009/02/05(木) 22:32
No:28307
|
|
Title: Re:ウィンドウの生成について
|
|
今少し試したところ
LPCWSTRとLPCSTRと変わってしまうのはプロジェクトの設定の文字セットが原因でした
これについては解決です
49ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(314,953ポイント)
Date: 2009/02/05(木) 23:15
No:28312
|
|
Title: Re:ウィンドウの生成について
|
|
>というのもウィンドウを閉じてもプログラムが生きたままという状況です
んー、多分プロシージャの中で、WM_DESTROYのメッセージに対する処理、
つまり PostQuitMessage(0) を呼んでいないので、WM_QUITが来ず、
終了しないのではないでしょうか?
>どうもウィンドウプロシージャにHWNDを上手く渡せていないようでした
??
174ポイント を手に入れた。
|
|
|
|
|
Name: nayo ..初心者(7,139ポイント)
Date: 2009/02/06(金) 01:25
No:28324
|
|
Title: Re:ウィンドウの生成について
|
|
自分がよく理解してないようで申し訳ないです…
プロシージャをクラス内に入れてしまいたかったので色んなサイトを回りながら参考に書いたのですが
どうもどこか間違えてしまってるようです
LRESULT Window::WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
// thisポインタを得る
LRESULT lret;
Window *pTargetWnd = ( Window* )GetProp( hWnd, PROP_NAME );
// もしウィンドウが未生成なら
if( pTargetWnd == NULL )
{ // デフォルトのウィンドウプロシージャを呼び出す
return DefWindowProc( hWnd, uMsg, wParam, lParam );
}
// ウィンドウプロシージャ本体を呼び出す
lret = pTargetWnd->WindowProc( hWnd, uMsg, wParam, lParam );
// もしウィンドウを破棄していたら
if( uMsg == WM_NCDESTROY )
{ // 終了手続き
pTargetWnd->Detach();
}
// プログラムの状態を返す
return lret;
}
LRESULT Window::WindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
// プログラム状態に応じて
switch( uMsg )
{
case WM_DESTROY: // ウィンドウ終了時
PostQuitMessage( 0 ); // ウィンドウの終了を通知→PeekMessage関数
return 0; // 0の値を返す
}
// このプログラムで規定された処理外ならデフォルトの処理を行ってその値を返す
return DefWindowProc( hWnd, uMsg, wParam, lParam );
}
上の赤で表示下部分が毎回実行されて、青の部分までたどりついていないような状況です
もう少し考えてみます
648ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(315,320ポイント)
Date: 2009/02/06(金) 01:45
No:28326
|
|
Title: Re:ウィンドウの生成について
|
|
>上の赤で表示下部分が毎回実行されて、青の部分までたどりついていないような状況です
なるほど。
では、SetProp()はどこかでしていますか?
していないと GetProp()で Window *は取れないので。
pTargetWndが NULLであろうが、非NULLであろうが動くようにするのであれば、
その赤い if分の上に uMsgが WM_DESTROYだったら PostQuitMessage()をするだけで
動くような気がします。
116ポイント を手に入れた。
|
|
|
|
|
Name: nayo ..初心者(7,204ポイント)
Date: 2009/02/06(金) 02:02
No:28329
| 解決!
|
Title: Re:ウィンドウの生成について
|
|
SetProp( m_hWndMain, PROP_NAME, (HANDLE)this );
という一行をInitWindow()関数の最後あたりに追加したら無事動作しました
SetPropを行わないとGetPropはできなかったのですね
この度は本当にありがとうございました
65ポイント を手に入れた。
|
|
|
|
Name: kokoro ..初心者(5,837ポイント)
Date: 2009/02/03(火) 16:20
No:28199
|
|
Title: 課題がわからないので教えてください
|
|
【問題文】
1] 授業単元: C言語
[2] 問題文(含コード&リンク):
・2つの分数の分子と分母を入力すると,それらの和・差・積・商を
出力する.データは構造体で表現すること.
・分数計算では通分・約分には最大公約数が必要になる.通分には分母の最小公倍数が,
約分には最第公約数が必要である.したがってこれらを計算する関数をそれぞれ作る.
・最大公約数を求めるには,次のアルゴリズムを使うとよい(ユークリッドの互除法).
@ mをnで割る (ただしm>n).
A @の割る数を@の余りで割る.
B Aの割る数をAの余りで割る.
C 以下同様に,余りが0になるまで繰り返し,そのときの「割る数」が最大公約数になる.
・2つの数,m,nの最小公倍数は,m*n/(mとnの最大公約数)で求めることができる.
(実行例)
1つめの分数の分子・分母の入力―>3 4
2つめの分数の分子・分母の入力―>1 6
和:11 / 12
差: 7 / 12
積: 1 / 8
商: 9 / 2
和と差が計算できないのですが、どうすればいいのでしょうか?
教えてください。
ソースは添付しました。
191ポイント を手に入れた。
|
|
|
|
Name: たいちう ..上級者(23,506ポイント)
Date: 2009/02/03(火) 17:42
No:28203
|
|
Title: Re:課題がわからないので教えてください
|
|
通分の方法が間違っています。以下の通りではないかと。
A.son / A.mom = (A.son * new_mom) / (A.mom * new_mom) = (A.son * new_mom / A.mom) / new_mom
(和) = (A.son * new_mom / A.mom + B.son * new_mom / B.mom) / new_mom
94ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(146,113ポイント)
Date: 2009/02/03(火) 17:51
No:28204
|
|
Title: Re:課題がわからないので教えてください
|
|
間違ってたらごめんなさい(苦笑)
しかも、無駄に長いし…(^_^;)
#include <stdio.h>
// 分数表現用の構造体
struct Fraction
{
int Numerator; // 分子
int Denominator; // 分母
};
// プロトタイプ宣言
void InputFraction(int count, struct Fraction* fraction);
void Addition(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer);
void Subtraction(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer);
void Multiplication(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer);
void Division(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer);
int GreatestCommonDivisor(int value1, int value2);
int LeastCommonMultiple(int value1, int value2);
void ReductionToItsLowestTerms(struct Fraction* fraction);
// メイン関数
int main(void)
{
struct Fraction f1, f2, f3;
InputFraction(1, &f1);
InputFraction(2, &f2);
Addition(f1, f2, &f3);
printf("たし算 = %d / %d\n", f3.Numerator, f3.Denominator);
Subtraction(f1, f2, &f3);
printf("ひき算 = %d / %d\n", f3.Numerator, f3.Denominator);
Multiplication(f1, f2, &f3);
printf("かけ算 = %d / %d\n", f3.Numerator, f3.Denominator);
Division(f1, f2, &f3);
printf("わり算 = %d / %d\n", f3.Numerator, f3.Denominator);
}
// 分数データの入力
void InputFraction(int count, struct Fraction* fraction)
{
printf("%d 個目のデータ入力\n", count);
printf("分子を入力して下さい ");
scanf("%d", &fraction->Numerator);
printf("分母を入力して下さい ");
scanf("%d", &fraction->Denominator);
}
// たし算
void Addition(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer)
{
int lcm = LeastCommonMultiple(fraction1.Denominator, fraction2.Denominator);
answer->Numerator = fraction1.Numerator * (lcm / fraction1.Denominator) + fraction2.Numerator * (lcm / fraction2.Denominator);
answer->Denominator = lcm;
ReductionToItsLowestTerms(answer);
}
// ひき算
void Subtraction(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer)
{
int lcm = LeastCommonMultiple(fraction1.Denominator, fraction2.Denominator);
answer->Numerator = fraction1.Numerator * (lcm / fraction1.Denominator) - fraction2.Numerator * (lcm / fraction2.Denominator);
answer->Denominator = lcm;
ReductionToItsLowestTerms(answer);
}
// かけ算
void Multiplication(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer)
{
answer->Numerator = fraction1.Numerator * fraction2.Numerator;
answer->Denominator = fraction1.Denominator * fraction2.Denominator;
ReductionToItsLowestTerms(answer);
}
// わり算
void Division(struct Fraction fraction1, struct Fraction fraction2, struct Fraction* answer)
{
answer->Numerator = fraction1.Numerator * fraction2.Denominator;
answer->Denominator = fraction1.Denominator * fraction2.Numerator;
ReductionToItsLowestTerms(answer);
}
// 最大公約数
int GreatestCommonDivisor(int value1, int value2)
{
while (value1 % value2 != 0)
{
int rest = value2;
value2 = value1 % value2;
value1 = rest;
}
return value2;
}
// 最小公倍数
int LeastCommonMultiple(int value1, int value2)
{
return value1 * value2 / GreatestCommonDivisor(value1, value2);
}
// 約分
void ReductionToItsLowestTerms(struct Fraction* fraction)
{
int gcd = GreatestCommonDivisor(fraction->Numerator, fraction->Denominator);
fraction->Numerator /= gcd;
fraction->Denominator /= gcd;
}
1,747ポイント を手に入れた。
|
|
|
|
|
Name: kokoro ..初心者(5,891ポイント)
Date: 2009/02/03(火) 19:05
No:28206
|
|
Title: Re:課題がわからないので教えてください
|
|
>>たいちうさん
こればどこに入れればいいんですか?
>>lbfuvabさん
ユークリッドの互除法は int gcd
のところではないんですか?
54ポイント を手に入れた。
|
|
|
|
|
Name: lbfuvab ..上級者(15,730ポイント)
Date: 2009/02/03(火) 20:40
No:28209
|
|
Title: Re:課題がわからないので教えてください
|
|
あ、携帯から見てたのでソースが見れなくてアホな事を言ってしまいました。
すいませんでした。
2倍のポイントを手に入れた! 78ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(146,154ポイント)
Date: 2009/02/04(水) 08:53
No:28233
|
|
Title: Re:課題がわからないので教えてください
|
|
華麗にスルーされてる…orz
参考ソースを見ずに、全部オリジナルでおこしたのがマズかったかな?(^_^;)
41ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(146,627ポイント)
Date: 2009/02/04(水) 09:25
No:28234
|
|
Title: Re:課題がわからないので教えてください
|
|
オリジナルソースをある程度は残しつつ作ってみました。
あとはご自身で解読してみて、そのうえで分からないところがあれば、ご質問ください。
#include <stdio.h>
/* 分数構造体 */
typedef struct bunsu
{
int son;
int mom;
}
BUNSU;
/* プロトタイプ宣言 */
int Gcd(int m, int n);
int Lcm(int m, int n);
void Rlt(BUNSU* a);
void Rcd(BUNSU* a, BUNSU* b);
/* メイン関数 */
int main()
{
BUNSU A, B, C;
/* 分数の入力 */
printf("1つめの分数の分子・分母の入力-> \n");
scanf("%d %d",&A.son, &A.mom);
printf("2つめの分数の分子・分母の入力-> \n");
scanf("%d %d",&B.son, &B.mom);
/* 通分 */
Rcd(&A, &B);
/* 和 */
C.son = A.son + B.son;
C.mom = A.mom;
Rlt(&C);
printf("和:%d / %d\n", C.son, C.mom);
/* 差 */
C.son = A.son - B.son;
C.mom = A.mom;
Rlt(&C);
printf("差:%d / %d\n", C.son, C.mom);
/* 積 */
C.son = A.son * B.son;
C.mom = A.mom * B.mom;
Rlt(&C);
printf("積:%d / %d\n", C.son, C.mom);
/* 商 */
C.son = A.son * B.mom;
C.mom = A.mom * B.son;
Rlt(&C);
printf("商:%d / %d\n", C.son, C.mom);
return 0;
}
/* 最大公約数を求める関数 */
int Gcd(int m,int n)
{
int temp, amari;
if (m < n)
{
temp = m;
m = n;
n = temp;
}
while (m % n != 0)
{
amari = n;
n = m % n;
m = amari;
}
return n;
}
/* 最小公倍数を求める関数 */
int Lcm(int m, int n)
{
return m * n / Gcd(m, n);
}
/* 約分を行う関数 */
void Rlt(BUNSU* a)
{
int gcd = Gcd(a->son, a->mom);
a->son /= gcd;
a->mom /= gcd;
}
/* 通分を行う関数 */
void Rcd(BUNSU* a, BUNSU* b)
{
int lcm = Lcm(a->mom, b->mom);
a->son *= (lcm / a->mom);
a->mom = lcm;
b->son *= (lcm / b->mom);
b->mom = lcm;
}
473ポイント を手に入れた。
|
|
|
|
|
Name: kokoro ..初心者(5,651ポイント)
Date: 2009/02/04(水) 11:22
No:28236
|
|
Title: Re:課題がわからないので教えてください
|
|
バグさんありがとうございます。
バグさんのプログラムを実行してみました。
私のプログラムもそうなんですが、商のところで、
問題文の
1つ目の分子・分母ー>3 4
2つ目の分子・分母ー>1 6
を計算すると 9/2と合っている答えが出るのですが、
他の数字たとえば、
1つ目の分子・分母ー>4 5
2つ目の分子・分母ー>3 7
を計算すると答えは 15/28になると思うのですが、
プログラムを実行すると、28/15と逆になってしまいます。
どうしてでしょうか?
教えてください。
240ポイント を落としてしまった。
|
|
|
|
|
Name: バグ ..ハッカー(146,695ポイント)
Date: 2009/02/04(水) 11:35
No:28240
|
|
Title: Re:課題がわからないので教えてください
|
|
4/5 ÷ 3/7 = 28/15
であってるんではないでしょうか?
問題ないように思うのですが?(^_^;)
43ポイント を手に入れた。
|
|
|
|
|
Name: TOMONORI ..かけだし(1,072ポイント)
Date: 2009/02/06(金) 01:11
No:28321
|
|
Title: Re:課題がわからないので教えてください
|
|
分数を扱うプログラムって結構面白いですね。
しかし残念なことに自分はCをほとんど知らない上、ユークリッドの〜も
忘れてしまったので通分なんかはこんな感じに
void reduce(int * n, int * d, int i = 2)
{
for(; i <= (* n < * d ? * n : * d); ++ i)
{
if(* n % i + * d % i == 0)
{
reduce(& (* n /= i), & (* d /= i), i);
}
}
}
書いてしまうのですが、再帰呼び出しが汚すぎるうえにポインタを使ってしまっているので
(自分はポインタ嫌い)、Cで書くのはあきらめました。kokoroさんの質問に関しての回答は
すでに解決しているみたいなので、余興的な意味合いでC++での解を貼らせて下さい。
大概のコンパイラは許してくれるはず。分数の要素はunsigned限定で書きました。
改良点等の指摘があったら大喜びです。
(誰かに自分のコードを見てもらいたいと思う病気はどうやったら治るんでしょうか・・・
ぴよぴよを卒業するころには自然に治るのかな?)
155ポイント を手に入れた。
|
|
|
|
|
Name: TOMONORI ..ぴよぴよ(460ポイント)
Date: 2009/02/02(月) 10:47
No:28134
|
|
Title: Re:定義
|
|
宣言と定義の定義だとすると、関数を例として、
// 宣言
int func(int num);
// 定義
int func(int num)
{
// 動作の記述
return num * num;
}
// 任意の場所で利用する
int main()
{
int i;
int ii;
i = 2;
ii = func(i); // 利用
return 0;
}
84ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..比類無きプログラマー(82,698ポイント)
Date: 2009/02/02(月) 12:28
No:28136
|
|
Title: Re:定義
|
|
C言語における「定義」は、JIS X3010:2003では、6.7 宣言によると...
意味規則 宣言は, 幾つかの識別子の解釈及び属性を指定する。識別子の定義(definition)とは, 宣言のうち次のものをいう。
− オブジェクトに対しては, そのオブジェクトの記憶域を確保する宣言
− 関数に対しては, 関数本体を含む宣言
− 列挙定数又は型定義名に対しては, その識別子の(唯一の)宣言
となっています。
一方、#define前処理指令によるものは「マクロ定義」です。
また、typedef指定子によるものは「型定義」です。
さらに、
struct A;
union B;
enum C;
が構造体・共用体・列挙体の宣言であるのに対して、
struct A { int a; };
union B { int b; };
enum C { c };
は構造体・共用体・列挙体の定義になります。
最後に、ややこしい概念として「仮定義」というものがあります。
これについては自分で調べてみてください。
301ポイント を手に入れた。
|
|
|
|
Name: ゆうき [URL] ..ぴよぴよ(8ポイント)
Date: 2009/02/05(木) 18:20
No:28297
|
|
Title: 初期設定よくわかりません
|
|
VCやDXライブラリの設定の部分で意味がわからないところは勘で操作したため
腑に落ちない部分が数か所確実にあったのですが
確認の為に途中2回ある実行ではちゃんと緑色のチャイナドレス着た女の子が2回とも
それぞれの条件通り出現しました。
これはつまり「大丈夫。 設定はちゃんとできているよ」と
解釈してもいいのでしょうか?
8ポイント を手に入れた。
|
|
|
|
Name: ゆうき ..ぴよぴよ(56ポイント)
Date: 2009/02/05(木) 23:43
No:28316
| 解決!
|
Title: Re:初期設定よくわかりません
|
|
> VCやDXライブラリの設定の部分で意味がわからないところは勘で操作したため
> 腑に落ちない部分が数か所確実にあったのですが
>
> 確認の為に途中2回ある実行ではちゃんと緑色のチャイナドレス着た女の子が2回とも
> それぞれの条件通り出現しました。
>
> これはつまり「大丈夫。 設定はちゃんとできているよ」と
> 解釈してもいいのでしょうか?
すみません。 やり方がわからないので
この場を借りて答えてくださった管理人様に感謝の意を伝えます
どうもありがとうございました。
48ポイント を手に入れた。
|
|
|
|
Name: Ryu ..ぴよぴよ(273ポイント)
Date: 2009/02/05(木) 16:58
No:28291
|
|
Title: 得点盤
|
|
初めましてです
いきなりで済みませんが
文化祭でゲームを出展することにしました
しかしc言語すらやったことないので
いろいろと苦戦を強いられてます
で、本題ですが
得点盤って普通にペイントやpixiaで作ればいいんですか?
また作るとしてサイズや拡張子などを教えていただくと
光栄です
95ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(983,368ポイント)
Date: 2009/02/05(木) 17:14
No:28293
|
|
Title: Re:得点盤
|
|
何の得点盤でしょう?
また、画像を扱う場合は、自前で用意しない限り、何らかのライブラリを使うことになると思いますが、
使いたいライブラリは何でしょうか?
・・ってC言語未経験でしたら、難しいかもしれませんが、どのライブラリでどういう風に実装しようとか、そういう話は持ち上がっていませんか?
プログラムを担当する方はRyuさんでしょうか?
C言語未経験で突然得点盤を作るのは難しいと思いますが、
まず、画像を用意したいなら、ペイントで描いてpngか何かで保存すればいいと思います。
サイズは用途によりますが、ゲームとかでよく使う画面サイズは640x480です。
制作の目処は立っているのでしょうか?
「今までコンパイルもしたことない」という状態だと、まずは得点盤はおいといて、
C言語入門サイトで勉強してからの方がいいと思います。
逆に言えば、C言語入門サイトを一通り読んで、ゲームプログラミングの館が一通り理解出来るように
順序良くコツコツやっていけば、得点盤に限らず凝ったことも出来るようになると思います。
また、得点盤さえ、あればよく、今後勉強するつもりも無い場合は、得点版位でしたら、
かわりに作りましょうか?
→もしその場合は実装したい仕様をこと細かく教えて下さい。
264ポイント を手に入れた。
|
|
|
|
|
Name: Ryu ..ぴよぴよ(447ポイント)
Date: 2009/02/05(木) 19:54
No:28301
|
|
Title: Re:得点盤
|
|
東方風のシューティングを
Dxライブラリを使って
やっています
c言語はこちら様のサイトの
ゲームプログラミングの館の
ページをすべて印刷し
ファイルにまとめて
勉強させて貰ってます
得点盤などは高校生活最後の
文化祭なので自分で
作らせていただきます
保存するときの拡張子
及びサイズを教えていただき
ありがとうございます
一人で制作しているのでまた質問
させてもらうかもしれません
174ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(982,582ポイント)
Date: 2009/02/05(木) 16:50
No:28289
|
|
Title: 〜研究会での写真や動画について〜
|
|
住まいの地域の関係で出席出来ないけど、研究会の発表は聞いてみたいとか、どんな様子か知りたいというコメいくつか頂きました。
そこで、HPで研究会の様子を公開出来ないかと考えています。
(1). 撮影・公開可の場合
発表の様子をカメラで撮影し、そのまま動画をHPにアップし、プレゼンの資料と並べて誰でも見れるようにする。
(2). 撮影可、自分の映像は公開は不可の場合
私が家に帰ってから、動画を聞いて発言している文章を書き出し、プレゼンの資料と、文章を公開する。(見やすいように、何か資料と文章を対応させるとか工夫したいと思います)
(3). 撮影も公開も不可の場合
何もしない。ただ何を発表したか、その題目だけ書かせていただけたらと思います。
他、研究会の様子をHPにアップ出来たらと思うのですが、皆様のご意見いかがでしょうか。
アップしてほしくないという方もいらっしゃるでしょうから、
その場合は、アップしないで欲しいと仰った方が移っていない写真や動画のみで構成しようと考えています。
特にどの「写真が誰」と言うわけではないので、多分誰が誰かわからないと思うのですが、
年齢的な部分などで推測される場合もありますので、そこまで匿名性は無いかもしれませんね・・。
(ただし、発表者の場合、ハンドルネームと顔が一致してしまいますね)
「いや、たとえ自分が写った写真が無くても研究会の内容がアップされること自体嫌だ」と仰る方がいらっしゃれば、
そちらを大事にしようと思いますので、この企画自体断念やめにすることにします。
で、ここでアンケートを取っても、「わしはそんなアンケート見てない」って事になるかもしれないので、
当日改めて以下のようなアンケートを取ろうと思います。
1. 撮影も公開も可
2. 撮影も公開も可(ただしハンドルネームが解るようなシーンは不可)
3. 撮影は可、公開は不可(みんなと混じってる中にちょろっといる位なら可)
4. 撮影は可、公開は完全不可
5. 撮影は不可(ちょろっと撮る位なら可)、公開は完全不可
6. 撮影も公開も完全不可
7. 撮影も公開も完全不可で、更に自分が写っていない映像でもアップするのは嫌
この件についてどう思われるでしょうか?
また、こういう対応で大丈夫でしょうか?
517ポイント を手に入れた。
|
|
|
Name: たか ..入門者(4,900ポイント)
Date: 2009/02/04(水) 22:44
No:28259
|
|
Title: 静的ライブラリについて
|
|
静的ライブラリを作って他のプログラムで試してみたのですが、こんなエラーが出てしまいます。
mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\Yi$Vij(F9H.exe.embed.manifest". Qia|?LUcfD~Y
静的ライブラリは下記の手順で作りました。
ファイル 新規作成 プロジェクト Win32プロジェクト スタティックライブラリ
環境:
Visual C++ 2008 Express Edition
Windows Vista Home Basic
エラーについて調べてみましたが、自分には理解できませんでした。
どうすればいいのでしょうか?
264ポイント を手に入れた。
|
|
|
|
Name: lbfuvab ..上級者(15,906ポイント)
Date: 2009/02/04(水) 23:13
No:28261
|
|
Title: Re:静的ライブラリについて
|
|
エラーメッセージを訳すと
mt.exe : 一般的なエラー c101008a:最新のマニフェストを".\Debug\Yi$Vij(F9H.exe.embed.manifest".に保存する事に失敗しました。
となります。
予想ですが、プロジェクト名に二バイト文字(英数字以外の文字)は含まれていませんか?
含まれているなら、プロジェクト名を変えるのをお薦めします。
150ポイント を手に入れた。
|
|
|
|
|
Name: たか ..初心者(5,026ポイント)
Date: 2009/02/05(木) 13:14
No:28279
| 解決!
|
Title: Re:静的ライブラリについて
|
|
返信遅れてしまいました。
御津凪さん
静的ライブラリを使用する方のプログラムをリビルドしたところ、正常にコンパイルできました。
設定を変えたときはやっぱりリビルドした方がいいのでしょうか。
lbfuvadさん
プロジェクト名は"静的ライブラリ使用テスト"でした。
2byte文字はプロジェクト名やソースファイル名に使わないほうがいいみたいですね。
とにかく、無事コンパイルできました。
みなさんありがとうございました。
126ポイント を手に入れた。
|
|
|
|
Name: 夏天 ..初心者(6,077ポイント)
Date: 2009/02/04(水) 15:30
No:28245
|
|
Title: midiについて
|
|
C++でWindowsに登録されてるmidiデバイスのリスト取得および再生を行いたいのですが
いったいどこから手をつければいいのかわからない状態です
まずどこから手をつければいいのか教えてください
おねがいします
OS WinXP 環境VS2005
75ポイント を手に入れた。
|
|
|
|
Name: 夏天 ..初心者(6,102ポイント)
Date: 2009/02/05(木) 13:10
No:28278
|
|
Title: Re:midiについて
|
|
最初に書き忘れてましたすみません
MSDNを読んでも分からなかったのでココに質問しにきました
25ポイント を手に入れた。
|
|
|
|
Name: JT ..ぴよぴよ(400ポイント)
Date: 2009/02/03(火) 13:55
No:28188
|
|
Title: 改行について
|
|
こんにちは^^C言語の改行ですが 例>printf("HELLO!!\n\n\n\n") と何行か改行するプログラムを書くのですがこれ以外にループ文を使用せず10行改行する方法はないでしょうか?
44ポイント を手に入れた。
|
|
|
|
Name: 御津凪 [URL] ..熟練のプログラマー(53,219ポイント)
Date: 2009/02/03(火) 14:13
No:28189
|
|
Title: Re:改行について
|
|
単に10行固定で改行するなら、
printf("\n\n\n\n\n\n\n\n\n\n");
で済みます。
あとは、
void printf_return( int num ){
char buf[128];
if(num < 128){ // 127個の改行まで対応
memset(buf,'\n',num); // num 個の改行文字で埋める
buf[num] = '\0'; // 終端文字を追加
printf(buf); // 出力
}
}
こうでしょうかね。
189ポイント を手に入れた。
|
|
|
|
|
Name: JT ..ぴよぴよ(446ポイント)
Date: 2009/02/03(火) 14:17
No:28190
|
|
Title: Re:改行について
|
|
ありがとうございます^^ 10\nのような処理が欲しいです、、、何か\nを10回入出力させるのは抵抗がありました><
46ポイント を手に入れた。
|
|
|
|
|
Name: 御津凪 [URL] ..熟練のプログラマー(53,457ポイント)
Date: 2009/02/03(火) 15:19
No:28192
|
|
Title: Re:改行について
|
|
printf の書式を独自に拡張すれば、
"%$10\n"
とかで改行文字が10回出力されるようにする、という実装は可能かもしれませんが、
単に10回 '\n' を書いたほうが遥かに簡単ですし、コードも短く済みます。
確かにコードに直接書くのは抵抗があるかもしれませんが、
この場合は割り切って直接書いたほうがいいと思います。
苦労してまでその書式の独自拡張を実装する必要があるのかどうか、
という点を考えるべきですね。
# 効率化を図るための実装が見合うものでなかったら逆効果(あるいは無意味)ですし、
# 非効率に見える処理が実は効率的である、ということもあります。
238ポイント を手に入れた。
|
|
|
|
|
Name: JT ..ぴよぴよ(470ポイント)
Date: 2009/02/03(火) 15:51
No:28195
|
|
Title: Re:改行について
|
|
そうですよね><初心者だからこそ綺麗なプログラムをかきたくて
24ポイント を手に入れた。
|
|
|
|
Name: ともこ ..ぴよぴよ(144ポイント)
Date: 2009/02/04(水) 19:23
No:28255
|
|
Title: 視線によるカメラの回転
|
|
宜しくお願いします。
モデリングソフト(メタセコ)のようにモデルを回転させようと思い、
クォータニオンを使おうと思ったのですがうまくいきません。
D3DXVECTOR3 rotate(x,y,z); //各軸を中心とした回転角度
D3DXVECTOR3 view //視線ベクトル
この2つの変数から回転角度を求めたいわけです。
視線ベクトルをZ軸に見立てて回転角度を指定したいのですが
回転角度をワールド座標系の回転角度に変換する方法がわかりません。
どうか宜しくお願いします。
144ポイント を手に入れた。
|
|
|
Name: じゃが ..ぴよぴよ(841ポイント)
Date: 2009/02/04(水) 01:07
No:28221
|
|
Title: while文で改行文字を出力しない方法
|
|
初めまして。さっそくですが質問をさせていただきます。
[1.1] 自分が今行いたい事は何か
明解C++の演習問題3-5を解いていたのですが、分からなかったので質問します。
[1.2] どのように取り組んだか(プログラムコードがある場合記載)
#include <iostream>
using namespace std;
int main()
{
int a;
cout << "何個☆を表示しますか:";
cin >> a;
int i = 0;
while(i < a){
cout << "☆";
i++;
}
cout << "\n";
return 0;
}
[1.4] 今何がわからないのか、知りたいのか
☆を表示するまではできたのですが、1未満の数字を入れて改行文字を出力しないようにしたいのですが、全く分かりません。
C++の知識は全くありません。
自分が考えたところまでは、1回もwhile文が実行されなければ改行はされないかなと思い、while文の前にif文とかをいれてみましたがだめでした。
228ポイント を手に入れた。
|
|
|
|
Name: ああ ..ぴよぴよ(79ポイント)
Date: 2009/02/04(水) 02:37
No:28224
|
|
Title: Re:while文で改行文字を出力しない方法
|
|
cout << "\n";
↑これが改行を出力している部分である
ということが分かっていないように見えてしまいました。
"1未満の数字を入れて改行文字を出力しないようにしたい"
を言葉通りに捉えれば、lbfuvabさんのおっしゃるように、
cout << "\n";
を
if(!(a < 1)) cout << "\n";
となるんでしょうかね。
79ポイント を手に入れた。
|
|
|
|
|
Name: TOMONORI ..ぴよぴよ(917ポイント)
Date: 2009/02/04(水) 12:27
No:28242
|
|
Title: Re:while文で改行文字を出力しない方法
|
|
入力された時点でaに関しての制限(正数以外ダメ!)等を記述するといいかもです。
aが1以下ならそっけなく終了。とすれば今回はいいような気がします。
#include <iostream>
using namespace std;
int main()
{
cout << "何個☆を表示しますか:";
int a;
cin >> a;
// a < 1 なら即終了
if(a < 1)
{
return -1;
}
// 出力
for(int i = 0; i < a; ++ i)
{
cout << "☆";
}
// 改行
cout << endl;
return 0;
}
補足:
課題に特に縛りがなければ今回はfor文を使うべきだと思います(ループ内でしか使わない
変数はループ内で宣言←スコープ制限。インクリメントの明示。などの理由で)。
std namespace を使うのであらば改行はstd::endlを使うほうがそろっていて良いです。
aよりもnumStarのほうがいい名前で、intよりもunsigned intのほうがふさわしいです。
++演算子は常に前置で使うようにしたほうがいいです。
質問やつっこみがあったら教えてください。
あと、補足の内容は無視してくださってもかまいません。
(プレタグ内のタブストップってどうやって変えるんでしょう?変えられないのかな?)
362ポイント を手に入れた。
|
|
|
|
|
Name: じゃが ..ぴよぴよ(937ポイント)
Date: 2009/02/04(水) 19:14
No:28254
| 解決!
|
Title: Re:while文で改行文字を出力しない方法
|
|
皆様ありがとうございます。
実行できました。
下の部分の
cout << "\n";
を何回かいじったのですが、実行結果が変わらなかったので関係ないと思いこんで上ばかり変えてました。。
TOMONORIさんの補足は、参考にさせていただきます。
まだ読み始めたばかりなので、全く分かりませんが・・・。
96ポイント を手に入れた。
|
|
|
|
Name: Shakes ..ぴよぴよ(67ポイント)
Date: 2009/02/04(水) 18:56
No:28252
|
|
Title: MDIプロジェクトでのドラッグアンドドロップ
|
|
OS : Windows XP Professional SP3
CPU : Pentium4 3.40GHz
メモリ : 1G
言語 : MFC
環境 : Microsoft Visual Studio 2005
はじめまして。 shakesと申します。
宜しくお願いいたします。
現在、MDIプロジェクトで開発を行っているのですが、任意のファイルを
親フレームにドラッグアンドドロップすると、デフォルト動作で子フォームが
生成されてしまいます。
ドラッグアンドドロップ時に子フォームを作成禁止にする方法があれば
ご教授ください。
67ポイント を手に入れた。
|
|
|
Name: ざこ ..上級者(17,929ポイント)
Date: 2009/02/04(水) 17:07
No:28247
|
|
Title: オセロ
|
|
結構前にオセロに関してご質問させていただきました。疑問に思った事があるのでご質問させていただきます
BOOL COseroView::CanDropDown( int x, int y, int vect_x, int vect_y )
{
int put_stone;
if( m_FlagForWhite )put_stone = WHITE_STONE;
else put_stone = BLACK_STONE;
x += vect_x;
y += vect_y;
if( x < 0 || x >= MASU_NUM || y < 0 || y >= MASU_NUM )return( FALSE );
if( m_Board[x][y] == put_stone )return( FALSE );
if( m_Board[x][y] == BLANK )return( FALSE );
x += vect_x;
y += vect_y;
while( x >= 0 && x < MASU_NUM && y >= 0 && y < MASU_NUM )
{
if( m_Board[x][y] == BLANK )return( FALSE );
if( m_Board[x][y] == put_stone )return( TRUE );
x += vect_x;
y += vect_y;
}
return( FALSE );
}
BOOL COseroView::CanDropDown( int x, int y )
{
if( x >= MASU_NUM || y >= MASU_NUM )return( FALSE );
if( m_Board[x][y] != BLANK )return( FALSE );
if( CanDropDown( x, y, 1, 0 ) )return( TRUE ); //右
if( CanDropDown( x, y, 0, 1 ) )return( TRUE ); //下
if( CanDropDown( x, y, -1, 0 ) )return( TRUE ); //左
if( CanDropDown( x, y, 0, -1 ) )return( TRUE ); //上
if( CanDropDown( x, y, 1, 1 ) )return( TRUE ); //右下
if( CanDropDown( x, y, -1, -1 ) )return( TRUE ); //左上
if( CanDropDown( x, y, 1, -1 ) )return( TRUE ); //右上
if( CanDropDown( x, y, -1, 1 ) )return( TRUE ); //左下
return( FALSE );
}
なんですが戻り値にはTRUEかFALSEか2通りありますよね。何故両方ともFALSEになるのかがわかりません。
以前バグさんにはTRUEのときだけ実行されると教えていただきましたが、TRUEのときだけ実行されるなら
返す値はTRUEでは?と思いました。実際TRUEにすると正常に動かないんですが戻り値に関してまだちゃんと
理解していないのでそこの所を教えてください。
2倍のポイントを手に入れた! 1,202ポイント を手に入れた。
|
|
|
|
Name: たいちう ..上級者(23,485ポイント)
Date: 2009/02/04(水) 17:32
No:28249
|
|
Title: Re:オセロ
|
|
2つの関数共に、TRUEを返すときもFALSEを返すときもありますよね。
そのように書かれています。
憶測ですが、2つ目の関数で、return TRUE が8箇所書かれているのを見落としていません?
違うならば、もっと詳しい説明をお願いします。
84ポイント を手に入れた。
|
|
|
|
|
Name: ざこ ..上級者(17,947ポイント)
Date: 2009/02/04(水) 17:49
No:28250
| 解決!
|
Title: Re:オセロ
|
|
無茶苦茶見落としてました・・以前作ったときにそれで納得したんですがもう忘れちゃってるようです。
ありがとうございました。
18ポイント を手に入れた。
|
|
|
|
Name: きらりん ..初心者(5,196ポイント)
Date: 2009/02/02(月) 12:59
No:28137
|
|
Title: 短期間でC言語の復習しやすいサイトについて
|
|
こんにちは。
今回C言語の最初の方からポインターあたりまでを総復習したいなと思ったのですが、本当の初心者向けのサイトだと退屈っていうのもあってどこか良いサイトないかなーって思って探してみたのですが、条件が条件だけに見つかりませんでした。
というのも、この度、プログラマーのアルバイトに申し込んでみて今度筆記試験があるのです。聞いた話では、Cのポインターまでを理解していて30ステップ程のプログラムを1本書くという試験らしいので基礎を知っているだけだとどうしても力不足な気がしています。ですから問題レベルそのものはまったくわからないです。
ここはどうかな?っていうサイトがあったら是非教えて頂ける嬉しく思います。
アヤフヤな文章ですみません;
301ポイント を手に入れた。
|
|
|
|
Name: たいちう ..上級者(23,428ポイント)
Date: 2009/02/02(月) 13:07
No:28138
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
> 聞いた話では、Cのポインターまでを理解していて30ステップ程のプログラムを
> 1本書くという試験らしいので基礎を知っているだけだとどうしても力不足な気がしています。
基礎を知っていれば、その程度の試験は問題ないはず。
力不足だと思うならば、基礎ができていないのでしょう。
仕事としてプログラムを作るつもりならば、短期間とか退屈とか言わずに、
しっかりと基礎を身に着けることをお勧めします。ていうか身に着けてください。
124ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(5,544ポイント)
Date: 2009/02/02(月) 13:12
No:28141
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>基礎を知っていれば、その程度の試験は問題ないはず。
>>力不足だと思うならば、基礎ができていないのでしょう。
その発想はありませんでした・・・。今までC言語自体を勉強するというよりゲームを作っていく中で覚えてきたので確かに基礎ができてるかって言われるとできてないのかもしれません。
>>仕事としてプログラムを作るつもりならば、短期間とか退屈とか言わずに、
>>しっかりと基礎を身に着けることをお勧めします。ていうか身に着けてください。
すみません;;身に付けますorz
一応C独習だけは所持しているのですが、これだけでも十分でしょうか?
247ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(5,599ポイント)
Date: 2009/02/02(月) 13:15
No:28142
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>Haruさん
サイトアドレス有難うございます^^
面白そうなのでこのサイトを一通りやってみようと思います。
こういった問題は解いたことないので苦戦しそうです><
55ポイント を手に入れた。
|
|
|
|
|
Name: Mikan [URL] ..初心者(5,535ポイント)
Date: 2009/02/02(月) 13:17
No:28143
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
サイトでは無いのですが、今月の日経ソフトウエアという雑誌の
特別付録がC言語でプログラミングの基礎を学ぼう!というのでした。
一度見てみてはいかがでしょう?
53ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(5,634ポイント)
Date: 2009/02/02(月) 13:21
No:28145
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>Mikanさん
中身を見てよさげだったら購入してみます^^
有難うございます。
35ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(979,340ポイント)
Date: 2009/02/02(月) 14:44
No:28146
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
もし、解説サイトの問題が退屈なら、
ここで、常連の方に問題を出題してもらうというのはどうでしょう?
復習がしたいなら、参考書を読み返せばいいと思いますが、
ある程度わかっていたら、演習のほうが大事なきがします。
また、プログラムって人によって書き方色々ですし、自分が書いたソースコードが厳密にあってるかは案外解らない事が多いと思います。
私も先日指摘されるまで
i = (++i)%3;
のような書き方が間違いであること知りませんでした・・・。
書いたコードを人に見てもらうことも良い経験になるかと思います。
見てもらうと思うと張り切れるかもしれませんしね。
それに「○○についての知識が足りないよ」と指摘受ければそこを重点的に復習すればよいこともわかるかもしれません。
ではさしあたり・・・
「4つの整数を入力し、その4つの整数の共通する最大公約数を求めて表示するプログラムを書きなさい」
という問題はどうでしょう?
丁度30行位で書けそうです。
262ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(6,073ポイント)
Date: 2009/02/02(月) 15:44
No:28148
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>管理人さん
問題有難うございます^^
最大公約数の問題は解いたことあったんですけど、出し方忘れてて苦労しましたorz
一応動いたんですけど調べるに調べにくかったので万能に動くかどうかはちょっとわかりません。
自分が動かしたうちではちゃんと動いてたように見えました。
//=============================================================================
#include <stdio.h>
int main(void);
/* 最大公約数を求める関数 */
int maxmax(int x,int y){
int temp;
while( x % y != 0){
temp = x % y;
x = y;
y = temp;
}
return y;
}
int main(void){
int n1,n2,n3,n4,max;
printf( "整数1:" );
scanf( "%d", &n1 );
printf( "整数2:" );
scanf( "%d", &n2 );
printf( "整数3:" );
scanf( "%d", &n3 );
printf( "整数4:" );
scanf( "%d", &n4 );
max = maxmax(n1,n2);
max = maxmax(n3,max);
max = maxmax(n4,max);
printf( "四つの整数の最大公約数は%d\n", max );
return 0;
}
439ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) ..伝説なるハッカー(979,691ポイント)
Date: 2009/02/02(月) 16:06
No:28150
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
お疲れ様です。
正確に入力を行えば正常に表示されているようです。
ただ、マイナスを入力したり、文字を入力したりすると誤作動しますね。
後、scanf,printfが連続している部分や、maxmaxを呼んでいる部分などはループでまとめられそうです。
余力があれば「エラー処理、可読性の向上、効率化の向上」この辺をしっかり行っていったらよいと思います。
まぁ今回の場合は、練習問題を沢山行った方がいいかもしれませんので、とりあえず保留でもいいかもしれません。
これくらいの問題が難なく解けるようでしたら、C言語プログラミング検定1級の問題を解いてみてはどうでしょう?
難易度的にはそこまで難しくはありません。めっちゃめんどくさいんですけどね・・。
http://www.sikaku.gr.jp/js/side3/scon04.html
めんどくさい問題ですけど、やってみると、今まで足りなかった経験が補われるかもしれません。
もし継続して問題解きたい場合は以下どうぞ
問題1.アルファベットの「Q」をprintfで「*」とスペースを書くことによって描け
問題2.任意の人数ほど、身長、体重を入力し、入力し終わったらそのデータをグラフで表現するプログラムをかけ
例:
学生1の身長と体重を入力して下さい。
178,60
学生2の身長と体重を入力して下さい。
162,52
...
(中略)
身長の分布グラフ
191〜 :*
181〜190:***
171〜180:******
161〜170:****
〜160:**
351ポイント を手に入れた。
|
|
|
|
|
Name: lbfuvab ..上級者(15,643ポイント)
Date: 2009/02/02(月) 17:13
No:28153
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
組んでみました。
#include<stdio.h>
int GCV2(int x,int y); //原型宣言
int GCV(int x,int y){ //GCV2を呼び出す為だけの関数
if(x>y)
return GCV2(x,y);
else
return GCV2(y,x);
}
int GCV2(int x,int y){
if(y==0)
return x;
else
return GCV2(y,x%y);
}
int main(){
int n[4],i,max;
for(i=0;i<4;i++){
while(1){
printf("非負の整数%d:",i+1);
scanf("%d",&n[i]);
if(n[i]>0)
break;
puts("入力エラー");
}
}
max=n[0];
for(i=1;i<4;i++)
max=GCV(n[i],max);
printf("最大公約数は%d\n",max);
return 0;
}
367ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(7,229ポイント)
Date: 2009/02/02(月) 19:07
No:28161
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>管理人さま
プログラム検定というものがあるのですか。ちょっと目を通してみようと思います^^
問題有難うございます。
問題1の方はちょっとprintf連打して無理やりAAみたいに書く方法しか思いつかなかったのでスルーしたので
問題2の方を解いてみました。あまりエラー処理に対応できてないですorz
桁数えさせる必要があったので、問題に縛り形式でやってみました。
#include <stdio.h>
int main(void);
#define MAX 10
#define star 5
void gra(int x){
int i;
for(i=0;i<x;i++)
printf("*");
}
int main(void){
double player[MAX];
int sintyo[star] = {0,0,0,0};
/* 191〜 :[0],
181〜190:[1],
171〜180:[2],
161〜170:[3],
〜160:[4]
*/
int taiju[star] = {0};
/* 81〜 :[0],
71〜80:[1],
61〜70:[2],
51〜60:[3],
〜50:[4]
*/
int i;
for(i = 0; i < MAX ; i++ ){
do{
printf("学生%dの身長と体重を入力してください\n(身長は100以上999以下,体重は10以上 99以下まで)\n(例 身長160 体重60の場合・・・ 160.60):",i);
scanf("%lf", &player[i]);
}while(player[i]<0);
if(191<=(int)(player[i])){ ++sintyo[0]; }
else if(181<=(int)(player[i])){ ++sintyo[1]; }
else if(171<=(int)(player[i])){ ++sintyo[2]; }
else if(161<=(int)(player[i])){ ++sintyo[3]; }
else { ++sintyo[4]; }
if(81 <= 100*(player[i]-(int)(player[i]))) { ++taiju[0]; }
else if(71 <= 100*(player[i]-(int)(player[i]))) { ++taiju[1]; }
else if(61 <= 100*(player[i]-(int)(player[i]))) { ++taiju[2]; }
else if(51 <= 100*(player[i]-(int)(player[i]))) { ++taiju[3]; }
else { ++taiju[4]; }
}
printf("身長の分布グラフ\n");
printf("191〜 :"); gra(sintyo[0]);
printf("\n181〜190:"); gra(sintyo[1]);
printf("\n171〜180:"); gra(sintyo[2]);
printf("\n161〜170:"); gra(sintyo[3]);
printf("\n 〜160:"); gra(sintyo[4]);
printf("\n\n体重の分布グラフ\n");
printf("81〜 :"); gra(taiju[0]);
printf("\n71〜80:"); gra(taiju[1]);
printf("\n61〜70:"); gra(taiju[2]);
printf("\n51〜60:"); gra(taiju[3]);
printf("\n 〜50:"); gra(taiju[4]);
printf("\n");
return 0;
}
1,156ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(7,332ポイント)
Date: 2009/02/02(月) 19:13
No:28163
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>kazuoniさん
ライフゲームですか・・・ちょっとぐぐってみたのですが難しそうで時間もかかりそうなので今回はスルーしようかと思います。でもなんか楽しそうですね・・・w
>>lbfuvabさん
エラー処理の参考になりました^^有難うございます。
103ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(980,106ポイント)
Date: 2009/02/03(火) 15:30
No:28194
|
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
遅くなりました・・。
お疲れ様です。
結果確認してみました。
(中略)
学生2の身長と体重を入力してください
身長は100以上999以下,体重は10以上 99以下まで)
例 身長160 体重60の場合・・・ 160.60):200.120
(中略)
学生9の身長と体重を入力してください
身長は100以上999以下,体重は10以上 99以下まで)
例 身長160 体重60の場合・・・ 160.60):190.90
体重の分布グラフ
81〜 :*
71〜80:**
61〜70:**
51〜60:**
〜50:***
体重81以上のデータを2回入力しているのに、1人分しか表示されていない場合などがありました。
しかし珍しいデータの入力の仕方をしますね^^;
double型はのちにintと比較したい場合、不都合が起きる場合があるのできちんとint2つの変数に入れたほうがよさそうです。
というのも、こんなことがあるからです。
#include <stdio.h>
int main(void){
double a = 190.66;
int b = 190;
a = (a - b) * 100;
printf("%.13f",a);
return 0;
}
実行結果
65.9999999999997
後、なるべくループで、処理できるところはループで処理したいですね。
何度も似たようなif文を書くのは出来るだけ避けたいところです。
なお、コードはプレタグをつかって投稿して下さい。このままだと見にくいので。
415ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(7,434ポイント)
Date: 2009/02/04(水) 15:21
No:28244
| 解決!
|
Title: Re:短期間でC言語の復習しやすいサイトについて
|
|
>>管理人様
こんなことになるのですか・・・w
これからは注意します。
if文のところ確かにループにできますね。。。気づきませんでした;
プレタブ仕様になおしました。醜くてすみませんorz
現在Haruさんの出してくれたサイトの問題を解いていってます。
後ろのほうになるとわからないものが多くて良い勉強になっています。
とりあえずはこのサイトの方はクリアしてみようかと思います。
102ポイント を手に入れた。
|
|
|
|
Name: けんじ ..ぴよぴよ(125ポイント)
Date: 2009/02/04(水) 03:29
No:28226
|
|
Title: 構造体と文字化け
|
|
こんばんは。
WindowsAPIに関しての質問なのですが
構造体を定義し、そこにwsprintf関数やらlstrcpy関数で文字列を代入すると
実行したときに文字化けして表示されてしまいます。文字セットはUnicodeです。
typedef struct _tagSetString {
TCHAR name[10];
TCHAR sex[10];
} SetString;
// (中略)
// 関数内部
SetString str; // 宣言
lstrcpy(str.name, TEXT("山田")); // 2通りのやり方で
wsprintf(str.sex, TEXT("男")); // 入れてみました
TextOut(hdc, 0, 0, str.name, 2); // どちらとも
TextOut(hdc, 0, 50, str.sex, lstrlen(str.sex)); // 文字化けします
構造体を使わないやり方などあるのかもしれませんが、
構造体を使った場合はどうなるのでしょうか。
関数の使い方等、根本的に間違っているかもしれませんが、よろしくお願いします。
125ポイント を手に入れた。
|
|
|
|
Name: BEMANI ..中級者(14,522ポイント)
Date: 2009/02/04(水) 05:19
No:28227
|
|
Title: Re:構造体と文字化け
|
|
>>けんじさん
解決できるかわかりませんが、
str.name や str.sex の中に文字列を格納されている所ですが
・表示するまでの間で、何か変数を操作していませんか?
(例えば文字列をクリアする等)
・デバッグで確認し、格納された文字列の内容が消えていると言った感じにはなっていませんか?
(例えば二回目呼んだ時に値が保持されていない等)
試しにサンプルを組んでみましたが、こちらでは出てきました。(同じくUnicode文字セットです)
リターンキーを押すと、紫色でテキストが出てきます。
(ウインドウプロシージャに書きましたが、一部省略しています)
// 省略;
case WM_KEYDOWN:
switch(wParam)
{
case VK_RETURN:
lstrcpy(str.name, TEXT("ぐへへ山口abc"));
wsprintf(str.sex, TEXT("男か女123"));
hdc = GetDC(hWnd);
SetTextColor(hdc, RGB(255, 0, 255) ); // 文字色変更
TextOut(hdc, 0, 0, str.name, lstrlen(str.name)); // 表示
TextOut(hdc, 0, 50, str.sex, lstrlen(str.sex)); // 表示
ReleaseDC(hWnd, hdc);
break;
}
break;
// 省略;
432ポイント を手に入れた。
|
|
|
|
|
Name: けんじ ..ぴよぴよ(370ポイント)
Date: 2009/02/04(水) 13:20
No:28243
| 解決!
|
Title: Re:構造体と文字化け
|
|
ご回答ありがとうございます。
構造体とウィンドウを作成し描画するだけのシンプルなプログラムで実行してみると
確かにうまくいきました。
昨日は不慣れな構造体を、さらに配列として用いようとして、for文で文字列を代入していたのですが、
for文の条件式の中にあったスタティックなグローバル変数が邪魔をしていたようです。
昨日は、構造体を使うからこうなるんだ!文字コード事情は嫌いだ!とばかり思っていたのですが、
BEMANIさんの助言で原因はそこではないとわかり、視点が変わったことで一気に解決できました。
ありがとうございました。
245ポイント を手に入れた。
|
|
|
|
Name: ざこ ..上級者(16,701ポイント)
Date: 2009/02/04(水) 11:09
No:28235
|
|
Title: MFCプログラム
|
|
void CDialogA::OnInitDialog()
{
CString pname, key,name;
int len;
const int len_b1=255;
const int len_b2=1000;
CArray<int, int> num;
int insrt=0;
num.RemoveAll();
key="●●●";
HKEY hkey;
if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE, key ,0,KEY_READ | KEY_EXCUTE, &hkey)==ERROR_SUCCESS){
char szBuffer1[len_b1],szBuffer2[len_b2];
DWORD dwBufferSize1=len_b1;
DWORD dwBufferSize2=len_b2;
DWORD dwSubkey=0;
DWORD dwType=REG_SZ;
while(::RegEnumValue(hkey,dwSubKey++, szBuffer1, &dwBufferSize1,NULL,&dwType,(LPBYTE)szBuffer2,
&dwBufferSize2)==ERROR_SUCCESS){
IsAdd=TRUE;
name=szBuffer1;
name=name.Right(name.GetLength()-7);
int no=atoi(name);
for(int i=0; i<num.GetSize(); i++){
if(num[i]<no)
continue;
else if(num[i]>no){
IsAdd=FALSE;
insrt=i;
num.InsertAt(i,no);
break;
}
}
(以下略)
}
少し長いので聞きたい所だけ取り出しました。このプログラムはレジストリからキーを取得し、エントリを列挙する。
szBuffer1にはレジストリのエントリ名が格納されるバッファ
szBuffer2にはレジストリエントリのデータが格納されるバッファ だとは思うんですがその後がよくわかりません。
>>name=name.Right(name.GetLength()-7); で
レジストリのエントリ名はPositionでデータにはダイアログのサイズが入ってました。
名前 種類 データ
Position REG_SZ 100,100,100,100 など
swBuffer1には定数文字列への32ビットポインタのLPTSTR型ですよね。
長さ-7とかいうのがさっぱり意味わかりません。
640ポイント を手に入れた。
|
|
|
|
Name: バグ ..ハッカー(146,652ポイント)
Date: 2009/02/04(水) 11:30
No:28237
|
|
Title: Re:MFCプログラム
|
|
nameには、szBuffer1の最初の7文字をカットしたものが代入されているようです。
どうして、そのような処理をしているのかは分かりかねますので、ブレイクポイントを設定して、szBuffer1の中身を確認してみてください。それで疑問は解決できそうに思います。
25ポイント を手に入れた。
|
|
|
|
Name: たか ..入門者(4,343ポイント)
Date: 2009/02/03(火) 19:51
No:28208
| 解決!
|
Title: Bitmapファイルの読み込み
|
|
今、256色Bitmapファイルを文字列に変換して表示するプログラムを作っています。
Bitmapファイルをエラーチェックしながら用意した各構造体に格納するまでは出来ました。
困っているのは画像データ部分の表示です。
画像データの読み込みまでは何とかなったのですが、表示処理部分が出来ませんでした。
表示処理部分ができないのは、画像データの反転処理が思いつかなかったからです。
一晩考えていろいろ試してみましたが全然だめでした。
とりあえず画像ファイルを元にパレット番号を表示する部分まで作りました。
その先の反転処理を教えてください。よろしくお願いします。
//引数:Bitmapファイル画像データ部分へのポインタ 幅 4byte境界に合わせた幅 高さ
//戻り値:---
//画像データを文字列に変換して表示
void DrawBmpString(BYTE *ImageData, LONG Width, LONG LWidth, LONG Height){
int i, j;
BYTE *buf;
buf = (BYTE*)malloc( sizeof(BYTE) * (LWidth * Height) );
//何らかの処理
//表示処理部分
for(i = 0; i < Height; i++){
for(j = 0; j < Width; j++){
printf("%-3d ", (int)buf[j + i * Width]);
}
printf("\n");
}
free(buf);
}
一応全てのソースファイルを固めて添付しました。
環境:
Visual C++ 2008 Express
Windows Vista Home Basic
445ポイント を手に入れた。
|
|
|
|
Name: toyo ..プログラマー(25,090ポイント)
Date: 2009/02/03(火) 20:59
No:28210
|
|
Title: Re:Bitmapファイルの読み込み
|
|
buf = (*BYTE)malloc( sizeof(BYTE) * (LWidth * Height) );
は
buf = (BYTE*)malloc( sizeof(BYTE) * (LWidth * Height) );
printf("%-3d ", (int)buf[j + i * Width]);
は
printf("%-3d ", (int)ImageData[j + i * LWidth]);
では
反転というのはBMPが下から上になっているのを上から下に表示したいということでしょうか
それなら
for(i = 0; i < Height; i++){
を
for(i = Height - 1; i >= 0 ; i--){
ですが
156ポイント を手に入れた。
|
|
|
|
|
Name: たか ..入門者(4,559ポイント)
Date: 2009/02/03(火) 23:18
No:28213
|
|
Title: Re:Bitmapファイルの読み込み
|
|
toyoさん
>buf = (BYTE*)malloc( ...
私の単純なミスでした。修正しました。
固めたファイルの方は修正してません・・・。
>printf("%-3d", (int)buf[ ...
これは用意したbufに画像データをコピーしてそれを表示する。
という方法を取る予定でしたので、こうしました。
説明不足でしたすみません。
>反転というのは ...
私が言う反転というのは、Bitmapファイルの画像データ部分の仕様のことで、
<元データ>
00011000
00100100
00100100
00100100
01000010
01111110
01000010
10000000
<画像データ>
10000001
01000010
01111110
01000010
00100100
00100100
00100100
00011000
こういうことです。
>for(i = Height - 1; i >= 0 ; i--){
やってみましたが、正しく表示できませんでした。
他のプログラムが間違っているのでしょうか。
216ポイント を手に入れた。
|
|
|
|
|
Name: たか ..入門者(4,627ポイント)
Date: 2009/02/03(火) 23:45
No:28214
|
|
Title: Re:Bitmapファイルの読み込み
|
|
よく考え直してみると、表示処理に問題がありますね。
その証拠に幅が4の倍数だと正常に表示されます。
事故解決しそうですが・・・。
一歩先に進めそうにないです。
68ポイント を手に入れた。
|
|
|
|
|
Name: たか ..入門者(4,636ポイント)
Date: 2009/02/03(火) 23:57
No:28215
|
|
Title: Re:Bitmapファイルの読み込み
|
|
事故解決しました。
printf("%-3d ", (int)buf[j + i * Width]);
printf("%-3d ", (int)buf[j + i * LWidth]);
自分の中ではWidth→LWidthに修正していた思っていたのですが・・・。
toyoさんありがとうございました。
9ポイント を手に入れた。
|
|
|
|
Name: うに ..ぴよぴよ(139ポイント)
Date: 2009/02/03(火) 18:13
No:28205
|
|
Title: projectの実行について
|
|
はじめまして、プログラム初心者のうにと申します。
プログラミングの館からprojectをダウンロードして始めた所、
1章のmain.cppにプログラムをコピーペーストしてデバッグなしで開始を実行した所、
[ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、
ファイルを Unicode 形式で保存してください。]とエラーが発生、
その後開いたウィンドウは停止してしまいました。
如何すれば良いでしょうか。
139ポイント を手に入れた。
|
|
|
|
Name: BEMANI ..中級者(14,090ポイント)
Date: 2009/02/03(火) 21:26
No:28211
|
|
Title: Re:projectの実行について
|
|
>>うにさん
解決するか解りませんが、
#pragma warning(disable : 4819)
これで、どうでしょう?
[追記 21:33]
記述例
#pragma warning(disable : 4819)
#define GLOBAL_INSTANCE
#include "../include/GV.h"
68ポイント を手に入れた。
|
|
|
|
|
Name: うに ..ぴよぴよ(187ポイント)
Date: 2009/02/03(火) 22:51
No:28212
| 解決!
|
Title: Re:projectの実行について
|
|
>>BEMANIさん
入力したところ、ウィンドウが閉じるようになりました。
ありがとうございました。
48ポイント を手に入れた。
|
|
|
|
Name: AI ..ぴよぴよ(76ポイント)
Date: 2009/02/03(火) 13:21
No:28186
|
|
Title: 囲碁のゲームを作っているのですが...
|
|
囲碁のゲームを作っているのですが、先行と後攻の2人でゲームを作るように
int siro();
int kuro();
int cnt=1;
int q;
short chk_flg=1;
int kari[17][17]={0};
char m[3][3]={"+","○","●"};
char k[6],l[6];
void main(void)
{
int i,j,a=0,b,c;
printf(" 0 1 2 3 4 5 6 7 8 9 101112131415\n");
printf(" __________________________________\n");
for(i=0;i<16;i++){
printf("%2d",i);
printf(" |");
for(j=0;j<16;j++){
printf("%s",m[kari[i][j]]);
}
printf("|\n");
}
printf("  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
while(a!=1){
kari[i][j]=kuro();
printf("\n\n");
printf(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15\n");
printf(" _________________________________________________\n");
for(i=0;i<16;i++){
printf("%2d",i);
printf("|");
for(j=0;j<16;j++){
printf(" %s",m[kari[i][j]]);
}
printf(" |\n");
}
printf("  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
kari[i][j]=siro();
printf("\n\n");
printf(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15\n");
printf(" _________________________________________________\n");
for(i=0;i<16;i++){
printf("%2d",i);
printf("|");
for(j=0;j<16;j++){
printf(" %s",m[kari[i][j]]);
}
printf(" |\n");
}
printf("  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
cnt++;
}
printf("お疲れ様でした。\n");
}
int siro()
{
int i,j,a,b,c,o,u,y=0;
printf("\n%d回目 後攻の番\n",cnt);
printf("縦 ");
rewind(stdin);
gets(k);
o=strlen(k);
for(q=0;q<o;q++){
if(isalpha(k[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
while(o==0 || chk_flg==0){
printf("\n数値を入れてください1\n");
rewind(stdin);
gets(k);
o=strlen(k);
for(i=0;i<o;i++){
if(isalpha(k[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
}
printf("横 ");
rewind(stdin);
gets(l);
u=strlen(l);
for(q=0;q<u;q++){
if(isalpha(l[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
while(u==0 || chk_flg==0){
printf("\n数値を入れてください2\n");
rewind(stdin);
gets(l);
u=strlen(l);
for(q=0;q<u;q++){
if(isalpha(l[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
}
j=atoi(l);
i=atoi(k);
while(y!=1){
while(i>=16 || j>=16 ||i<0 || j<0){
printf("\n15までだっつーの!!\n");
printf("縦 ");
rewind(stdin);
gets(k);
o=strlen(k);
for(q=0;q<o;q++){
if(isalpha(k[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
while(o==0 || chk_flg==0){
printf("\n数値を入れてください3\n");
rewind(stdin);
gets(k);
o=strlen(k);
for(q=0;q<o;q++){
if(isalpha(k[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
}
printf("横 ");
rewind(stdin);
gets(l);
u=strlen(l);
for(q=0;q<u;q++){
if(isalpha(l[q])){
chk_flg=0;
}else{
chk_flg=1;
}
}
while(u==0 || chk_flg==0){
printf("\n数値を入れてください4\n");
このような感じに作って一応完成はしたのですが、先攻か後攻のどちらかに、
コンピュータの処理に任せて自動的にやり、一人でもゲームができるようにもしたいのですが
やり方が分かりません
どうやればできるか教えてください
どうかよろしくお願いしますm(_ _)m
76ポイント を手に入れた。
|
|
|
|
Name: バグ ..ハッカー(144,366ポイント)
Date: 2009/02/03(火) 14:44
No:28191
|
|
Title: Re:囲碁のゲームを作っているのですが...
|
|
うーん、囲碁は自由度の高いゲームですから、AIの実装となると、これまた面倒で難しいのではないかと思います。将棋のAI並に難しいんじゃないかなぁ…
検索サイトで『囲碁 AI プログラム』なんかのキーワードで検索すると何かヒットするかもしれません。
あまり役に立てなくてごめんなさい。
67ポイント を手に入れた。
|
|
|
|
|
Name: YuO ..プログラマー(29,211ポイント)
Date: 2009/02/03(火) 15:24
No:28193
|
|
Title: Re:囲碁のゲームを作っているのですが...
|
|
# 15路盤ってまた見ない大きさ……。6, 9と13,あと普通の19路盤は見たことがあるけれど
> やり方が分かりません
をバグさんのようにCPUプログラムの実装方法がわからないではなく,
もっと基本的な,片方をCPUに任せる方法自体がわからないと解釈します。
# 着手可能点をランダムに返す実装を用意しても,それを組み込む方法が解らない,という解釈。
入力部分をまずは別関数にして,戻り値を縦何線横何線という情報を持った構造体にします。
その状態で,現状と同様の実行がなされることを確認します。
# 正確にはパスしたかどうかも必要です。
次に,同じ型を持つCPUプログラムを作ります。
あとは,それぞれの関数を順繰りに呼び出します。
関数ポインタを使うと,人同士・CPU同士・人-CPU・CPU-人の組み合わせが柔軟に処理ができると思います。
# C++ならクラス化してしまうところですが。
217ポイント を手に入れた。
|
|
|
|
Name: lostode ..ぴよぴよ(18ポイント)
Date: 2009/02/02(月) 19:10
No:28162
|
|
Title: 円形のゲージの表示の仕方
|
|
最近DXライブラリで勉強をしていて、
このサイト、そしてこの掲示板の過去ログにはお世話になっています。
どうしても見つからない内容があったので質問させてもらいます。
ゲームには、目で見てぱっとHPなどの残量が分かるゲージが必須に近いと思うのですが、
どうしても、縦・横のゲージだけだとありきたりだと思い、
円形に減っていくゲージの作り方がどうも思いつきません。
画像で用意しようかと思ったのですが、最低でも20〜30段階ぐらいの変化にはしたいので、
さすがに画像の量が多くなりすぎるような気がしまして・・・
見た目はそこまで細かくはこだわりません。
何かいい方法はないでしょうか?
具体的なグラフは添付ファイルに載せておきます。
18ポイント を手に入れた。
|
|
|
|
Name: 組木紙織 [URL] ..熟練のプログラマー(69,581ポイント)
Date: 2009/02/02(月) 21:10
No:28166
|
|
Title: Re:円形のゲージの表示の仕方
|
|
Dxライブラリにあるかどうかは分かりませんが、確かWin32APIには扇形を描く関数があったので
それを使ってあげればよいかと思います。
1:背景に青い円を描写
2:適当な扇形を描写
3:少し小さめの円を描写
とすれば、うまくいくと思います。
77ポイント を手に入れた。
|
|
|
|
|
Name: yu ..初心者(8,927ポイント)
Date: 2009/02/02(月) 21:57
No:28169
|
|
Title: Re:円形のゲージの表示の仕方
|
|
DXライブラリに画像を円形グラフのように描画する関数がありますよ。
公開はされていませんが。
DrawCircleGauge関数です。
サンプルを一応添付しておきますね。
こちらではうまく表示されました。
80ポイント を手に入れた。
|
|
|
|
|
Name: lostode ..ぴよぴよ(86ポイント)
Date: 2009/02/03(火) 17:08
No:28200
| 解決!
|
Title: Re:円形のゲージの表示の仕方
|
|
ありがとうございます。
そんな隠されたコマンドがあったのですね・・・
これを使えばうまく再現することができそうです。
ありがとうございました。
68ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(967,301ポイント)
Date: 2009/01/22(木) 04:11
No:27431
|
|
Title: ☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
「ソフトウェア技術研究会」設立します〜☆
・・とりあえず即席でHP作ってみました^^ http://dixq.net/kk/
ただのプロトタイプなんで、じっくり見るほどのものでもありません^^;
皆さんの意見元に色々と企画していこうと思うので、何でもご意見下さいませ^^
前トピ「関西周辺でオフ会?勉強会?しませんか?」では関西限定となってしまいましたが、
是非全国の皆様と研究会開きたいなと思っています。
前トピで「参加する」と言って下さった方以外に、どれ位参加して下さるか知りたいのですが、
「もし近くで研究会するとなると参加するよ」って方いらっしゃいましたら教えて下さい^^
(前回コメント下さった方も、項目増やしたのでよければコメント下さい)
その際、差し支えなければ
(a). だいたいのお住まいの場所
(b). だいたいの年齢
(c). 自分が発表してもいいかどうか (例:「○○について話聞いてみたいんで、ネタ用意します」「最初だけリスナーで後から考えてみる」「毎回完全リスナーで」)
(d). どちらに参加するか (例:「研究会も懇親会も」「飲み会だけ」)
(e). 距離的な参加可能範囲 (例:「東京なら行けるけど名古屋は無理」)
(f). (関西の会合に出席される方のみ) 2/21, 2/28, 3/7のどの日に出席出来るか
もお教え下さい。参加資格とか全くありません。未成年でもOKです。
「技術的な話はついていけないと思うけど聞いてみたい」って人は完全リスナーでもいいと思います。
お気軽にご参加下さい^^
*** 開催内容 ***
内容は、技術的な研究会と懇親会です。
どこかの会議室を借りて、何か自分の公開したい技術や話したいことをプレゼン使って発表したりし、
それを元に話し合ったりしたいと思います。
まだいくらでも変更可能なので、ドシドシご意見下さい。
例えば講義のような形で何かについて誰かが講演するような形もありだと思いますし、
その後で「何でも相談会」みたいな時間を設けて技術的な相談から転職相談、就活相談、人生相談なんでも話せる機会をもうけても面白いかもしれません。
「こんな事やったら面白いんじゃない?」って意見お待ちしてます^^
また、「俺はみんなとワイワイしたいだけだ!飲み会だけでいい!」みたいなノリで参加してくださる方も大歓迎です。
研究会→懇親会になると思いますが、別々に参加しやすいよう、一応それぞれで別扱いにしてみようと思います。
こんな感じなんですが、参加してもいいよ!って方いらっしゃいましたらコメント下さると光栄です^^
** 追記 **
今回募集対象は全国なんですが、
関西での開催はほぼ決定なので、まず第一回目は関西で開催したいと思います。
人数が集まれば、是非他の地区での開催も実施したいので、是非是非ご参加下さい。
2倍のポイントを手に入れた! 1,832ポイント を手に入れた。
|
|
|
|
Name: KEV ..初心者(6,016ポイント)
Date: 2009/01/22(木) 09:13
No:27442
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
是非参加したいです。
(a). 滋賀県のトレセンがある市
(b). 20代前半
(c). 最初はリスナーで参加したいです。
研究会が数回行われた後ならば発表を頑張ってみてもいいかな…?
(d). 両方とも
(e). 関西圏ならば大丈夫です。
また、東京,仙台,福岡ならば別の用事のついでに行けるかもしれません。
ホームページ、仕事が早いなぁ。(研究は大丈夫?
メールアドレスなどの連絡先をすぐ目に付く場所に書いたほうが分かりやすいかな?
とりあえずバイクは無理です。
150ポイント を手に入れた。
|
|
|
|
|
Name: 組木紙織 [URL] ..熟練のプログラマー(68,986ポイント)
Date: 2009/01/22(木) 09:56
No:27444
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). 岡山県
(b). 20代
(c). 発表はしてみたいです。(ねたは目的が決まってから要相談ということで、)
(d). 両方
(e). 近畿地方、中国地方、四国地方、北九州あたりまでなら行ってもいいと思ってます。
写真を見せるなら、顔出し可能かどうかも確認を取っておく必要があります。
それと名札、名簿が必要かな。
名簿には、連絡先、実名を出してもいいかどうかも含めて。
主催者が一人だとなんともならないことが多いと思うので、タイムキーパーや司会者、(時間によるけど)
昼食をどうするかなどの役割分担する必要があります。
まずは、日付を決めるのがさきかな。
254ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..比類無きプログラマー(80,771ポイント)
Date: 2009/01/22(木) 10:35
No:27449
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). 大阪市のほぼ南端
(b). アラフォー
(c). 春以降なら発表してもいいです。
(d). 両方
(e). PiTaPa & ICOCAで行ける範囲
まずは日付を決めるのが先決ですね。それによって人数も変わりますから。
私の予想では、そう多くない(5〜10名程度)と予想しています。
90ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(16,780ポイント)
Date: 2009/01/22(木) 10:50
No:27451
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). 平日は滋賀県の南草津
土日は大阪の南端部になるのかな? かなり奈良よりです。
(b). 20代前半
(c). まだペーペーなので当分はリスナーに回ると思います。
実力がついてきたらぜひ発表はしてみたいと思ってます。
(d). 両方
(e). 近畿地方 あまり遠出はできないかもです。
写真は本人の許可があれば大丈夫だと思いますけど、
名簿に実名や連絡先を載せるのはやめておいた方がいいかと・・・
バイクのためにお金貯めてます(笑
147ポイント を手に入れた。
|
|
|
|
|
Name: KEV ..初心者(6,095ポイント)
Date: 2009/01/22(木) 10:58
No:27452
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
2月に開催するならば結構早めに日付を決めちゃわないとダメかもですね。
社会人の方が多そうなので土日でしょうか。
後、タイムキーパをしたり、議事録を撮ったりなどは
私なんかでよければやってみたいかなと思います。
79ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(16,835ポイント)
Date: 2009/01/22(木) 11:17
No:27454
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
ソフトウエア技術研究会のHPにメンバー紹介の項目があったので、
そちらに載せるのかと思いましたので^^;
55ポイント を手に入れた。
|
|
|
|
|
Name: Mist ..熟練のプログラマー(44,461ポイント)
Date: 2009/01/22(木) 11:26
No:27455
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
開催は2月中がいいように思いますね。
3月は年度末で社会人は仕事が忙しくなる人が多くなると思いますし、学生さんでも進学で引越しとかする人もいるでしょうし。
逆に4月以降にしてしまうと、間が空きすぎてダレてしまわないかちょっと心配です。
a,bは前回書きましたので
(c)発表のための準備が出来そうにないので今回はリスナーで
(d)両方
(e)開始時間にもよりますが近畿圏内で電車でいけるところなら
2倍のポイントを手に入れた! 378ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(968,192ポイント)
Date: 2009/01/22(木) 12:44
No:27458
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>>>皆様
仕事や予定の都合もあると思うので、予定は丁度1ヶ月先位がベストかなと思うのですが、いかがでしょう?
3月は忙しい方がいらっしゃると思いますので
2/28
もしそれがダメなら
3/7
でいかがでしょうか。予定に関してのコメントもいただけると幸いです。
>>>KEV
参加ありがとう^^
ホームページは以前作ったHPの骨格があったから、それに名前を差し替えただけだし、30分位で作ったものだよ。
そうだな〜個人情報的なことは私にメールしてもらうとして、
HPのメンバー一覧にはネットのハンドルネームと簡単なプロフィールを載せるといいかも。
>>>組木紙織さん
もちろん実名は公開しません。
実名載せてもいいって方いらっしゃれば載せてもいいと思いますが、
基本的にいつものハンドルネームと簡単なプロフィールがあればいいなと思っています。
幹事には本名と連絡先教える必要があると思いますが。
>>>たかぎさん
そうですね。とりあえず上に日程書いてみました。
>>>s-rushさん
個人情報などの扱いには気をつけますので大丈夫です^^
ご参加のみんなで写真撮ったとしても、掲載の可否についてまたお聞きしようと思います。
>>>Mistさん
そうですよね。私も3月中旬からもう引っ越すので、上に書いた日程位で組めたらいいなと思います^^;
2倍のポイントを手に入れた! 666ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(16,898ポイント)
Date: 2009/01/22(木) 14:02
No:27461
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
2/28でいいんではないでしょうか?
(私もそうですが)大学生の方ならちょうど試験も終わったあたりだと思うので都合合わせやすいと思います。
私は両日とも今のところは空いています。
63ポイント を手に入れた。
|
|
|
|
|
Name: YuO ..プログラマー(28,262ポイント)
Date: 2009/01/22(木) 16:31
No:27471
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
なんか関西に入っている……。
基本的に参加可能地域は下記(d)の範囲なので,関東区分に変更をお願いします。
# 実家に帰った時であれば関西が可能ではありますが……。
> (a). だいたいのお住まいの場所
東京都区部
> (b). だいたいの年齢
今月初めに30になりました。
> (c). 自分が発表してもいいかどうか (例:「○○について話聞いてみたいんで、ネタ用意します」「最初だけリスナーで後から考えてみる」「毎回完全リスナーで」)
今のところネタ無しなのでリスナー側で。
振ってもらえれば,できる範囲でやりますが。
# 最近は.NET関連ばかりやっているので,ここの関連だとXNAの話になるのかな?
> (d). どちらに参加するか (例:「研究会も懇親会も」「飲み会だけ」)
当然,両方です。
> (e). 距離的な参加可能範囲 (例:「東京なら行けるけど名古屋は無理」)
---- 以下,鉄モード ----
東京の電車特定区間内と周辺民鉄。
# 時期とテーマと私の財政事情次第で東海道新幹線沿線+アーバンネットワーク内まで。
---- 鉄モード終わり ----
---- 以下,鉄モード ----
たかぎさんの
> (e). PiTaPa & ICOCAで行ける範囲
って,ICOCA一枚をIC乗車券として使う前提で一番広く見積もるならば,
近鉄名古屋 (PiTaPa域内)→(改札外)→JR名古屋 (TOICA圏内 : ICOCA相互)→函南 (TOICA圏内)
と,伊豆半島まで来ることができますね。
# 現状のIC乗車券の制度では,米原←→関ヶ原や函南←→熱海を超えられない……。
---- 鉄モード終わり ----
> こうしてみると人口の割りに滋賀率高いですねw
IT勉強会カレンダーでは,滋賀県って見つからないんですよね。
逆に,実は潜在需要が大きいのかもしれません。
# 単に京都に吸われているだけかもしれませんが。
368ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..比類無きプログラマー(80,882ポイント)
Date: 2009/01/22(木) 16:58
No:27474
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
2/28は出張の予定があるので不参加です。
> (e). PiTaPa & ICOCAで行ける範囲
> って,ICOCA一枚をIC乗車券として使う前提で一番広く見積もるならば,
> 近鉄名古屋 (PiTaPa域内)→(改札外)→JR名古屋 (TOICA圏内 : ICOCA相互)→函南 (TOICA圏内)
> と,伊豆半島まで来ることができますね。
TOICAは提携しているだけでICOCAで行ける範囲そのものではないですからね。
52ポイント を手に入れた。
|
|
|
|
|
Name: Mist ..熟練のプログラマー(44,723ポイント)
Date: 2009/01/22(木) 18:01
No:27482
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
とりあえず、3日とも予定に入れておきますのでどの日でもかまいません。
> え、第一回のテーマですよね?w
飲み会のね(^^;
2ポイント を手に入れた。
|
|
|
|
|
Name: GPGA ..熟練のプログラマー(57,088ポイント)
Date: 2009/01/22(木) 18:03
No:27483
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). 埼玉県
(b). 今年で25になります
(c). 携帯電話ゲームとかPSPの制作の苦労話とかでよければ、発表します
(d). 両方
(e). 関東内を希望します
3月頭と5月末にマスターアップがあるので
かぶらなければ、関東内の勉強会は参加したいと思います。
101ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(50,999ポイント)
Date: 2009/01/22(木) 18:28
No:27487
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a)愛知県
(b)20
(c)リスナーで^^;いつか自作ゲームができたら見てもらいたいですが・・・
(d)両方
(e)電車が通っている場所ならどこでもw
(f)学校関係により、2/21のみ参加可能かもしれません。。
>GPGAさん
>携帯電話ゲームとかPSPの制作の苦労話とかでよければ、発表します
めちゃくちゃ聞きたいですこれw
最近cygwinでPSPSDKを用いてPSP用ソフトのプログラミングはじめした^^;
メモリ24MBって知ってびっくりしましたw
(あ、話がそれました。。)
180ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(968,292ポイント)
Date: 2009/01/22(木) 21:10
No:27501
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
ご参加ありがとうございます^^
う〜ん、たかぎさんとkazuoniさん予定があいませんね・・。
恐らく全員が都合がいいっていうのは難しいと思うので、
どうしても被ってしまう時は予定が合う人が一番多い日ということにしましょう><
しかしPSPってハードはPS2と同程度とかうたいながら24MBなんじゃ、ゲーム作るはしんどいですね;
91ポイント を落としてしまった。
|
|
|
|
|
Name: Mikan [URL] ..入門者(2,922ポイント)
Date: 2009/01/22(木) 22:49
No:27507
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>※関係ないですが、
>最近よく最終投稿者欄でMistさんとMikanさんを見間違えますw
自分もよく見間違えますw
>>Mist様
紛らわしくなってすみません^^;
61ポイント を手に入れた。
|
|
|
|
|
Name: Mist ..熟練のプログラマー(46,203ポイント)
Date: 2009/01/22(木) 23:09
No:27510
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
> しかしPSPってハードはPS2と同程度
いやいや、2じゃなくって1のほうだよ。
ちょっと興味があったので調べてみた。
PS1:メイン 2MB VRAM 1MB
PS2:メイン 32MB VRAM 4MB
PS3:メイン 256MB VRAM 256MB
PSP
1000 :メイン 32MB VRAM 4MB?
ただし8MBはカーネルが使用するので実質24MB
2000 :メイン 64MB VRAM ?
32MBはバッファとして使用できる。
さすがにPS3は群を抜くけど、メモリだけ見るとPSPはPS2と同じだけあるね。
携帯機のPSPではPS2のような高性能なCPUやGPUは消費電力の問題で使えないと思う。
> ゲーム作るはしんどいですね;
メモリがたくさんないと作れないと思うのはWindowsプログラマの悪いところだと思うよ。
限られた資源の中でいいもの作るのがPGの力の見せ所だと思うぜ!
> 紛らわしくなってすみません^^;
お気になさらず(^^;
2倍のポイントを手に入れた! 674ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..比類無きプログラマー(81,109ポイント)
Date: 2009/01/22(木) 23:31
No:27516
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
> メモリがたくさんないと作れないと思うのはWindowsプログラマの悪いところだと思うよ。
> 限られた資源の中でいいもの作るのがPGの力の見せ所だと思うぜ!
これはそう思いますね。
何なら、勉強会では大昔のゲーム機の話でもしましょうか?
日程があえばですけど...
36ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(17,085ポイント)
Date: 2009/01/22(木) 23:37
No:27519
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>何なら、勉強会では大昔のゲーム機の話でもしましょうか?
ぜひ聞いてみたいです。
ゲーム関係にはすごく興味があるので^^
32ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(968,555ポイント)
Date: 2009/01/22(木) 23:44
No:27520
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
あ、PS2も32Mしか無いんですか。
なるほど、それが少ないと思うのは、windowsプログラムしか組んだことが無いからですね・・。
>>何なら、勉強会では大昔のゲーム機の話でもしましょうか?
以前お勤めだった会社からしても、昔のゲーム開発お詳しそうですね^^;
もちろんそれ以前の事もご存知なのでしょうけど。
ドラクエ1とか64KBしか無かったからグラフィックの使いまわしはもちろん、
使えないカタカナすらあったという話をどこかで聞いたような気がします。
(ドラクエだったかどうか忘れましたが)
お話是非お聞きしたいです。
なんかこう聞いてると、私のようなゲーム設計は、飽食時代に食べ物を粗末にしてる子どものようですね^^;
後、関東の方の参加が少ないですね^^;
開催出来るかな・・。
263ポイント を手に入れた。
|
|
|
|
|
Name: 関東人 ..ぴよぴよ(71ポイント)
Date: 2009/01/23(金) 00:00
No:27524
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
関東から参加が少ないのは地域性の為ではないですか?
関西は積極的に人と話そうとか交流を深めようとする人が多いですが、
関東はそうではない傾向にある人が多いです。
あくまで比較したらということですが。
71ポイント を手に入れた。
|
|
|
|
|
Name: GPGA ..熟練のプログラマー(57,664ポイント)
Date: 2009/01/23(金) 00:46
No:27527
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>kazuoniさん
PSPSDKって確か、メモリースティックにデータ入れて動作ましたよね?
そうなると、私の苦労話は低速であるUMDからのファイル読み込みを
如何に高速にするかという話になるので、あまり有益な情報は提供できないかもしれません。
もし、テーマにあげてほしい内容があるなら、言っていただければ情報提供できるかもしれません。
PSPのVRAMは2Mです。
CPUはPS2と同じ333MHzでます。GPUはわかりません。
2000からの追加の32MBのバッファは、1000との互換性を保つために
UMDのキャッシュ領域として使うのが一般的です。()
PSPがつらいのは上にもありますが、UMDからの読み込みの遅さです。
読み込み速度がPS2の1/5程度であり、それに輪をかけてシーク速度が激遅です。
また、あのディスクは2層構造になっており、1層目から2層目へのシークは秒単位で遅れが発生します。
2倍のポイントを手に入れた! 576ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(311,888ポイント)
Date: 2009/01/23(金) 00:51
No:27528
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>関東の方の参加が少ないですね^^;
そのようですね。
それはそれとして、とりあえず私も参加希望ということで。
(a). 関東
(b). 四捨五入で30
(c). ネタはあるので、状況に合えば。
(d). 一応両方で
(e). 関東圏
142ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(17,422ポイント)
Date: 2009/01/23(金) 00:51
No:27529
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>PSPがつらいのは上にもありますが、UMDからの読み込みの遅さです。
これはユーザーにとってはつらい、というかいやな問題ですよね。
某ゲームソフトで、クリア時間の6〜7割はロードにかかった時間というのもありましたし・・・
あれはさすがに何とかならないものかと思いましたね
85ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) ..伝説なるハッカー(969,018ポイント)
Date: 2009/01/23(金) 01:21
No:27531
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>地域性
関東は武士の町、関西は商人の町だったって言いますもんね。
テレビ見てても大阪のおばちゃんの絡み具合はなかなか真似出来ないといつも思います・・w
>もし、テーマにあげてほしい内容があるなら、言っていただければ情報提供できるかもしれません。
正直まだ現場を知らないので何でも聞いてみたいと感じてます。
あと、若手も多いので、単純に現場の紹介して頂けるだけでもすごく参考になるのでは無いかと思ってます。
また、技術説明などの発表もいいと思いますが、職場での単なる苦労話とかでも、話題の材料になるのでは無いかと思います。
はじめだし、自由に色々やってみたいと思ってます。
>Justyさん
ご参加ありがとうございます!
リストに追加させて頂きました☆
東京で開催できたら是非私も参加させていただきたいと思いますm(_ _)m
---
ま〜くさんはお忙しいですか?(´ `;)
61ポイント を手に入れた。
|
|
|
|
|
Name: Rock ..ぴよぴよ(38ポイント)
Date: 2009/01/23(金) 03:15
No:27535
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
面白そうですね、近くで開催されることがあれば考えてみたいです。
ちなみに自分も二輪”免許だけ”持ってるので
おススメのバイクなどあれば教えてくださいw
(a). 神奈川東部
(b). 新卒見込
(c). 毎回完全リスナーで歳を食ったら考えてみる
(d). 将来考える
(e). 関東圏
38ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) ..伝説なるハッカー(969,246ポイント)
Date: 2009/01/23(金) 03:34
No:27536
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
ん‥、私の知ってるRock君でいいんだよね?
参加ありがとうっす〜♪
バイクについてはまぁ語り始めたら多分スクロール仕切れなくなるので長文は自重しますw
中型で、無難なのをって事ならCB400SFを、
大型でとにかく「はぇぇ!」奴をってことなら隼(GSX-1300R)オススメしときます。
ちなみに、隼は喉から手が出るほど欲しいので、もし本当に買ったら神奈川だろうが家にまで押しかけますのでよろしく。
今研究室にいるけど、研究室のパソコンの壁紙や机の上まで隼に染まってます。(ぉぃ

63ポイント を手に入れた。
|
|
|
|
|
Name: 藍 ..初心者(7,894ポイント)
Date: 2009/01/23(金) 14:48
No:27555
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). 滋賀県某所
(b). 22歳
(c). 特に発表することも無いのでリスナーで
(d). 両方参加したいです。
(e). 近畿県内なら多分大丈夫です
(f). 今のところ3日とも問題なく参加できます。
何かこう作れて発表できればよいんですが、そんな技術なかった・・・orz
116ポイント を手に入れた。
|
|
|
|
|
Name: 雷 ..プログラマー(35,477ポイント)
Date: 2009/01/23(金) 18:37
No:27561
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). だいたいのお住まいの場所
名古屋
(b). だいたいの年齢
20歳
(c). 自分が発表してもいいかどうか
最初はリスナー後から考えてみる
(d). どちらに参加するか
両方で!
(e). 距離的な参加可能範囲
愛知付近
資金がないので、一回目は参加できないorz
>業界の暗黒面
すごく聴きたいですw
愛知って実は微妙だったりするのかな・・・
173ポイント を手に入れた。
|
|
|
|
|
Name: こめかみ ..熟練のプログラマー(41,056ポイント)
Date: 2009/01/23(金) 20:43
No:27564
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
(a). だいたいのお住まいの場所
高崎沿線
(b). だいたいの年齢
あと二週間ちょいで21歳ですね。
(c). 自分が発表してもいいかどうか
「最初だけリスナーで後から考えてみる」
実力なんてカケラも無いので10年後ぐらいに何か発表するようなつもりで・・・
(d). どちらに参加するか (例:「研究会も懇親会も」「飲み会だけ」)
両方・・・お酒は飲めませんが。ダメですかね。空気読めてない?(大食でカバーだ!)
研究発表なんかも多分ほとんど理解できないと思いますが。
目的が無いと外出しない性質なので個人的な引きこもり治療の一環にさせていただきます。
(e). 距離的な参加可能範囲 (例:「東京なら行けるけど名古屋は無理」)
高崎沿線もしくは東京って感じですかね。
最近のゲームというか近代のテレビゲームはほとんどやったこと無いので、
せっかく同世代の人がたくさんいるのに話があわなそうなのが残念です。
昔のゲームの話は面白そうですね。
ゲーム製作技術の根源的な話になりそうなので、
流行のゲームを体験してなくても聞きごたえありそうです。
暗黒面とか苦労話とか…興味というか怖いもの見たさ(聞きたさ?)ですね私は。
後は就活相談とかしてみたいかもです。
…バイク乗りたくなってきた
マズは原付カナ
560ポイント を手に入れた。
|
|
|
|
|
Name: RYU2 ..入門者(4,240ポイント)
Date: 2009/01/23(金) 22:16
No:27569
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
こんばんわ
かなり昔にこちらの掲示板でお世話になった者です
当時C言語がただのコンソール出力だけのものだと思っていた自分は
ぜんぜん違うことができるとわかってとても嬉しかったです
本当にありがとうございますm(_ _)m
あまり時間がなくてプログラムの勉強ができなかったのですが
最近時間がとれるようになったのでこの機会に
他のことも勉強しようと思っています
この掲示板を見つけたとき、ぜひ参加させていただきたいと思ったのですが
かなり遠いので直接参加は難しいです^^;
それでも、研究会の内容も教えていただきたいので
研究会で発表されたことなどをHPにUpしていただけませんか?
非常に大変な作業だと思いますがUpしていただけるととてもありがたいです
よろしくお願いします
(a). 宮城
(b). もうそろそろ16
(c).(d). 上のとおりです
(e). 東北〜関東地区
長文で失礼しました
346ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(969,394ポイント)
Date: 2009/01/24(土) 02:24
No:27578
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
院生活を計画的に過ごさなかったツケが今まわって来ました^^;
昔から締め切り間近になってドタバタする性格を社会人になったら直さなければ・・。
>>>藍さん
全く構わないと思います^^
よろしくお願いします☆
>>>雷さん
ご参加ありがとうございます^^
愛知付近ってことは、大阪で開催すると無理そうですか?
>>>こめかみさん
ご参加ありがとうございます☆
大丈夫です。私も飲めないんでw
後、私も最近のゲームとかはあまりやらないですねぇ。
零シリーズとWiiスポーツ位でしょうかw
Wiiのマリオカートおもしろいですよね。
まぁこういうメンバーですし、Wiiリモコンを使ったプログラムのおもしろさの話とかでもいいんではw
>>>RYU2さん
ご参加ありがとうございます^^
お〜私もそうでした。コンソール画面出力しかなく、
データ構造とアルゴリズムみたいな授業しか知らなかった頃は何が面白いのかいまいちわかりませんでした。
でもCって何でも出来るんだってわかったときから変わりました。
人によって興味の対象は異なると思いますが、やっぱ画像や音声が扱える方が楽しいですよね☆
研究会の内容は可能な限りアップしていきたいと思います^^
後、東京で開催したらおこしになりますか?
64ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(17,728ポイント)
Date: 2009/01/24(土) 15:26
No:27600
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>>関西地区の皆様
>>では3/7に開催するということでよろしいでしょうか?
可能な限り予定を空けておきますのでたぶん大丈夫だと思います。
2倍のポイントを手に入れた! 134ポイント を手に入れた。
|
|
|
|
|
Name: 御津凪 [URL] ..熟練のプログラマー(52,953ポイント)
Date: 2009/01/24(土) 17:31
No:27608
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
興味はあるのですが、場所が…。
(a). 北海道
(b). 成人
(c). 何かネタがあれば発表してみようかなと思う
(d). 基本どちらもいければOK(ただし酒は飲まない)
(e). 予算があれば道外でも可
今回はまず無理ですが、機会があればぜひとも参加したいですね。
ゲームの話といえば、現在参加しているゲームのプロジェクトの終盤に差し掛かっているのですが、
プログラムコードの容量制限が既に限界に達していて、かつ未実装の部分があるという状況。
プログラマにとってさも地獄のような日々(膨張表現)が続いています…。
211ポイント を手に入れた。
|
|
|
|
|
Name: RYU2 ..入門者(4,279ポイント)
Date: 2009/01/24(土) 21:27
No:27617
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
返信ありがとうございます
東京で開催された時は参加できるかも知れないですが、
来年は高2なので、日程的に厳しいかなぁと思っています
早く大学生になりたい^^;
39ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) ..伝説なるハッカー(970,340ポイント)
Date: 2009/01/25(日) 01:56
No:27643
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>>御津凪さん
ありがとうございます☆
北海道はちょっと遠いですよね^^;
う〜ん、一番近い方でも関東ですね;
機会があれば是非お願いします><
プログラムコードに制限とかあるんですね。なるほど・・。
より一層効率的にプログラムを書くようにしないといけませんね^^;
>>RYU2さん
大学生、特に4年生は曜日感覚がなくなります・・w
開催はきっと土曜日だと思うのですが、もし参加出来そうでしたら是非お願いしますm(_ _)m
231ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..上級者(24,136ポイント)
Date: 2009/01/25(日) 02:07
No:27645
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
嫁の許可がおりたら・・・が前提なのですが^^;
仕事が休めれば、関東からでも参加可能ですか?
何も、意見とかできませんが聞き側のみでも参加可能ですか?^^
77ポイント を手に入れた。
|
|
|
|
|
Name: 雷 ..プログラマー(35,546ポイント)
Date: 2009/01/25(日) 06:09
No:27650
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
参加したいけど…場所的に無理です。。
何か手伝いたいとか思うのですが、、、何も思いつかない^^;
何か手伝えそうなことがあれば言ってください!!
69ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..上級者(24,203ポイント)
Date: 2009/01/25(日) 12:21
No:27656
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
おはようございます!
交通費は(共働きの)嫁が出してくれるとの事で・・・。(汗
こういう会は、お金で買えないものがあると思うので、ぜひ行きたいです。w
2〜3日考えてから、またご連絡します。
67ポイント を手に入れた。
|
|
|
|
|
Name: 組木紙織 [URL] ..熟練のプログラマー(69,364ポイント)
Date: 2009/01/25(日) 21:05
No:27662
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
3/7に確定ですね。了解しました。時間空けるようにします。
後の問題は、正確な場所と時間、参加費ですかね。
ロゴですけど、知り合いに話してみました。期待しないで待っててください。
#発表可って言ったからねたを考えとかないと、
2倍のポイントを手に入れた! 210ポイント を手に入れた。
|
|
|
|
|
Name: nishio ..ぴよぴよ(31ポイント)
Date: 2009/01/25(日) 22:10
No:27665
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
こんばんわ
勉強会 とても興味があるので,是非参加したいですが,場所が・・・
(a). 東京近辺
(b). 20代
(c). 最初だけリスナーで,後から考えてみます
(d). 研究会も懇親会も
(e). 関東なら
31ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..比類無きプログラマー(82,086ポイント)
Date: 2009/01/25(日) 22:15
No:27666
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
> 後の問題は、正確な場所と時間、参加費ですかね。
場所を決めるのが先決ですね。
時間は、会場にもよりますが12:00〜17:00ぐらいでしょうか。
大抵の会場は17:00までで、それ以降は夜間料金を取られると思います。片付けを考慮すると16:30には終わった方がよいでしょう。
開始時間も、会場自体は12:00ごろから借りて、実際の開始は13:00ごろからになるかと思います。
参加費についてですが、あまり高いと次回から足が遠のきますので、一人500円ぐらいを目標にした方がよいでしょう(かといって、電車の乗り継ぎが増えると交通費で往復500円前後多くかかってしまいますが...)。
あと、念のため書いておくと、入場料を徴収したり、物販を行う集会の場合、会場の料金体系が(高い方に)変わることがほとんどです。それを回避するにはあくまでも割り勘にしておく必要があります。
二次会は、遠方から来られる方や未成年もおられるので、遅くとも19時台には終わるべきですね。
343ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(971,445ポイント)
Date: 2009/01/26(月) 03:32
No:27672
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
水曜か木曜までちょっと忙しいので、木曜日から、HP作成も含め、具体的内容を詰めていこうとおもいます^^;
会場はたかぎさんが教えてくださった所を中心にアクセスにしやすい場所を探そうと思います。
新大阪付近のホテルで安い会議室借りれたらその辺でもいいかもしれません。
研究会の参加費は500〜1000円位で探してみます。
懇親会はどこかの居酒屋で3000円のコースでも頼んだ方がいいんでしょうか?
出来るだけみんなが一つのテーブルを囲めるような店がいいですね。
なかなか都会の居酒屋ほど4人テーブルにわかれるような形が多そうですが・・。
よい店が無いか探して見ます。なるべく会場から近いところにしようと思います。
研究会の方は最初だということもあり、3時間位でいいかなと思ってますが、どうでしょう。
研究会:14:00〜17:00
懇親会:17:30〜19:30
誰が何をどの位発表して討論するかまだ全くわからないので、時間決めるのが難しいですね;
・・って今メンバー表見てみたら、発表が「可」になってるひと私以外に組木紙織さんしかいらっしゃらない^^;
まだ社会人ではない人もいるので、社会人としての心得的な話でもいいので誰かしていただけると嬉しいですw
後、会長は誰がやれば^^;
まぁ会長の仕事ってHPに挨拶書いていただくのと、研究会始まるときに会長挨拶的な事を簡単にしていただいたりするだけなんですがw
>雷さん
ありがとうございます、また機会があるときお願いします^^
>Mistさん
ありがとうございます。よろしくお願いします。
>ムンバさん
遠くからありがとうございますm(_ _)m
>組木紙織さん
おぉ、ロゴの件、楽しみにしてます〜♪
ありがとうございます^^
>nishioさん
ご参加ありがとうございます^^
では関東地区で開催することが出来ればその時よろしくお願いします!
>たかぎさん
ありがとうございます。
(だいたいの返信内容は既に一番上に書いてしまいました)
教えていただいた情報を元に設定していこうとおもいます。
853ポイント を手に入れた。
|
|
|
|
|
Name: Haru ..上級者(22,786ポイント)
Date: 2009/01/26(月) 13:08
No:27699
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
関東開催が時があれば是非参加させてください!!
a)東京
b)25歳
c)リスナーのみ
d)両方
e)関東なら^^;
# 最近、VC++で困惑中でたまにしか掲示板除いてないですが^^;
56ポイント を手に入れた。
|
|
|
|
|
Name: ouh ..かけだし(2,286ポイント)
Date: 2009/01/28(水) 13:30
No:27884
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
いまごろになってすみません。
皆さんお若いので怯んでました。
関東方面でやることがあれば参加させて欲しいです。
(a). 東京都西部(「東京」と言ってしまうのをためらう程のド田舎)
(b). もうすぐ38
(c). リスナーで
(d). 両方
(e). 関東なら
88ポイント を落としてしまった。
|
|
|
|
|
Name: ムンバ ..上級者(24,800ポイント)
Date: 2009/01/29(木) 01:51
No:27908
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
こんばんは。お世話になります。
大変申し訳御座いませんが、今回のソフトウェア技術研究会は不参加とさせて頂きます。<_ _>
あと「ソフトウェア技術研究会」→「メンバー紹介」のページの「関東」と「関西」のどちらにも
「ムンバ」が居るので、関西の「ムンバ」を、お時間ある時にでも消しといて頂けたらと思います。
宜しくお願い致します。(謝
100ポイント を手に入れた。
|
|
|
|
|
Name: るく ..ぴよぴよ(289ポイント)
Date: 2009/01/29(木) 18:16
No:27948
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
はじめまして。
こちらの掲示板に書き込みするのはおそらく初めてになると思うのですが、プログラミングの館など日々参考にさせて頂いております。
研究会に参加したいと思いますので書き込みさせていただきます。
(a). 東大阪
(b). 20代前半
(c). プレゼンできるような知識も技術も持ち合わせていないんで、とりあえずリスナーでお願いします。
(d). 研究会も懇親会も両方参加で!
(e). 関西地域でお願いします
(f). 3/7で決定みたいですので、その日でOKです!
自分、情報学科の大学生なのでソフトウェア開発の話など興味があります。いつか自分でゲーム作りたいなぁ。
あと就活の話なども聞いてみたいです。
289ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..上級者(24,769ポイント)
Date: 2009/01/30(金) 01:14
No:27964
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>No:27908
修正ありがとうございました。
失礼します。
31ポイント を落としてしまった。
|
|
|
|
|
Name: ムンバ ..上級者(24,807ポイント)
Date: 2009/01/31(土) 01:16
No:28005
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
>>東京での開催の時よろしくお願いしますm(_ _)m
東京での開催を予定されてるのですか?
38ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(977,038ポイント)
Date: 2009/01/31(土) 13:25
No:28032
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
メンバー表の区分は「関西地区での開催に出席出来る人」「関東地区での開催に出席出来る人」でわけました。
メンバーが集まり、開催できそうなので、開催したいと思っていますが、
やはり初めての企画なので、具体的に、内容的にどうなるか開催してみないとわかりません。
ですので関西地区での研究会が成功したら、今後も継続して開催していこうと思っています。
よって、最終的な判断は3/7が終わってからということにさせて下さい。
(その他の地区に区分されている地域での開催は参加人数とのバランスを見て検討させてください)
そろそろ研究会HPやその内容方つめていきたいと思います。
115ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..上級者(24,829ポイント)
Date: 2009/01/31(土) 14:58
No:28036
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
了解です!宜しくお願いします。
ご成功お祈り申し上げます。
22ポイント を手に入れた。
|
|
|
|
|
Name: るく ..ぴよぴよ(520ポイント)
Date: 2009/01/31(土) 17:27
No:28046
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
こんにちは。
開催日の日程を見ていて今気づいたのですが、3月7日って東方関連のイベントのちょうど間の日になっていますね。
東方ライブイベントの「フラワリングナイト」が3月6日にあり、東方オンリー同人誌即売会の「博麗神社例大祭」が3月8日にあるので。
自分は両方のイベントに参加しようと考えているので、今回のオフ会参加は出来ない可能性が高いです(汗
ただ何らかの事情でイベント参加が無理になった場合(ライブのチケット取れなかった!、東京までの交通費が無い!など)はオフ会参加したいと考えているので、すみませんが保留という形にしておいてもらえますか?
231ポイント を手に入れた。
|
|
|
|
|
Name: きらりん ..初心者(5,297ポイント)
Date: 2009/02/02(月) 13:08
No:28139
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
楽しそうなので参加してみたいですw
場所によっては諦めますが・・・
(a). 大阪南部
(b). 19
(c). 初心者過ぎるので完全リスナーで
(d). 両方参加でお酒は飲めませんがw
(e). 大阪内ならだいじょぶですが、他県だと厳しいかもしれません。
(f). 三日ともいけると思います。
101ポイント を手に入れた。
|
|
|
|
|
Name: Jin
Date: 2009/02/11(水) 00:22
No:274311234279320
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
はじめまして。
普段、会社から掲示板をよく拝見させていただいてます。
会社から書き込みできないので基本的にみているだけですが、
よければ参加させてください(^^
(a). 神奈川
(b). 20代半ば
(c). FATについてなら多少発表できますが、
需要はあまりないと思うのでリスナーで。。
(d). 両方参加で。
(e). 関東均衡であれば
ちなみにバイクはSR400乗ってます(笑
時間さえできれば多少遠征もしてみたいかなv
言語は、C++(VC++も)を主にやってます。
|
|
|
|
|
Name: cosmo
Date: 2009/02/11(水) 22:27
No:274311234358862
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
ソフトウェア技術研究会入会申し込みフォームに記入して送信しようとしたら↓
>エラー:データベースで下記のエラーが発生しました。
>電話番号が正しい表記ではありません。
となってしまうのでこちらに書きます。cosmoです。
(a).石川県
(b).20
(c).リスナーでお願いします。
(d).研究会のみ
(e).大阪・名古屋あたりで金沢から3時間以内で行ける所
ハンドルネームのcosmoは高校時代のあだ名です(^^;
|
|
|
|
|
Name: cosmo
Date: 2009/02/11(水) 22:28
No:274311234358904
|
|
Title: Re:☆ソフトウェア技術研究会設立☆参加メンバー募集!! <飲み会のみも可>
|
|
ソフトウェア技術研究会入会申し込みフォームに記入して送信しようとしたら↓
>エラー:データベースで下記のエラーが発生しました。
>電話番号が正しい表記ではありません。
となってしまうのでこちらに書きます。cosmoです。
(a).石川県
(b).20
(c).リスナーでお願いします。
(d).研究会のみ
(e).大阪・名古屋あたりで金沢から3時間以内で行ける所
ハンドルネームのcosmoは高校時代のあだ名です(^^;
|
|
|
|
Name: abc ..入門者(3,120ポイント)
Date: 2009/02/02(月) 17:10
No:28151
|
|
Title: 関数を引数に。
|
|
関数を関数の引数で渡し、その引数を実行したい場合どの用にすれば良いでしょうか?
(XPでC言語です)
例
void a();
void setb(void * func);関数を引数で貰う関数
void main()
{
setb(a);
}
みたいな感じで関数ポインタを渡すことは可能でしょうか??
可能な場合、関数ポインタを実行する場合どのようにすれば良いでしょうか?
(可能か分かりませんが、私の考えたのが、直接プログラムカウンタをいじくることです。不可能かも(TT))
どうかよろしくお願いします。
65ポイント を手に入れた。
|
|
|
|
Name: Mist ..熟練のプログラマー(48,332ポイント)
Date: 2009/02/02(月) 17:20
No:28154
|
|
Title: Re:関数を引数に。
|
|
サンプルソースです。
#include <stdio.h>
typedef void (*PFUNC)(void);
void hoge(PFUNC pfunc) {
(*pfunc)();
}
void hogehoge(void) {
printf("hoge---!!\n");
}
int main(void) {
hoge(hogehoge);
return 0;
}
130ポイント を手に入れた。
|
|
|
|
|
Name: abc ..入門者(3,397ポイント)
Date: 2009/02/02(月) 17:39
No:28156
|
|
Title: Re:関数を引数に。
|
|
お早い回答ありがとうございます。
私の勉強不足で申し訳ないのですが、
int *funcA[10];グローバルの関数アドレス格納変数
void a();
void setb(void * func)
{
int i;
for(i = 0;i<10;i++)
{
if(funcA[i] == 0)
{
funcA[i] = func;関数のアドレスをグローバルの配列に格納
}
}
}
void main()
{
memset(funcA[i],0,sizeof(funcA));0初期化
setb(a);
}
この場合に funcA[i]の関数を実行する時にも同じ方法でよろしいのでしょうか?
あとtypedef void (*PFUNC)(void);の意味も教えていただけないでしょうか(TT)勉強不足ですみません。
277ポイント を手に入れた。
|
|
|
|
|
Name: abc ..入門者(3,480ポイント)
Date: 2009/02/02(月) 17:52
No:28157
| 解決!
|
Title: Re:関数を引数に。
|
|
Mistさんありがとうございます。出来ました。
出来たには出来たのですが今ひとつtypedef void (*PFUNC)(void);が分からない部分があるので
もし時間があれば教えてください。
ありがとうございました。
83ポイント を手に入れた。
|
|
|
|
|
Name: Mist ..熟練のプログラマー(48,592ポイント)
Date: 2009/02/02(月) 17:55
No:28158
|
|
Title: Re:関数を引数に。
|
|
関数ポインタの宣言は「戻り値 (*)(引数)」です。
この形でないとだめです。
> void setb(void * func)
こう書いた場合の引数はvoidのポインタというだけです。
void setb(void (*func)(void))
というふうに書かないとだめです。
そのため、関数アドレスの格納変数も
void (*pfunctbl[10])(void)
というふうに宣言しないといけません。
> typedef void (*PFUNC)(void);
これは毎回毎回「void (*)(void)」と書くのはめんどくさいので、PFUNCという文字に置き換えますという宣言です。
そのため、
「PFUNC pfunc」は「void (*pfunc)(void)」と書くのと等価になります。
見た目が普通の変数を宣言するのと変わらなくなるため私はこうしています。
サンプル改
#include <stdio.h>
//typedef void (*PFUNC)(void);
void (*pfunctbl[10])(void); // 関数アドレス格納配列
// PFUNC pfunctbl[10]; // typedefしている場合はこういう宣言ができる
void hoge(void (*pfunc)(void)) {
//void hoge(PFUNC pfunc) {
pfunctbl[0] = pfunc;
(*pfunctbl[0])();
}
void hogehoge(void) {
printf("hoge---!!\n");
}
int main(void) {
hoge(hogehoge);
}
260ポイント を手に入れた。
|
|
|
|
|
Name: abc ..入門者(3,509ポイント)
Date: 2009/02/02(月) 18:14
No:28159
|
|
Title: Re:関数を引数に。
|
|
関数ポインタの宣言は「戻り値 (*)(引数)」覚えておきます。
かなり参考になりました。(答えを教えてもらっただけかもしれませんが自分の為になったと思います)
ありがとうございました。また分からない事が出来たときにお願いします。
(プログラムカウンタを直接いじるのは馬鹿ですね笑)
29ポイント を手に入れた。
|
|
|
|
|
Name: toyo ..上級者(24,656ポイント)
Date: 2009/02/03(火) 07:36
No:28177
|
|
Title: Re:関数を引数に。
|
|
関数ポインタも関数なので普通の関数の宣言
戻り値 関数名(引数)
の関数名がポインタ変数になるだけ
と覚えればいいでしょう
65ポイント を手に入れた。
|
|
|
|
|
Name: 初級者 ..入門者(4,048ポイント)
Date: 2009/02/03(火) 12:29
No:28185
|
|
Title: Re:関数を引数に。
|
|
>toyoさん
>関数ポインタも関数なので
関数ポインタはその関数へのポインタであり、
関数そのものではありません。
pfが関数ポインタのとき、
(*pf)();
と書くべきところを
pf();
と簡略化できる、というだけです。
122ポイント を手に入れた。
|
|
|
|
Name: yu ..中級者(9,117ポイント)
Date: 2009/01/29(木) 15:40
No:27935
|
|
Title: OpenGL
|
|
openGLで対数グラフを書く課題があるのですが、サンプルプログラムないですかね;;
実習課題になっていきなりOpenGLを使うようになり、全くついていけません;;
vcでしています。
グラフみたいなのが描けても、目盛りがつけられない&CSVファイルを読み込んで描画するなどが出来ません。
毎度毎度質問ばかりですみみません;;
6ポイント を手に入れた。
|
|
|
Name: MEME ..ぴよぴよ(205ポイント)
Date: 2009/02/03(火) 08:14
No:28178
|
|
Title: 2つのベクトルのなす角度
|
|
よろしくお願いします。
2つのベクトルのなす角度を求める関数
float 2VecRotate(const D3DXVECTOR3* v1,const D3DXVECTOR3* v1)
{
float r = ( float )acos( D3DXVec3Dot( v1 , v2 ) / ( D3DXVec3Length( v1 ) * D3DXVec3Length( v2 ) ) );
D3DXVECTOR3 n;
D3DXVec3Cross( &n , v1 , v2 );
if( n.y < 0 ) r = ( PI * 2 ) - r;
return r;
}
を作ったのですがこの二つのベクトルが限りなく同じ場合、値がおかしくなるのですが
どうしてでしょうか?
69ポイント を手に入れた。
|
|
|
|
Name: たいちう ..上級者(23,341ポイント)
Date: 2009/02/03(火) 09:06
No:28179
|
|
Title: Re:2つのベクトルのなす角度
|
|
ソースコードで気づいた点は、関数の2つめの引数もv1になっていること。
今、環境がないけど、これは原因じゃないの?
関数名が、2VecRotateというのもおかしいね。
ちゃんとコンパイルできるソースコードをコピーして載せたか確認してください。
> を作ったのですがこの二つのベクトルが限りなく同じ場合、値がおかしくなるのですが
> どうしてでしょうか?
どうおかしくなるのかの説明をしてください。
入力例と期待する結果と期待はずれな結果を。
87ポイント を落としてしまった。
|
|
|
|
Name: s-rush ..上級者(18,019ポイント)
Date: 2009/01/26(月) 16:43
No:27717
|
|
Title: キャラクターを動かすプログラム
|
|
いつもお世話になってます。
前回作っていた戦闘システム系のプログラムを少し凍結して
今はキャラクターを動かすプログラムを作っています。
ゲームプログラミングの館 第20章を参考にキャラクターの動く速度を可変できるプログラムを
作ってみたのですが、うまくいかない時があります。
”Zキーを入力しながら方向キーを入力と2倍の速度で動く”
というプログラムなんですが、時々本来なら通ることができないところを
通過してしまうときが生じてしまいます。
何度も実験をしているとどうやら
方向キー入力中にZキーを入力 → Zキーを入力したまま方向キーを離す
とそのまま直進して壁をぶち破って進んでしまうようなんです。
現象が生じたときの画像を貼っておきます。
バグにより脱出不可能に(笑
必ずこのような手順で入力するとこの現象が起こってしまうのであれば
原因を見つけることができるとは思うのですが、
この現象が起こらないことの方が多いので何が原因なのか分からないです。
291ポイント を手に入れた。
|
|
|
|
Name: s-rush ..上級者(19,246ポイント)
Date: 2009/01/26(月) 16:45
No:27718
|
|
Title: Re:キャラクターを動かすプログラム
|
|
続き
#include "DxLib.h"
typedef struct{
int x,y,img,muki,walking_flag;
}ch_t;
int feild_map[15][20] = {
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
{ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 },
};
int can_or_cannot(int x,int y,int muki){//進めるかを判定する
if(muki==0)//上向きなら
if(feild_map[y/32-1][x/32]==1)//進めるか判定
return 1;//エラー
if(muki==1)//左向きなら
if(feild_map[y/32][x/32-1]==1)
return 1;
if(muki==2)//下向きなら
if(feild_map[y/32+1][x/32]==1)
return 1;
if(muki==3)//右向きなら
if(feild_map[y/32][x/32+1]==1)
return 1;
return 0;//正常
}
1,227ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(20,266ポイント)
Date: 2009/01/26(月) 16:46
No:27719
|
|
Title: Re:キャラクターを動かすプログラム
|
|
もう一度続き
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int image[16],i,j;
int map_chip[1];
int map;
char Key[256];
ch_t ch;
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
ch.x =320;
ch.y =160;
ch.walking_flag=0;
ch.muki=3;
SetDrawScreen( DX_SCREEN_BACK ) ; //描画先を裏画面に設定
LoadDivGraph( "main_char.png" , 16 , 4 , 4 , 32 , 32 , image ) ;//画像を分割してimage配列に保存
LoadDivGraph( "kusa.png" , 1 , 1 , 1 , 32 , 32 , map_chip ) ;//画像を分割してimage配列に保存
PlayMusic( "masara_town.mid" , DX_PLAYTYPE_LOOP ) ; // test.midのバックグラウンド演奏
map = map_chip[0];
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
/*フィールドを描画*/
for(i=0;i<15;i++)
for(j=0;j<20;j++)
if(feild_map[i][j]!=1)
DrawGraph( j*32,i*32 , map , TRUE ) ;
if(ch.x%32==0 && ch.y%32==0){ //座標が32で割り切れたら入力可能
ch.walking_flag=1; //歩くフラグを立てる。
if ( Key[ KEY_INPUT_UP ] == 1 ) //上ボタンが押されたら
ch.muki=0; //上向きフラグを立てる
else if( Key[ KEY_INPUT_LEFT ] == 1 ) //左ボタンが押されたら
ch.muki=1; //左向きフラグを立てる
else if( Key[ KEY_INPUT_DOWN ] == 1 ) //下ボタンが押されたら
ch.muki=2; //下向きフラグを立てる
else if( Key[ KEY_INPUT_RIGHT] == 1 ) //右ボタンが押されたら
ch.muki=3; //右向きフラグを立てる
else //何のボタンも押されてなかったら
ch.walking_flag=0; //歩かないフラグを立てる
if(ch.walking_flag==1) //もし歩くなら
if(can_or_cannot(ch.x,ch.y,ch.muki)==1)//行き先が歩けないなら
ch.walking_flag=0; //歩かないフラグを立てる。
}
//2倍速
if(ch.walking_flag==1){ //歩くフラグが立っていたら
if(Key[KEY_INPUT_Z]){
if(ch.muki==0) //上向きならch.y座標を減らす
ch.y-=2;
else if(ch.muki==1) //左向きならch.x座標を減らす
ch.x-=2;
else if(ch.muki==2) //下向きならch.y座標を増やす
ch.y+=2;
else if(ch.muki==3) //右向きならch.x座標を増やす
ch.x+=2;
}
//1倍速
else{ //歩くフラグが立っていたら
if(ch.muki==0) //上向きならch.y座標を減らす
ch.y--;
else if(ch.muki==1) //左向きならch.x座標を減らす
ch.x--;
else if(ch.muki==2) //下向きならch.y座標を増やす
ch.y++;
else if(ch.muki==3) //右向きならch.x座標を増やす
ch.x++;
}
}
ch.img=image[(ch.x%32+ch.y%32)/8 + ch.muki*4]; //画像をセット
DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;//画像を描画
ScreenFlip();
}
DxLib_End();
return 0;
}
開発環境はいつもと同じくVC++2008 EEです。
またみなさんの力をお貸しください。
1,020ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(51,954ポイント)
Date: 2009/01/26(月) 18:39
No:27722
|
|
Title: Re:キャラクターを動かすプログラム
|
|
nonさんの仰る通り32の倍数にならないからだと思いますね。
例えば右に歩き始めて(xをインクリメントし始めて)
28→29に進む途中でzが押されたとします。
すると、次のループで
29+2=31
31+2=33
...
こんなことが起きるときもありますし、
無いときもあります。
解決策としては、
「キャラクターが止まっていて、Zキーが押されたら」
フラグをたて、
「フラグが立っていたら」
二倍速
みたいな感じで良いのではないでしょうか?
224ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(20,646ポイント)
Date: 2009/01/26(月) 19:03
No:27725
|
|
Title: Re:キャラクターを動かすプログラム
|
|
nonさんやkazuoniさんのおっしゃるように
32の倍数になっていなかったのが原因のようでした。
if(ch.x%32==0 && ch.y%32==0){ //座標が32で割り切れたら入力可能
ch.walking_flag=1; //歩くフラグを立てる。
if(Key[KEY_INPUT_Z])
ch.speed = 1;
else
ch.speed = 0;
と変更し、スピード制御の条件式を変更したら正常に動作するようになりました。
あとこのプログラムを関数化したいのですが、どのようにすればいいのでしょうか?
void char_wakl()
{
ここは先ほどのプログラムと同じ制御
}
たぶんこのような感じでプログラムを書けば大丈夫だと思うのですが、
どこで、どのタイミングで関数を呼び出せばよいのか分からないです。
面倒ついでにこれについても教えていただいても構いませんか?
380ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(52,160ポイント)
Date: 2009/01/26(月) 19:47
No:27727
|
|
Title: Re:キャラクターを動かすプログラム
|
|
基本的にはキャラの座標移動の前にループ毎に呼び出せば良いと思います。
ただ、個人的な意見ですが、Zキー押しっぱなしは結構面倒ではないですか?
ポケモン制作だったらZ押せば自転車に乗る的な感じ
だったら操作する側は楽かなーって思ったりしちゃうのですが^^;
あ、人それぞれの実装があるので、流しておいてください。。
2倍のポイントを手に入れた! 206ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(20,887ポイント)
Date: 2009/01/27(火) 11:27
No:27757
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>基本的にはキャラの座標移動の前にループ毎に呼び出せば良いと思います。
というのはどういうことなんでしょうか?
main関数内で方向キーが入力されたときに移動関数を呼び出す
ということなんですか?
>ポケモン制作だったらZ押せば自転車に乗る的な感じ
もちろんこれも実装しますよ^^
今のポケモンの操作制御は
歩行、ダッシュ、自転車(2段可変速)の4種ありますので
忠実に再現しようとしているのでダッシュも実装したかったのです。
確かにZキーを押しっぱなしにするのもユーザー側からすれば面倒かもしれないですが、
さすがに建物の中を自転車で爆走するのはどうかなって思いまして・・・
241ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(21,465ポイント)
Date: 2009/01/29(木) 00:04
No:27905
|
|
Title: Re:キャラクターを動かすプログラム
|
|
このプログラムをchar_wakl()という関数にしたいのですが、
引数として何を設けてあげた方が処理がしやすくなりますか?
自キャラの座標と入力されたキーを格納する変数は少なくとも必要だと思うのですが。
73ポイント を手に入れた。
|
|
|
|
|
Name: BEMANI ..中級者(13,482ポイント)
Date: 2009/01/29(木) 01:42
No:27907
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>>s-rushさん
自分は自キャラの移動関数を作りましたが、関数内には
・十字キーを押せばキャラの移動
・マップとの当たり判定(移動限界の制御)
・歩行速度
という処理が書いてあるだけで、何も引数を使っていないです。
というのも、特に引数を必要としなかったからです。
s-rushさん的にはどのような情報があれば便利そうだとお考えでしょうか?
これがあれば便利! というものを引数にすればいいと思いますよ^^
89ポイント を手に入れた。
|
|
|
|
|
Name: 木霊 ..プログラマー(29,060ポイント)
Date: 2009/01/29(木) 02:41
No:27909
|
|
Title: Re:キャラクターを動かすプログラム
|
|
s-rushさん、はじめましてですかね?
このプログラムをそのまま関数にするなら最低でも
・構造体ch・・・1
・配列key[]・・・2
・配列image[]・・・3
の3つの引数がいることになります。
多分今のままだと選択の余地がないと思うので少し処理を分けてみませんか?
描画を別の関数にしてしまうのであれば1番と2番だけで済みますし(描画の時には1番と3番)
移動もキー入力と実際の移動を分ければ街の人等を動かすのにここで作った関数を使えそうですよね。
あと、4段階のスピードを予定しているそうですが、それなら
int speed = 1;// 移動スピード(1歩行、2ダッシュ、4自転車低速、8自転車高速)
・・・(↑32の約数が1・2・4・8・16・32なので、それ以外の値にならないように処理しておく)
ch.x += 1 *speed;
・・・
という感じにしたらif文のまとまりをスピード毎に書かなくてもいいと思いますがどうでしょう?
個人的にはスピード切り替え式より押しっぱなしの方が・・・ってそんなアンケートとってないですねw
373ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(21,474ポイント)
Date: 2009/01/29(木) 16:58
No:27944
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>>BEMANIさん
これがあると便利かなという情報がまだよく分かっていないです^^;
というのも移動関数を作ること自体が初めてなので・・・
いろいろと試行錯誤を重ねて考えてみます。
>>木霊さん
はじめましてです^^
自キャラ以外のキャラクターの移動にもできれば使用したいので、処理を分けて考えてみます。
となると必要な関数は
・キー入力
・移動
・描画
の3つが必要になるのですかね?
>個人的にはスピード切り替え式より押しっぱなしの方が・・・
原作同様にダッシュは押しっぱなしで、自転車のみ切り替え式にしようかと思ってます
9ポイント を手に入れた。
|
|
|
|
|
Name: 木霊 ..プログラマー(29,250ポイント)
Date: 2009/01/29(木) 20:50
No:27950
|
|
Title: Re:キャラクターを動かすプログラム
|
|
それでいいと思いますよ。
それだと、キー入力は主人公用で、他のキャラは別の関数(乱数で移動方向決定とか)になりますね。
ただ、移動をマップ上を歩くキャラ共通で使えるようにするには引数を工夫しないと
無理なので少し苦労するかもしれません。
(構造体chをそのまま渡すのなら他のキャラも同じ構造体で作る必要がありますが、その場合主人公だけの情報
を構造体に組み込めない。また、別の構造体で作るのならば引数の数が多くなってしまう。)
実は原作未プレイですw
190ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(21,732ポイント)
Date: 2009/01/29(木) 22:19
No:27952
|
|
Title: Re:キャラクターを動かすプログラム
|
|
関数化する前に先に自転車の速度制御も組み込みたいのですが、思った通りに動きません。
普通の状態でCを入力すると(グラフィックはまだ変わらないですが)自転車に乗る。
自転車に乗っている状態でXを入力すると低速、高速の切り替え。
自転車に乗っている状態でCを入力すると、自転車から降りる。
ダッシュとは違い押しっぱなしではなく、キーを一度入力すると移動速度が変化する、
という処理を実装したいのですが、一度キーを入力しても移動速度に変化が見られませんでした。
(キーを押しっぱなしにしていれば変わるようでしたが)
258ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(22,695ポイント)
Date: 2009/01/29(木) 22:19
No:27953
|
|
Title: Re:キャラクターを動かすプログラム
|
|
コードが入らなかったので続きです。
#include "DxLib.h"
typedef struct{
int x,y,img,muki,walking_flag, speed;
int st; //ステイト 歩き:0 自転車:1(低速)2(高速)
}ch_t;
(略)
void walk_or_bike(ch_t *ch, char Key[])
{
//自転車の乗り降り
if(ch->st == 0 && Key[KEY_INPUT_C])
ch->st = 1;
else if(ch->st = 1 && Key[KEY_INPUT_C])
ch->st = 0;
//自転車の速度の切り替え
else if(ch->st = 1 && Key[KEY_INPUT_X])
ch->st = 2;
else if(ch->st = 2 && Key[KEY_INPUT_X])
ch->st = 1;
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int image[16],i,j;
int map_chip[1];
int map;
char Key[256];
ch_t ch;
ch.st = 0; //自転車に乗っていない状態
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
ch.x =320;
ch.y =160;
ch.walking_flag=0;
ch.muki=3;
SetDrawScreen( DX_SCREEN_BACK ) ; //描画先を裏画面に設定
LoadDivGraph( "main_char.png" , 16 , 4 , 4 , 32 , 32 , image ) ;//画像を分割してimage配列に保存
LoadDivGraph( "kusa.png" , 1 , 1 , 1 , 32 , 32 , map_chip ) ;//画像を分割してimage配列に保存
PlayMusic( "masara_town.mid" , DX_PLAYTYPE_LOOP ) ; // test.midのバックグラウンド演奏
map = map_chip[0];
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了
/*白い壁を描画*/
for(i=0;i<15;i++)
for(j=0;j<20;j++)
if(feild_map[i][j]!=1)
DrawGraph( j*32,i*32 , map , TRUE ) ;
if(ch.x%32==0 && ch.y%32==0){ //座標が32で割り切れたら入力可能
ch.walking_flag=1; //歩くフラグを立てる。
walk_or_bike(&ch, Key);
if(Key[KEY_INPUT_Z] && ch.st==0)
ch.speed = 2;
else if(ch.st == 1)
ch.speed =4;
else if(ch.st == 2)
ch.speed = 8;
else
ch.speed = 1;
if( Key[ KEY_INPUT_UP ] == 1 ) //上ボタンが押されたら
ch.muki=0; //上向きフラグを立てる
else if( Key[ KEY_INPUT_LEFT ] == 1 ) //左ボタンが押されたら
ch.muki=1; //左向きフラグを立てる
else if( Key[ KEY_INPUT_DOWN ] == 1 ) //下ボタンが押されたら
ch.muki=2; //下向きフラグを立てる
else if( Key[ KEY_INPUT_RIGHT] == 1 ) //右ボタンが押されたら
ch.muki=3; //右向きフラグを立てる
else //何のボタンも押されてなかったら
ch.walking_flag=0; //歩かないフラグを立てる
if(ch.walking_flag==1) //もし歩くなら
if(can_or_cannot(ch.x,ch.y,ch.muki)==1)//行き先が歩けないなら
ch.walking_flag=0; //歩かないフラグを立てる。
}
if(ch.walking_flag==1){ //歩くフラグが立っていたら
if(ch.muki==0) //上向きならch.y座標を減らす
ch.y-=1*ch.speed;
else if(ch.muki==1) //左向きならch.x座標を減らす
ch.x-=1*ch.speed;
else if(ch.muki==2) //下向きならch.y座標を増やす
ch.y+=1*ch.speed;
else if(ch.muki==3) //右向きならch.x座標を増やす
ch.x+=1*ch.speed;
}
ch.img=image[(ch.x%32+ch.y%32)/8 + ch.muki*4]; //画像をセット
DrawGraph( ch.x , ch.y , ch.img , TRUE ) ;//画像を描画
ScreenFlip();
}
DxLib_End();
return 0;
}
自転車の乗り降りを制御する関数はwalk_or_bikeで、
キー入力が可能になるたびに呼び出しているので
ch.stの値が書き変わっていると思うのですが移動速度に反映されていないです。
どこがおかしいのでしょうか?
963ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(22,718ポイント)
Date: 2009/01/29(木) 22:54
No:27955
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>ch->st==1じゃないですか?
これでした^^;
kazuoniさん、ありがとうございました。
超初歩的なミスですいませんでした。
自分ながら情けないorz
でもif(a=0)
のようにしてしまうとコンパイルエラーが出ませんでした?
これで自転車の速度制御ができるようになったのですが、
walk_or_bike()を呼び出して、キーを入力したとき、
変化が速すぎるのですが、ストッパーみたいなものって入れることはできないのですか?
キーをずっと押しっぱなしにしていると、ずっと変化してしまっているので。
23ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(53,531ポイント)
Date: 2009/01/29(木) 23:10
No:27957
|
|
Title: Re:キャラクターを動かすプログラム
|
|
=と==の違いはC言語の入門サイトに載ってますよ^^
>ストッパー
staticで変数を用意して、walk_or_bike()を呼び出すたびにインクリメントします。
この数が偶数のときにこの処理をする
・・・これで処理速度は元の約1/2になります。
こんな感じですかね。とっても単純ですけど^^;
113ポイント を手に入れた。
|
|
|
|
|
Name: 木霊 ..プログラマー(29,348ポイント)
Date: 2009/01/29(木) 23:24
No:27959
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>変化が速すぎるのですが
管理人さんの作ったこちらの関数を使ってみてはどうですか?
int GetHitKeyStateAll_2 ( int* KeyStateBuf );
こちらはキーを押している間は数値が増え、離した瞬間に0になります。
押した瞬間だけ(変数 == 1の時)フラグを入れ替えるようにすれば変化が早すぎることはなくなると思います。
詳細はゲームプログラミングの館40aです。
98ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(22,729ポイント)
Date: 2009/01/30(金) 00:32
No:27961
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>管理人さんの作ったこちらの関数を使ってみてはどうですか?
ということは
int GetHitKeyStateAll_2(int KeyStateBuf[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++;
else KeyStateBuf[i]=0;
}
return 0;
}
void walk_or_bike(ch_t *ch, char Key[])
{
//自転車の乗り降り
if(ch->st == 0 && Key[KEY_INPUT_C])
ch->st = 1;
else if((ch->st == 1 || ch->st == 2) && Key[KEY_INPUT_C])
ch->st = 0;
//自転車の速度の切り替え
else if(ch->st == 1 && Key[KEY_INPUT_X])
ch->st = 2;
else if(ch->st == 2 && Key[KEY_INPUT_X])
ch->st = 1;
}
この2つの関数を組み合わせるといいんですか?
(walk_or_bike()にGetHitKeyStateAll_2(int KeyStateBuf[])を組み込む?)
11ポイント を手に入れた。
|
|
|
|
|
Name: 木霊 ..プログラマー(29,699ポイント)
Date: 2009/01/30(金) 01:08
No:27963
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
今この場所で使ってる関数をGetHitKeyStateAll_2に入れ替えて、(その前にchar Key [ 256 ]をint Key [ 256 ]に変更)
void walk_or_bike(ch_t *ch, char *Key[])
{
//自転車の乗り降り
if(ch->st == 0 && Key[KEY_INPUT_C] == 1 )
ch->st = 1;
else if((ch->st == 1 || ch->st == 2) && Key[KEY_INPUT_C] == 1 )
ch->st = 0;
//自転車の速度の切り替え
else if(ch->st == 1 && Key[KEY_INPUT_X] == 1 )
ch->st = 2;
else if(ch->st == 2 && Key[KEY_INPUT_X] == 1 )
ch->st = 1;
}
で大丈夫だと思いますよ。
351ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(22,969ポイント)
Date: 2009/01/30(金) 11:44
No:27975
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>>木霊さん
GetHitKeyStateAll_2関数を使うといいですよ
と教えていただいてから同じプログラムを書いたのですが、
このように書くと、確かにCやXを入力した際の変化は改善されたのですが、
方向キーを入力した時も同じように(押しっぱなしにすると一歩しか動かない)
なってしまうのですが・・・
2倍のポイントを手に入れた! 240ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(23,101ポイント)
Date: 2009/01/30(金) 12:57
No:27978
|
|
Title: Re:キャラクターを動かすプログラム
|
|
kazuoniさん、ありがとうございます。
解決できました。
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++;
else KeyStateBuf[i]=0;
}
の解釈を間違ってしていました。
あとはこの処理を関数化するだけなので、頑張ってみます。
132ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(23,531ポイント)
Date: 2009/01/31(土) 16:28
No:28043
| 解決!
|
Title: Re:キャラクターを動かすプログラム
|
|
皆さんのおかげで、関数化できました。
ありがとうございました。
慣れた人から見ると無駄が多すぎだと思いますが^^;
少し話がずれますが龍神録を遊ばせていただきました。
シューティングゲームは結構自身があるんですが、それでも死にまくりで難しかったです。
そのプログラムを拝見させていただいたのですが、
ゲームのはじめ?のフィールド移動や店、キャラクターとの会話の処理のプログラムは
紹介されていませんでしたよね?
もしよければ、お時間のある時にソースを教えていただけるとありがたいのですが。
2倍のポイントを手に入れた! 370ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(23,574ポイント)
Date: 2009/01/31(土) 23:46
No:28081
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>kazuoniさん
ありがとうございます。
教えていただいたHPを参考にしてセリフの表示を頑張ってみたいと思います。
43ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(54,102ポイント)
Date: 2009/02/01(日) 00:25
No:28083
|
|
Title: Re:キャラクターを動かすプログラム
|
|
まず一旦自分ですべて作ってみようかと思ってます。
ツールをw
やっぱりマップエディタは必須ですかね。。
さすがにすべてコードに書き込みはきついし、非効率ですからね・・・
でも細かくやってくと結局はRPGツクールを作ろう!になってしまいそうな・・・w
とりあえず当面はRPGを一度すべて作ってみようかと思います。
それから支える館を作っていこうかと考えています。
・・・今年の夏も目標にw
PS:太鼓の鉄人を変えてビーマニもどき作りましたが、一曲で挫折しました♪orz♪
124ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(23,993ポイント)
Date: 2009/02/01(日) 13:18
No:28091
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>私でよければ何か作って欲しいサンプルがあれば作りますよ^^
本当ですか?
今、移動処理に関するもので、
・マップのスクロール処理
・マップ同士のつながり
・マップの切り替え
・ほかのキャラクターの移動
・他のキャラクターとの会話?
のアルゴリズムを考えています。
Final storyを参考にマップの切り替え処理の考えはある程度理解できたのですが、
スクロール処理に困っています。
他のサイトでも紹介されているところも少ないので、良い考えが思い浮かばないです。
自分のいる座標を中心にその周りのマップを表示させ、
一歩歩くごとに表示するマップのエリアを1歩分ずらす。
またマップのつながりのために
自分のいるエリアのマップの東西南北のマップ情報も
別のマップ配列に読み込んでおく。
エリアが変われば、東西南北のマップ情報を更新する。
というアルゴリズムで実装してみようかなと考えているのですが、
処理時間が遅くなるのでは?
と思ってしまって、なかなか実装できずにいました。
もしよろしければ、スクロール処理のプログラムのサンプルを
書いていただければありがたいです。
>忙しい時期が終わったので、やっと一安心してるところです・・。
お疲れ様でした^^
419ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,099ポイント)
Date: 2009/02/01(日) 16:05
No:28105
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>> Dixqさん
早速のサンプルデータありがとうございます。
解析をしてみたのですが、Graph()関数のlxとchxの変数を何のために
使用しているのかが分かりませんでした。
chx(chy)は現在の座標を格納していることは分かるのですが、lx(ly)の意味が分からなかったので、
chxを何に利用しているのか分からないです。
106ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..伝説なるハッカー(978,490ポイント)
Date: 2009/02/01(日) 16:13
No:28107
|
|
Title: Re:キャラクターを動かすプログラム
|
|
スクロールする時、3パターンにわけて描画する必要があることはわかりますか?
まず、上下移動は無いものとして、左右だけ移動するものとして考えて下さい。
・キャラが一番左にいる時
キャラが右に移動すると、マップは固定、キャラが右に移動します。
・キャラが中央にいる時
キャラが左右に移動すると、キャラは中央に固定、マップ(背景)が左右に移動します。
・キャラが一番右にいる時
キャラが左に移動すると、マップは固定、キャラが左に移動します。
(これについては実際にプログラムをコンパイルして実行していただけたらわかると思います。)
その為、3種類にわけて描画する座標を用意しているのです。
lxは背景描画する際の座標の引き算に使用するもので、chxはキャラの本当の座標ch.xから実際に描画すべき座標に変換したものです。
269ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,127ポイント)
Date: 2009/02/01(日) 17:13
No:28113
|
|
Title: Re:キャラクターを動かすプログラム
|
|
ということは
キャラが中央にいるとき、
キャラの座標は中央で固定され、(裏の)マップが移動する。
キャラが端にいるとき、
マップが固定され、キャラが移動する(座標が移動に対応した値に変動する)
という感じですかね。
あとはマップのつながりなのですが、これも通常のスクロールみたいにスムーズにするには
どうすればいいのですか?
たとえば
int map1[7][7];
int map2[7][7];
を用意し、
マップ1 マップ2
0 0 1 1 1 0 0 0 0 0 0 0 0 0
0 1 1 1 1 1 0 0 1 1 1 1 1 0
0 1 1 1 1 1 0 0 1 1 1 1 1 0
0 1 1 1 1 1 0 0 1 1 1 1 1 0
0 1 1 1 1 1 0 0 1 1 1 1 1 0
0 1 1 1 1 1 0 0 1 1 1 1 1 0
0 0 0 0 0 0 0 0 0 1 1 1 0 0
というマップデータでそれぞれを初期化
このときマップ1、マップ2間を移動するときに
マップの切り替えをせずにスクロールして移動するにはどのようにすればいいのでしょうか?
マップの切り替えをするのであれば、できそうなのですが。
28ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,308ポイント)
Date: 2009/02/01(日) 18:34
No:28118
|
|
Title: Re:キャラクターを動かすプログラム
|
|
まだ作ってはいないのですが、
マップエディタを使用して別々のマップを作ってから、
それぞれのマップをつなげようと思っていました。
そうしないとエディタの容量オーバー?で、フィールドマップ全体を
作り出すことができなかったので・・・
map1[a][b] map2[c][d] map3[e][f]・・・のすべてのマップデータを
大きなマップを表すfield_map[α][β]にまとめることはできるのでしょうか?
181ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,582ポイント)
Date: 2009/02/02(月) 12:03
No:28135
|
|
Title: Re:キャラクターを動かすプログラム
|
|
移動処理の関数を大きなプログラム内に組み込んでみたのですが、
キーを入力してもなにも反応がないです。
Escキーを入力するとプログラムが終了するので、認識はしていると思うのですが、
方向キーや、移動速度切り替えのキー(Z,X,Cのいずれか)を入力しても反応がありません。
その制御はOperateCharactor()で行っています。
コードが長くカオスなプログラムですが、一度見てもらえないでしょうか?
原因が分かりません。
あと画像を取り込んでいるはずなのに、map_chip[0]内に入っていないようで、
画像を表示できませんでした。
ちゃんと指定した場所に画像は入っています。
フォルダ内
main.cpp メイン
char_calc.cpp キャラ計算
graph.cpp 自キャラとマップの描画
load.cpp 画像のロード
Key.cpp キー入力の処理
GV.h 変数宣言
function.h 関数宣言
中身は以上のようになっています。
274ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(54,327ポイント)
Date: 2009/02/02(月) 13:19
No:28144
|
|
Title: Re:キャラクターを動かすプログラム
|
|
大きくなっていくと、やはりプロジェクトごとアップしたほうがよいかと思います^^;
環境が分かりませんが、もしブレークポイントを立てれるならば
前回もいいましたが、ブレークポイントを立てて変数の移り変わりを見てみてください。
初めのうちは不具合をブレークポイントによって見つけられることが多いです。
(自分は熟練ではないのでよく頼りますが^^;)
まず方向キーだけ見ていってみてください。
・Key[]の変化
・ch.〜〜の変化(移動時)
・描写周辺
のあたりをあたってみてください。
172ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,744ポイント)
Date: 2009/02/02(月) 15:49
No:28149
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>>kazuoniさん
ブレークポイントと呼べるか分からないですが、
移動時のch.stの値の変化が見れるようにはしてあるんですが、
変化がありませんでした。
今外出中なので、より変化が分かるように改変してからプロジェクトごとアップさせていただきます。
2倍のポイントを手に入れた! 162ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(54,491ポイント)
Date: 2009/02/02(月) 17:27
No:28155
|
|
Title: Re:キャラクターを動かすプログラム
|
|
環境は何を使っていますか?
Visual C++はおススメです。
ただちょっと重いですけど^^;
eclipseとかでもよいと思いますが。
ブレークポイントを立てることによって、
実行を停止し、その時の変数の値を見ることができます。
もっと使いやすい環境があるかも知れませんが、
自分はVisual C++で大満足しています。
(っというか使いこなせていないのですが・・・w)
100ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,856ポイント)
Date: 2009/02/02(月) 22:57
No:28171
|
|
Title: Re:キャラクターを動かすプログラム
|
|
開発環境はVC++ 2008 EEです^^
確かに少し重いですよね。
値が変化するたびにその変数の中身を表示できるようにしてから、
プロジェクトごとアップさせていただきます。
まだ解決しなければ、新しいスレを立てさせていただきますので、
その時はよろしくお願いします。
112ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..上級者(24,886ポイント)
Date: 2009/02/02(月) 23:36
No:28173
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>実行中はここを通る時に、停止します。
1つ思ったのですが、もし2か所マークを付けていたらどうなるのでしょうか?
30ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..プログラマー(25,001ポイント)
Date: 2009/02/03(火) 00:03
No:28175
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>kazuoniさん
わざわざ教えていただきありがとうございます。
次からはデバッグの際、利用してみます。
ー追伸ー
パソコンの電源を落とした後に再度プログラムを実行させたところ、
なぜかうまいこといきました^^
コードをいじっていないのになぜでしょうか?
115ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..熟練のプログラマー(54,862ポイント)
Date: 2009/02/03(火) 00:20
No:28176
|
|
Title: Re:キャラクターを動かすプログラム
|
|
>コードをいじっていないのになぜでしょうか?
断定はできないですけど、
たまたまの可能性が高いです。。
・キーボードの無線が届いていなかった
・Zボタンを押しているつもりがALTを押していた
・・・
などを除いてですが^^;
実行ファイルのみをアップしてもらえれば動作確認はしますが、
自分で何度も何度も実行してみるが一番いいです^^
(この作業で自分はJustyさんに何度もお世話になりました。。本当にありがとうございました・・・w)
175ポイント を手に入れた。
|
|
|
|
|