C言語何でも質問掲示板



アンケートにご協力下さい → >> アンケートフォーム <<   エラーで投稿できない方は → こちら


規約と使い方

 
   手も足も出ません   
     ・[21694] array 
     ・[21700] 管理人 
     ・[21704] chunezu 
     ・[21716] 管理人 
   3. 画像を表示する。  ....   
     ・[21709] なま 
     ・[21715] 管理人 
   助けてください   
     ・[21688] GPGA 
     ・[21710] 野球君 
   cとfortranの混合プロ ....   
     ・[21703] たかぎ 
   構造体の構造体変数に ....   
     ・[21632] kazuoni 
     ・[21634] ムンバ 
     ・[21635] 管理人 
     ・[21647] ムンバ 
     ・[21648] kazuoni 
     ・[21649] ムンバ 
     ・[21650] ムンバ 
     ・[21651] 御津凪 
     ・[21661] kazuoni 
     ・[21701] ムンバ 
   愛用のテキストエディ ....   
     ・[21641] Justy 
     ・[21642] ibis 
     ・[21643] たかぎ 
     ・[21645] lbfuvab 
     ・[21652] 御津凪 
     ・[21655] 管理人 
     ・[21657] 雷 
     ・[21659] ま〜く 
     ・[21660] バグ 
     ・[21662] Justy 
     ・[21663] kazuoni 
     ・[21664] Mist 
     ・[21665] たいちう 
     ・[21669] 管理人 
     ・[21671] 組木紙織 
     ・[21673] KEV 
     ・[21674] KEV 
     ・[21684] J 
     ・[21687] kazuoni 
     ・[21689] GPGA 
     ・[21699] 管理人 

Name: chunezu  ..初心者(5,183ポイント)   Date: 2008/09/25(木) 19:21   No:21691       
Title: 手も足も出ません    
龍陣録の弾幕登録の所を見よう見まねでやっています。
ただ、これでは何も出てこなく、もう如何してイイかさっぱり分かりません。

これのpattern1,pattern2がちゃんと出て来る様にするにはどうしたらいいでしょうか?

 ソース nz は自機の構造体です。

//空いている敵番号を検索
int enemy_num_serch(){
for(int i=0;i<=100;i++){//フラグのたって無いenemyを探す
if(t[i].flag==0){
return i;//使用可能番号を返す
}
}
return -1;//全部埋まっていたらエラーを返す
}

//空いている弾を探す
int shot_serch(int n){
int i;
for(i=0;i<=200;i++){
if(t[n].shot[i].flag==0){
return i;
}
}
return -1;
}

void enemyE(){
int n;
if((n=enemy_num_serch())!=-1){
if(counter%60==0){
t[n].count = 0;
t[n].flag = 1;
t[n].x = GetRand(200)+220;
t[n].y = GetRand(40)+420;
t[n].px = nz.x;
t[n].py = nz.y;
}
}
}

void pattern1(int n){
int k;
if(t[i].flag>=1){
int aqaqa=t[i].count++;
if((k=shot_serch(n))!=-1){
if( aqaqa>=0 && aqaqa<=20 && aqaqa%3==0 ){
t[n].shot[k].x = t[n].x;
t[n].shot[k].y = t[n].y;
t[n].shot[k].size = 8;
t[n].shot[k].flag = 1;
t[n].shot[k].spd = 6;
t[n].shot[k].knd = 0;
t[n].shot[k].angle = atan2( t[n].py - t[n].y , t[n].px - t[n].x );
}
}
}
}

void pattern2(int n){
int k;
if(t[i].flag>=1){
int aqaqa=t[i].count++;
if((k=shot_serch(n))!=-1){
if( aqaqa>=0 && aqaqa<=20 && aqaqa%3==0 ){
t[n].shot[k].x = t[n].x;
t[n].shot[k].y = t[n].y;
t[n].shot[k].size = 8;
t[n].shot[k].flag = 1;
t[n].shot[k].spd = 6;
t[n].shot[k].knd = 1;
t[n].shot[k].angle = 90;
}
}
}
}

void calc(){
for(i=0;i<=100;i++){
if(t[i].flag>=1){ if(t[i].count>=30){ t[i].flag=2; }
for(j=0;j<=200;j++){
if(t[i].shot[j].flag==1){
t[i].shot[j].x = t[i].shot[j].x + cos(t[i].shot[j].angle) * t[i].shot[j].spd;
t[i].shot[j].y = t[i].shot[j].y + sin(t[i].shot[j].angle) * t[i].shot[j].spd;
if(t[i].shot[j].y<=-20){ t[i].shot[j].flag=0; }
}
}
}
}
}

void (*pattern[2])(int)={
pattern1,
pattern2,
};

void shot_main(){
int i;
for(i=0;i<100;i++){
for(j=0;j<200;j++){//弾幕データ計算
//フラグが立っていて、設定した種類が間違っていなければ(オーバーフロー対策)
if(t[i].flag!=0){
calc();//.kndの弾幕計算関数を呼ぶ関数ポインタ
pattern[t[i].shot[j].knd](i);//i番目の弾幕を計算
}
}
}
}



丸投げな質問ですいません。
どなたか回答お願いいたします。


812ポイント を落としてしまった。


Name: array  ..プログラマー(28,391ポイント)   Date: 2008/09/25(木) 20:25   No:21694     
Title: Re:手も足も出ません    
多分きちんと書いてあるとは思いますが、弾を描画してあげないと、何も出てこないと思います。

龍神録ではgraph.cppで描画していたと思いますが、弾の描画関数も記載しておいた方がいいです。

結局 描画が間違っていました。と、なり兼ねません。


99ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(804,128ポイント)   Date: 2008/09/25(木) 21:36   No:21700     
Title: Re:手も足も出ません    
1から自分で作っていらっしゃるのでしょうか?
もしそれならプロジェクトのあるフォルダごと圧縮してどこかにUPしたほうが
解決が早いかもしれません。

もし手も足も出ないようなら、まずはコピペから勉強を始めるとか、
小規模なシューティングを自分で作ることから始めるとかしてみてはどうでしょうか。

それでも難しければ落ち物ゲーム(リンゴを上からふらせてカゴに入れるゲーム)とかまず作ってみてはどうでしょう。


16ポイント を手に入れた。

Name: chunezu  ..初心者(5,300ポイント)   Date: 2008/09/25(木) 23:13   No:21704     
Title: Re:手も足も出ません    
ご回答が早くて助かります。

arrayさん
描画関数が関係ないとは言い切れませんからね。分かりずらい質問文でした・・・

管理人さん
たしかにそのほうが良さげですね。
一から作っているので、汚いスースだと思いますがupします。

アドレス
http://island.geocities.jp/nznz3102/DP.zip


117ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(804,640ポイント)   Date: 2008/09/26(金) 03:00   No:21716     
Title: Re:手も足も出ません    
まだざっとしか見てないのですが、
恐らく敵関係の情報を持っているであろうとおもわれるt変数のflagはどこでオンになりますか?
enemyE()だと思いますが、これがどこからも呼ばれていないようです。
敵が登録されないので弾も登録されないのではないでしょうか。
また、色々と問題点が多いように思います。
まず、
for(i=0;i<=100;i++)
だと、ループは101回です。
0〜10を数えてみて下さい。
0,1,2,3,4,5,6,7,8,9,10
は11個ありますね。100個しか用意していないのなら
for(i=0;i<100;i++)
このようにループしないといけません。
また

for(i=0;i<=100;i++){
for(j=0;j<=200;j++){
if(t[i].shot[j].flag==1){

a.x = nz.x - t[i].shot[j].x;
a.y = nz.y - t[i].shot[j].y;
a.r = nz.size + t[i].shot[j].size;

if( a.x * a.x + a.y * a.y < a.r * a.r ){
StopSoundMem(Splaying);
musicTitle();
Mainflag=0;

for(i=0;i<=100;i++){ //弾幕の全滅アクション
if(t[i].flag>=1){ t[i].flag=0;
for(j=0;j<=200;j++){
if(t[i].shot[j].flag==1){
t[i].shot[j].flag=0;
 
 
このようになっていますが、恐らく敵と弾が全部消えればいいんでしょうけど、
ループの中に同じ変数を用いたループはさけたほうがいいのではないでしょうか。
敵や弾の削除関数を作ってやり、それを呼んでみてはどうでしょう。

また、字下げはきっちりやらないとバグの元になるので、ちゃんとやった方がいいと思います。
そしてtなどローカル変数で使い易い変数をグローバル変数にするのもバグの元になると思います。


438ポイント を手に入れた。



Name: なま  ..かけだし(1,033ポイント)   Date: 2008/09/25(木) 23:59   No:21707       
Title: 3. 画像を表示する。 でつまずいてます…    
画像の場所や名前は説明通りなのですが何度やっても真っ暗な窓しかできません…どなたかお助けください。

下はデバック後のメッセージの一部です。

Direct3D 関連の初期化は正常に終了しました
グラフィック管理系の初期化を行います
3Dグラフィック描画機能を使用します
フォントの初期化を行います
フォントの初期化は正常に終了しました
グラフィック管理系の初期化は正常に終了しました
サーフェス間転送には BltFast を使用します
BitBlt:88335μs BltFast:12250μs
スキャンラインの数:800

1フレーム当たりの時間は 17 msecです
Tri00:17 msec
Tri01:17 msec
Tri02:16 msec
Tri03:17 msec
画面モード変更処理は正常に終了しました
オーバーレイサーフェスを使用します    UYVY
DirectDraw 関連の初期化は正常に終了しました
文字コードバッファの初期化を行います... 完了しました
グラフィックファイル char.png がありません      <−−−−−−
DirectDraw 関連の終了処理をおこないます
フォントの初期化を行います
フォントの初期化は正常に終了しました
グラフィック管理系の終了処理は正常に終了しました
Direct3D 関連の終了処理を行います
3Dデバイスの削除は正常に終了しました
Direct3D 関連の終了処理は正常に終了しました
メインサーフェスを破棄をします... 完了しました
DirectDrawオブジェクトを解放します
DirectDrawオブジェクトを解放しました
DirectDraw 関連の終了処理は正常に終了しました
DirectInput 関連の終了処理... 完了
スレッド 'Win32 スレッド' (0x1790) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x1124) はコード 0 (0x0) で終了しました。
スレッド 'Win32 スレッド' (0x658) はコード 0 (0x0) で終了しました。
DirectSound の終了処理は正常に終了しました
ウインドウを閉じようとしています
ウインドウが破棄されようとしています
ソフトを終了する準備が整いました
スレッド 'Win32 スレッド' (0x1508) はコード 0 (0x0) で終了しました。

Alloc memory dump Total size:0(0.000kb) Alloc num:0

スレッド 'Win32 スレッド' (0x14b4) はコード 0 (0x0) で終了しました。
プログラム '[3504] test.exe: ネイティブ' はコード 0 (0x0) で終了しました。


1,033ポイント を手に入れた。


Name: なま  ..かけだし(1,323ポイント)   Date: 2008/09/26(金) 00:14   No:21709     
Title: Re:3. 画像を表示する。 でつまずいてます…    
プログラムはサンプルとして以下を使用させてもらっています。




#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
if( DxLib_Init() == -1 ) return -1; // DXライブラリ初期化処理 エラーが起きたら終了


LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;


WaitKey() ; // 結果を見るためにキー待ち(『WaitKey』を使用)
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}


290ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(804,202ポイント)   Date: 2008/09/26(金) 02:42   No:21715     
Title: Re:3. 画像を表示する。 でつまずいてます…    
「解決しない場合はこちらのコードで試してください」
と書いてあるコードは試してみました?
http://dixq.net/g/trouble.html


4ポイント を手に入れた。



Name: 野球君  ..ぴよぴよ(108ポイント)   Date: 2008/09/25(木) 17:28   No:21686       
Title: 助けてください    
すいません、助けてください。
#define N 8

double A1[N][N]={{p4[0],pb[0]+p1[0],p2[0],p3[0],0,0,0,0},
{p4[0],0,0,p3[0],p1[0]+pb[0],0,p2[0],0},
{p4[0],p1[0],p2[0],p3[0],pb[0],0,0,0},
{p4[0],p1[0],p2[0],p3[0],0,pb[0],0,0},
{p4[0],0,0,p3[0],p1[0],0,p2[0],pb[0]},
{p4[0],0,0,p3[0],p1[0],0,p2[0],pb[0]},
{p4[0],p1[0],p2[0],p3[0],0,0,0,pb[0]},
{p4[0],0,0,p3[0],p1[0],0,p2[0],pb[0]}};
double A2[N][N]={{p4[1],pb[1]+p1[1],p2[1],p3[1],0,0,0,0},
{p4[1],0,0,p3[1],p1[1]+pb[1],0,p2[1],0},
{p4[1],p1[1],p2[1],p3[1],pb[1],0,0,0},
{p4[1],p1[1],p2[1],p3[1],0,pb[1],0,0},
{p4[1],0,0,p3[1],p1[1],0,p2[1],pb[1]},
{p4[1],0,0,p3[1],p1[1],0,p2[1],pb[1]},
{p4[1],p1[1],p2[1],p3[1],0,0,0,pb[1]},
{p4[1],0,0,p3[1],p1[1],0,p2[1],pb[1]}};

これを

#define N 8
#define L 2

double A[L][N][N];

for(i=0;i<2;i++)
{
A[i][N][N]={{{p4[i],pb[i]+p1[i],p2[i],p3[i],0,0,0,0},
{p4[i],0,0,p3[i],p1[i]+pb[i],0,p2[i],0},
{p4[i],p1[i],p2[i],p3[1],pb[i],0,0,0},
{p4[i],p1[i],p2[i],p3[1],0,pb[i],0,0},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]},
{p4[i],p1[i],p2[i],p3[i],0,0,0,pb[i]},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]}}};

このような感じにしたいのですが、どのようにすればよいのでしょうか?
アドバイスいただければ幸いです。


108ポイント を手に入れた。


Name: GPGA  ..熟練のプログラマー(51,250ポイント)   Date: 2008/09/25(木) 18:31   No:21688     
Title: Re:助けてください    
ローカルで初期化した配列を作って、コピーすればよいかと。

#define N 8
#define L 2
double A[L][N][N];
for(i=0;i<2;i++)
{
double B[N][N]={{p4[i],pb[i]+p1[i],p2[i],p3[i],0,0,0,0},
{p4[i],0,0,p3[i],p1[i]+pb[i],0,p2[i],0},
{p4[i],p1[i],p2[i],p3[1],pb[i],0,0,0},
{p4[i],p1[i],p2[i],p3[1],0,pb[i],0,0},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]},
{p4[i],p1[i],p2[i],p3[i],0,0,0,pb[i]},
{p4[i],0,0,p3[i],p1[i],0,p2[i],pb[i]}};
memcpy(&A[i], &B, sizeof(B));
}
 


123ポイント を手に入れた。

Name: 野球君  ..ぴよぴよ(140ポイント)   Date: 2008/09/26(金) 00:18   No:21710 解決!     
Title: Re:助けてください    
おかげさまで解決できました。
ありがとうございました。


32ポイント を手に入れた。



Name: コウジ  ..ぴよぴよ(145ポイント)   Date: 2008/09/25(木) 22:06   No:21702       
Title: cとfortranの混合プログラム    
cとfortranの混合プログラミングに関する質問です。
c++でfortranの呼び込み方を教えていただけないでしょうか?(逆でもいいです)
Visual studio 2005を使っています。

Intel fortran 9.1を組み込んで、Visual studioでfortranのプログラムをコンパイルすることができる状況です。
fortranでの計算結果→cプログラム、cでの計算結果→fortranプログラムといった具合に値をやり取りすることを考えています。

http://oshiete1.goo.ne.jp/qa1303644.htmlのNo.3の方の回答や、http://questionbox.jp.msn.com/qa180686.html?StatusCheck=ONを参考にして作ってはみたのですが、うまく出来ず、路頭に迷っています。どなたかわかる方がいればよろしくお願いします。

ちなみにfortranもcも量が膨大ですので、一つの言語で書き直すのは時間的にきびしいです。



145ポイント を手に入れた。


Name: たかぎ [URL]  ..比類無きプログラマー(60,341ポイント)   Date: 2008/09/25(木) 22:20   No:21703     
Title: Re:cとfortranの混合プログラム    
> cとfortranの混合プログラミングに関する質問です。
> c++でfortranの呼び込み方を教えていただけないでしょうか?(逆でもいいです)

Cなのでしょうか?
あるいはC++なのでしょうか?

ポイントはコーリングコンベンションをあわせることにあります。
あと、引数に関しても対応付けが必要です。
Fortran側で、__stdcallにすることができませんか?
最悪でも、C++もIntelのコンパイラにすれば解決しやすいかと思います。


94ポイント を手に入れた。



Name: ムンバ  ..入門者(3,031ポイント)   Date: 2008/09/23(火) 23:43   No:21630       
Title: 構造体の構造体変数に、つきまして    
こんばんは。
先日は、ご解説頂きありがとう御座いました。
またまたお世話になります。すみません。

只今、「ゲームプログラミングの館」の「18. 構造体でキャラクタデータを作る」で
勉強させて頂いてます。
(どうもありがとう御座います。楽しみながら勉強させて頂いてます。w)

構造体について自分なりに調べてみたのですが

#include "DxLib.h"

typedef struct{
int x,y,img;
}ch_t;

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){

int image[16];
char Key[256];
ch_t ch;

if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理

ch.x =320;
ch.y =240;

(以下、略です。<(_ _)>)

ch_t ch; 

の行なのですが、どうしても解りません。
こんな質問で恥ずかしいです。(涙

約2週間前に良かれと思って、ネットでC言語の本を2冊(+漫画1冊^^;)を注文したのですが
今日、その内の一冊が「品切れのため、お取り扱いできません。」ってメールが来て・・・
未だに、他の本も届いてません。

そこで相変わらず、勉強不足&自分勝手な質問で申し訳ないのですが

int image[16] ← imageと言う配列に16個の整数が入る。
char Key[256] ← keyと言う配列に256個の文字列が入る。
と今の所、解釈したのですが。
(怖いので、この解釈のコメント・レスなどは、ご勘弁下さい。^^;)

ch_t ch;

↑この行は、何を意味するものなのでしょうか?
ちなみに、この行以降の ch を ch_t に置き換えてみたりして試してみたのですが、実行出来ませんでした。

ヒントでも頂ければと思いまして、質問させて頂きました。
お時間のある方、宜しければ、ご解説お願い致します。
宜しくお願い致します。<(_ _)>


2倍のポイントを手に入れた! 278ポイント を手に入れた。


Name: kazuoni  ..プログラマー(26,974ポイント)   Date: 2008/09/24(水) 00:19   No:21632     
Title: Re:構造体の構造体変数に、つきまして    
構造体に限らず、以下のサイトは簡潔にまとめられているのでお勧めです。
(管理人さんに教えてもらったんですが^^;)
http://www9.plala.or.jp/sgwr-t/c/sec15.html
http://always-pg.com/c/runtime_rd/

ch_tはint,char同様の型名です。
intが整数型、charが文字型同様にchの型はch_t(集大成型)なんです。
具体的には
int x

int y
int img

のメンバを持っています。

構造体のオブジェクトのメンバは例えば
ch.img(int型)
のようにあらわすことができます。

>ch_t ch
はオブジェクトの定義をしているだけです。
int a;
これもオブジェクトの定義です。


14ポイント を手に入れた。

Name: ムンバ  ..入門者(3,249ポイント)   Date: 2008/09/24(水) 10:09   No:21634 解決!     
Title: Re:構造体の構造体変数に、つきまして    
おはようございます。
kazuoniさん、早速のご丁寧なご解説どうもありがとうございます!

超初心者なもので、この行で行き詰っていました。
(ご解説、メモらせて頂きました。)
そうでしたか。intとcharと同じ感じの働きをしてるんですね。
勉強になります。(_ _)

ご紹介頂いたサイト、ぜひ参考にさせて頂きます。(お気に入りに登録です。)

できるだけ自力で。って意気込みはあるのです。^^;
本当に助かりました。
また何かあれば質問させて頂きますので、宜しくお願い致します。
ありがとうございました。


218ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(802,635ポイント)   Date: 2008/09/24(水) 18:44   No:21635     
Title: Re:構造体の構造体変数に、つきまして    
>(怖いので、この解釈のコメント・レスなどは、ご勘弁下さい。^^;)

せっかくだから、きっちり覚えてみませんか?
間違った事指摘されることを恐れるより、最初のうちは間違いをドンドン指摘してもらって参考にした方が
ずっとのびると思いますよb

ゲームプログラミングの館は簡単なプログラムコードで紹介しているといっても、
最低限のCの知識があることを前提にしています。
そこで、C言語系の入門サイトを参考にしてみてはいかがでしょう。
http://www.google.co.jp/search?hl=ja&q=%EF%BC%A3%E8%A8%80%E8%AA%9E%E3%80%80%E5%85%A5%E9%96%80&lr=&aq=f&oq=
最近は本を読まなくてもウェブ上でかなり勉強できます。

さて

>int image[16] ← imageと言う配列に16個の整数が入る。
>char Key[256] ← keyと言う配列に256個の文字列が入る。

についてですが、
image[16]には、16種類の画像ハンドルを入れるためのものです。
キャラクタ画像は16枚がセットになっていますよね。
画像を読み込んだとき、読み込み関数はその画像を扱う事の出来る識別番号を返してくれるので
それを格納しています。
また、Key[256]には文字列が入るわけではありません。
その変数がなんの関数で使われているか確認し、その関数が何なのかわからなければ
リファレンスを見てみて下さい。
KeyはGetHitKeyStateAllで使っているわけですが、キーボードの入力状態を示します。
0なら入力されていない、1なら入力されているということです。
Keyにはキーボード一つ一つの入力状態が入るわけですが、
どの要素にどのキーが対応しているかは
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R5N2
こちらをご覧下さい。これらを格納するために256個char型の変数を配列で用意しているのです。



577ポイント を手に入れた。

Name: ムンバ  ..入門者(4,743ポイント)   Date: 2008/09/24(水) 23:44   No:21647     
Title: Re:構造体の構造体変数に、つきまして    
こんばんは。
すみません。解決ボタン押してしまって・・・このカキコも迷ったのですが。^^;
管理人さん、またまたお心遣い・ご解説ありがとうございます。
この書き込み、かなり長文になるかと思われますので、どうかご勘弁下さい。

こちらの掲示板の表題が「C言語何でも質問掲示板」になっていましたし
恐る恐る覗いてみると(もちろん管理人さんも含め)皆さんとってもご丁寧に解説されていて
しかも、すごく雰囲気が良い感じを受けました。
お世辞とかではなく、「ゲームプログラミングの館」も入りやすかったです。導かれる様に入りました。
そこで最初の質問をさせて頂いた訳ですが、ご迷惑をお掛けしてると思うくらい皆さん、ご丁寧なご解説で。(謝
正直に申しまして、プログラムとソースとコードの違いすら良く解りませんでしたので。^^;
あっ!?この様に甘やかされると調子に乗って、日記みたいな事をカキコしてしまうのが私の悪い癖なのです。
このまま、このカキコをここで終了して「投稿」ボタンを押すと、このスレッドが一番上になってしまうのが最も怖いです。(自爆

ご自分で努力されて勉強された方々が質問してる中で、私の様な質問をするのは〜・・・?
でも、どうしても解らないので〜・・・?
などと、質問させて頂くのに考えてしまう訳です。
自分なりに調べてはいるんです。本当に脳みそが硬いんです。^^
勉強不足なのも解っているのですが、「ゲームプログラミングの館」で楽しみながら勉強させて頂きたいっ!
という意気込みは今も変わりませんし、自分の作りたいと思ってるゲームも絶対に諦めるつもりもありません!
(自分を理解してもらいたいとか主張したいとかでは、ありません。)
  ↑この行、かなり言い訳がましい性格なんだと理解して頂ければ幸いです。w

そこで、さらに甘えさせて(言い訳させて)頂きます!ありがとうございます。

今、CとC++言語を参考させて頂いているサイトは、こちらのサイトと
kazuoniさんから、ご紹介頂いたサイトも含めまして9箇所あります。食い過ぎかもしれませんね。^^;
さりげなく見たページでも、少しでも頭に焼きつけられればと思って、今日も観覧してます。
本はネットができない職場で時間がある時とか、自宅のトイレとか(_ _)で、読みたいと思ってます。
やっぱり前置き長くなっちゃいました。

>せっかくだから、きっちり覚えてみませんか?
 がんばりますっ!ありがとうございます。

遠慮無く、いかせて頂きます。本当にありがとう御座います。(感謝
では早速です。<(_ _)>

int image[16]

 int image; だった場合。

 imageという名前を付けた入れ物(変数)に入る値は、整数(int)だけが入ります。
 ここでは準備をしてるだけでimageという変数には、まだ何も値が入ってません。
 image変数に16と言う値(整数)を入れたい時は image = 16; とすれば
 image変数に16と言う値(整数)が入ります。

 int image[16] の場合。
 
 imageという名前を付けた入れ物(配列)に、配列に入れたい値の準備をします。
 imageと名付けた配列に、入れたい配列の数は16個です。
 その値は全部、整数が入ります。
 まだimageと言う配列には、何も値が入ってません。
 char.pngに16個の画像が入ってるので、このうちの12番目の画像を呼び出したい場合は

 LoadDivGraph( "char.png" , 16 , 4 , 4 , 32 , 32 , image );

 char.pngファイルには、16個の画像があり、縦横(x,y)4個×4個の画像で
 各画像は縦横(x,y)32×32ピクセルで
 これを16個の値が入る様に設定したimage配列に代入します。
 そうすると

 img=image[12];

 imgには、char.png画像ファイルの13番目(配列12番目)の画像が入ります。

と解釈してまして、自分に対して解説してみました。(^^;; ヒヤアセ
ここまでは、如何でしょうか?

本当に変な意味とかは無いんですよっ!楽しく勉強したいんです。
宜しくお願い致します。すみません。(謝


1,494ポイント を手に入れた。

Name: kazuoni  ..プログラマー(27,287ポイント)   Date: 2008/09/25(木) 00:20   No:21648     
Title: Re:構造体の構造体変数に、つきまして    
>char.pngに16個の画像が入ってるので、このうちの12番目の画像を呼び出したい場合は 

>LoadDivGraph( "char.png" , 16 , 4 , 4 , 32 , 32 , image );

char.pngは一つの画像です。
LoadDivGraph()は本家を見てもらうと一発なのですが(↓)
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R3N3

char.pngを16個に分割する。
横向き、縦向きにそれぞれ4個ずつ。
その一つ一つの大きさは縦、横ともに32
一個ずつimage[10]に代入している。(実際はポインタという考えが必要なのですが、ここではわかりやすくするために代入しているとします。)

こんな感じの事をやっています。


313ポイント を手に入れた。

Name: ムンバ  ..入門者(4,788ポイント)   Date: 2008/09/25(木) 00:45   No:21649     
Title: Re:構造体の構造体変数に、つきまして    
char.pngに16個の画像が入ってるので・・・

char.pngという、一つの画像ファイルに、16個の画像が区分されて入ってる
に訂正させて頂きます。w


45ポイント を手に入れた。

Name: ムンバ  ..入門者(4,822ポイント)   Date: 2008/09/25(木) 01:11   No:21650     
Title: Re:構造体の構造体変数に、つきまして    
kazuoniさん、お世話になります。

>一個ずつimage[10]に代入している。

 ポインタが、配列の値を一つ一つ探して、配列の値の10番目を見つけたら
 img=image[10];
 で、imgに画像の11番目が入ると言う事でしょうか?

うまく言えなくて申し訳御座いません。
お手数お掛けしますが再度、宜しくお願い致します。<(_ _)>


34ポイント を手に入れた。

Name: 御津凪 [URL]  ..上級者(18,159ポイント)   Date: 2008/09/25(木) 02:23   No:21651     
Title: Re:構造体の構造体変数に、つきまして    
横入り失礼します。

> 一個ずつimage[10]に代入している。

10 ではなく 16 のような気が。(16個のint型配列という意味で)

> img=image[10];
> で、imgに画像の11番目が入ると言う事でしょうか?

そのとおりです。
画像の一番目を入れたいときは[]の中に0を入れればOKですし、
(仮に)100番目の画像を入れたいときは
img=image[99];
とすればOKです。

あと、

> 自分に対して解説してみました。(^^;; ヒヤアセ

解説は(訂正を含めて)ばっちりだとおもいますよ。

> 本当に変な意味とかは無いんですよっ!楽しく勉強したいんです。

楽しければなおプログラミングが好きになると思いますよ。
印象に残るものでなければ、記憶に刻まれませんしね。


182ポイント を手に入れた。

Name: kazuoni  ..プログラマー(27,272ポイント)   Date: 2008/09/25(木) 09:47   No:21661     
Title: Re:構造体の構造体変数に、つきまして    
すいません^^;10→16でした^^;

失礼しました。


15ポイント を落としてしまった。

Name: ムンバ  ..初心者(5,446ポイント)   Date: 2008/09/25(木) 21:49   No:21701 解決!     
Title: Re:構造体の構造体変数に、つきまして    
こんばんは。

管理人さん、この場を設けて頂きどうもありがとう御座いました。
kazuoniさん、何度もお付き合い頂きましてありがとう御座いました。
御津風さん、先日ともに、ご丁寧なご解説頂きましてありがとう御座いました。
 本当に楽しくなってきちゃってます!ありがとう御座います。^^

このページごと保存させて頂きました。
初心者を脱出する時まで?のお守りにさせて頂きます。<(_ _)>

そこで、もう1度だけ、このスレッド上に行きます。申し訳御座いません。(謝
管理人さんからの宿題に答えられそうです。w
もちろん、kazuoniさんと御津風さんから頂いた、ご解説もきっちり頭に叩き込みました。

(例えば、変数名の頭に数字が使えないとか、記号が使えないなどの詳細は省略します。)
・変数とは、メモリを利用して値を記憶する仕組みです。
・変数は、自分の好きな名前を付けられます。(1部、駄目なの有り。)
・これは、箱の様なもので変数には値を入れられます。
・そこで変数を使うには、(C言語では)代入して実行する所より前に
 変数の名前(変数名)を考えておいて、この考えた変数名の型を指定しておかなければなりません。

ご迷惑をお掛けしました。
また何かあれば質問させて頂きますので、今後とも宜しくお願い致します。
管理人さん!今回は、これで勘弁して下さい〜っ!ε=ε=┏( ~_~)┛
(PS:どうもありがとう御座いました。<(_ _)>)


624ポイント を手に入れた。



Name: KEV  ..初心者(5,261ポイント)   Date: 2008/09/24(水) 20:55   No:21638       
Title: 愛用のテキストエディタ    
雑談です。
過去ログをざっと調べて無さそうだったので。

皆さんはどんなテキストエディタを使ってプログラムを書いていますか?

私はWindowsでVC++とC++Builderの両方を用途によって使いわけて作業してるんですが、
大体いつもIDEのままのエディタに書き込んでコードを書いてます。
これでもなんとか作業はできていたんですが、
たまにもっと効率よくコード書けないものかと思うことが最近多くなりました。(特にBuilderは…げふん
これを機に自分にとって最適なエディタを探してみようかなと思っています。
現時点で知ってるのは秀丸くらいですが、個人的に秀丸はそんなに使いやすくないかもしれない…。

これから現存するテキストエディタに順番に触れていく予定ですが、
皆さんが日々どのエディタを使用しているのか聞いてみたくなりました。
よろしければ愛用のエディタの名前と、それに対する熱い想いなんかが聞ければ嬉しいです。
シェアウェアでもフリーウェアでもOKです。


402ポイント を手に入れた。


Name: Justy  ..ハッカー(225,977ポイント)   Date: 2008/09/24(水) 21:46   No:21641     
Title: Re:愛用のテキストエディタ    

>皆さんはどんなテキストエディタを使ってプログラムを書いていますか?

 昔は Edtexというエディタを使っていましたが、今は EmEditorを使っています。
 さすがにそのままでは、まだまだ使い勝手が悪いので自作・多作のプラグイン・マクロを
多数入れてショートカットを割り当ててますが。

 EmEditorに限ったことではないですが、足りない機能があれば
マクロ書くなりプラグイン書くなりで対応できるエディタはお薦めです。


 VisualStudioのエディタは何年か前まで非 Windows向けの仕事が多くて
VSを使うことがあまりなかったことと、ちょっと癖があって
使いづらい面があるということで C/C++の場合はコンパイルしてエラーや警告が
出たときの修正とかデバッグ中くらいにしか使っていません。
(Refactor! Proとか入れたらまた変わってくるかも)

 ところが VSの補完が強力な C#となるとなかなかそうもいかなくて、
VSでざっくりコードを書いて、ソースの整形などを EmEditorで行うという流れに
なっています。

 ま、そんな感じで適当に使い分けてます。


334ポイント を手に入れた。

Name: ibis  ..中級者(14,466ポイント)   Date: 2008/09/24(水) 21:52   No:21642     
Title: Re:愛用のテキストエディタ    
「C言語を始めよう」を使ってます。
バージョン1.1.1.4〜1.1.1.9を気分によって使い分けますね。
まぁ私はオートインデントだけしてくれれば満足なんですが。
このIDEはソースファイル単位でコンパイルできるので、結構小回りが利きます。
というかバージョン1.1.1.xではプロジェクトを扱えないんですよね。


95ポイント を手に入れた。

Name: たかぎ [URL]  ..比類無きプログラマー(60,195ポイント)   Date: 2008/09/24(水) 21:59   No:21643     
Title: Re:愛用のテキストエディタ    
いろいろ使っていますが、余りこだわりはありません。
カスタマイズもほとんどしません。


38ポイント を手に入れた。

Name: lbfuvab  ..初心者(5,196ポイント)   Date: 2008/09/24(水) 22:49   No:21645     
Title: Re:愛用のテキストエディタ    
notepad++かTeraPadですね。
TeraPadの軽さは驚異的です。


8ポイント を落としてしまった。

Name: 御津凪 [URL]  ..上級者(18,386ポイント)   Date: 2008/09/25(木) 02:33   No:21652     
Title: Re:愛用のテキストエディタ    
私は会社でJmEdit2を使用しています。
起動時の軽さには少々負けますが、

オートインデント、フリーカーソル、矩形選択などがあり、(GERP検索も有りますね)
さらにソースブラウザ機能(別途ソフトが必要ですが)があるので、
(VisualStudioでいう「クラスビュー」)
これは結構扱いやすいです。

ただ、選択範囲のバグがあるのが玉に傷です^^;
(シフト押しながらカーソルの前方向でクリックするとうまく選択されないというもの)
開発が終了しているらしいので、それだけが悔やむ。
ソースを公開しているようなので、直せるかなとはおもいますけど。

バグが嫌ならTeraPadがいいと思いますね。
notepad++もいいのですが、会社の環境では相性が悪いので、使ってません。


227ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(803,260ポイント)   Date: 2008/09/25(木) 03:23   No:21655     
Title: Re:愛用のテキストエディタ    
特にエディタの種類の話じゃないんですが、
VisualStudioの画面を長時間見てると疲れるので、
ツール>オプションの「フォントと色」で自由に色の配色が決めれるので



こんな風に暗くしてみると、目が疲れなくていいっすよ。
明るい画面を見続けると、目だけじゃなく、脳の体内リズムも壊すそうですから、
また、暗い文字を見ると目が悪くなると言うのは都市伝説らしいですから
結構オススメかもしれません。
まぁKEVはこれ以上目が悪くなるとか言う度合いを超えている気もするけど^^;


192ポイント を手に入れた。

Name:  ..プログラマー(34,987ポイント)   Date: 2008/09/25(木) 07:32   No:21657     
Title: Re:愛用のテキストエディタ    
Mana
漢字があった気がしますが…
と、VCのをそのまま
ですね…


33ポイント を手に入れた。

Name: ま〜く  ..初心者(7,514ポイント)   Date: 2008/09/25(木) 09:25   No:21659     
Title: Re:愛用のテキストエディタ    
メインはアドインとマクロでカスタマイズしたVSです。
アドインは新しいVSのバージョンが出るたびにいじってるので面倒ですが^^;
補助ではxyzzyです。

管理人さん
背景色を黒にすると確かに落ち着きますね。
でも・・・他のウィンドウとのコントラストの差が激しくありません??
ウィンドウズ自体の背景色を変えたほうが目に優しそうだけど。。


98ポイント を手に入れた。

Name: バグ  ..ハッカー(112,305ポイント)   Date: 2008/09/25(木) 09:36   No:21660     
Title: Re:愛用のテキストエディタ    
一時期、背景を黒、文字を緑のマトリックス仕様にしていましたが、なんとなく落ち着かないので、結局戻しました(笑)
今は、ディスプレイ自体の明るさを一番暗い状態で使用しています。

あ、テキストエディタはコーディングにはVisualStudioをそのまま使ってますが、文書の作成にはEmEditorを使いますね。


131ポイント を手に入れた。

Name: Justy  ..ハッカー(226,055ポイント)   Date: 2008/09/25(木) 09:47   No:21662     
Title: Re:愛用のテキストエディタ    
 背景色を白から少し灰色っぽい白にしています。
 それだけでも白のきつさは大分和らぎます。


2倍のポイントを手に入れた! 78ポイント を手に入れた。

Name: kazuoni  ..プログラマー(27,384ポイント)   Date: 2008/09/25(木) 09:53   No:21663     
Title: Re:愛用のテキストエディタ    
ぜんっぜん知りませんでした^^;背景とか色を変えることができるのですか!?

自分も長時間やっているとたまに文字との焦点が合わず
しばらく休憩を取らないといけないなんてよくあります。
あとやはりディスプレイの明るさは下げたほうが目に優しいですかね。

今度からはJustyさんのおっしゃる少し灰色っぽい白にしてやろうと思います。


112ポイント を手に入れた。

Name: Mist  ..上級者(22,741ポイント)   Date: 2008/09/25(木) 10:08   No:21664     
Title: Re:愛用のテキストエディタ    
私は昔からMIFES使いです。
飛びぬけて何かがすごいってわけじゃないんですけど、エディタに必要な機能は抜けなく
一通りそろっていて、デザインがシンプルで自分好みのカスタマイズができるためずっと
使っています。
会社の経費で買ってるから自分の懐は痛まないですが、(学生さんだと)個人で買うとする
とちょっと高いかも(^^;


120ポイント を手に入れた。

Name: たいちう  ..中級者(10,679ポイント)   Date: 2008/09/25(木) 10:12   No:21665     
Title: Re:愛用のテキストエディタ    
サクラエディタ。
検索の際に該当する文字列がハイライトするのが良いかな。
grepも使いやすく関数の定義や使われている場所等を簡単に探せたりできる。


76ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(803,759ポイント)   Date: 2008/09/25(木) 11:35   No:21669     
Title: Re:愛用のテキストエディタ    
背景色とかいじりだすと1時間位設定が終わらないですよね〜w
「黒」を基調にしようとすると、背景と文字の明るさを逆にしないといけなくなりますけど、
各ソフトのウィンドウの背景の色はかわれど、文字の色が変わらなかったりして
背景黒にしたのに、あるアプリの文字の色は黒から変えれないみたいなことが起きて大変なんですよね〜;
そこで色々試行錯誤しているうちに「薄い深緑(矛盾;)」にたどり着きました。
こんな感じです。



背景が黒でも白でも見える色で、一番抵抗が無い色は自分的にはこの色でした。
昔はwindows blindsとかでコテっこてにいろいろいじりたおしていましたが、
結局こういう配色トラブルがたえなかったので、元に戻して自分で色設定してます。

まぁ結局見易い配色はデフォルトですよねぇ^^;

>ま〜くさん
最初はそれで結構戸惑いましたw

>kazuoniさん
XPならデスクトップ右クリック>プロパティで画面のプロパティ開いて「デザイン」タブから色々設定出来ますよ。
後windows blindsとか使うと、世界中の人が作った無数のスキンをただで使えたりします。
もしwindowsの見た目カスタマイズしたことなかったらこういうの使うと面白いですよ。
http://desta.jp/category_list.php?page=8&category=5&sort=new


499ポイント を手に入れた。

Name: 組木紙織  ..比類無きプログラマー(61,073ポイント)   Date: 2008/09/25(木) 12:51   No:21671     
Title: Re:愛用のテキストエディタ    
C/C++ : VS or BCC Developer
Java : サクラエディタ or Net Beans
Fortran: サクラエディタ or Developer Studio
Haskell: サクラエディタ

以前授業でnotepad以外で書くなということだったので、それ以来エディタには
こだわりありません。
ただ、色や自動インデントなどの入力補助はなくていいから、全角空白と半角空白、タブは
見た目で区別できることと、行数を数える機能だけは欲しいです。
notepadを使ってそれだけはひしひしと感じました。


187ポイント を手に入れた。

Name: KEV  ..初心者(5,825ポイント)   Date: 2008/09/25(木) 13:06   No:21673     
Title: Re:愛用のテキストエディタ    
皆さん、こんなに多くの貴重な話をありがとうございます!
人によって多種多様ですねぇ…。

>Justyさん
EmEditorですか〜。なるほど。
私も拡張機能はほしいと思っています。
まずはフリー版で試してみようかな。

>ibisさん
おお、「C言語を始めよう!」シンプルでいいですね。
今回おそらくIDEを変えることはないと思うのですが、
サブPCあたりにインストしてもいいかなと思いました。

>たかぎさん
3つ?以上のエディタを使いこなしている時点で
ある意味こだわりを持っていると見受けられます。

>lbfuvabさん
TeraPadを今触ってみましたがシンプルですね。
軽さってのは考えてませんでした。
参考になります。

>御津凪さん
JmEdit2開発終了してるのですか。
けどスクリーンショット見る感じだと見た目は好みかも。
触ってみますー。

>管理人
つまりVisualStudio大好きってことだよねアナタはw
エディタを黒くするのは秀丸で一度やったんだけど、
ブラウザ開くと大抵白い画面が出るし、差がきつかったのでやめてしまった。
カッコいいとは思うんだけどね。

>雷さん
真魚[まな] これかな?
こんなのもあるんですねぇ。初耳です。
是非試し切りしてみます。

>ま〜くさん
VSはカスタマイズしたらもっと良くなるんですね。
あまり触ったことなかったからな…。
xyzzyかーなるほどなるほど。


>バグさん
文字を緑にしたら全部コメントに見えそうです…!
コーディングはほぼVSなんですね。

>kazuoniさん
毎日目にするであろうテキストエディタだから、
自分に最適のソフトや設定を探す時間はたっぷりかけてもいいと思っています。
色々と一緒にいじってみましょう!
あ、けど休憩は大事ですよ。

>Mistさん
MIFESかーこんなのもあるんだなぁ…。
大企業が統一して使用する高品質エディタって感じがします。
さすがに高くて手が出せないけど、インストしてるのを見かけたら触ってみます。

>たいちうさん
サクラエディタですかー。
検索機能が充実してるんですね。
紹介を読んでも利点がすぐにつかめなかったりするしこういう意見はかなり有難いです。




−−−−−−−−−−−−−−−
個人的な感想

なんだかんだで皆さんVisualStudioのエディタを使ってるんですねぇ。
IDEのエディタ+補助用のエディタという使い方で検討してみることにします。

ていうかエディタの種類多すぎだよ!


564ポイント を手に入れた。

Name: KEV  ..初心者(5,866ポイント)   Date: 2008/09/25(木) 13:08   No:21674     
Title: Re:愛用のテキストエディタ    
>組木紙織さん
空白とタブって混ざるとどえらいことになりますよね…。
エディタの使い分けがしっかりしてると迷うこともなさそうですね。


41ポイント を手に入れた。

Name: J  ..中級者(10,681ポイント)   Date: 2008/09/25(木) 16:52   No:21684     
Title: Re:愛用のテキストエディタ    
私は、
通常時:TeraPad
プログラミング時:BCC Dev
HTML類:Cresent Eve

を使わせていただいています。
TearPadは非常に軽いので。
Cresent Eveは軽いし、打ち込みには本当に便利です。
タグ予測が素晴らしい力を発揮します。
おすすめですよ〜


2倍のポイントを手に入れた! 246ポイント を手に入れた。

Name: kazuoni  ..プログラマー(27,562ポイント)   Date: 2008/09/25(木) 18:27   No:21687     
Title: Re:愛用のテキストエディタ    
あ、質問にそれてました。。
自分はVC++のみで頑張ってます^^;
自分からしたら使い分ける必要性が全く分からないです^^;
レポートはwordですけどww
いろいろ見てみようかなと思ってますが、なんとなく途中であきらめてしまいそうなw


>管理人さん
スキンの変え方はソフトを通さないとできないんでしょうか?
windows Blindsってソフトは有料の物しか見当たらないんですが・・・^^;?
あとvistaなんですが・・・?


178ポイント を手に入れた。

Name: GPGA  ..熟練のプログラマー(51,275ポイント)   Date: 2008/09/25(木) 18:33   No:21689     
Title: Re:愛用のテキストエディタ    
テキストエディタは秀丸
開発はCodeWarrior
ツール作成はVS2008を使用しています。


25ポイント を手に入れた。

Name: 管理人 [URL]  ..伝説のハッカー(804,112ポイント)   Date: 2008/09/25(木) 21:33   No:21699     
Title: Re:愛用のテキストエディタ    
スキンの変更はソフトを通さないと出来ないです。
一応フリー版ありますが、vistaですか・・。
多分vista対応のwindows blindsは無いのでは;

http://www.google.co.jp/search?hl=ja&q=%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA+vista&lr=

この辺でおもしろそうなのを見つけてくるとかしか思いつかないです;
配色の変更はwindows標準の機能でもある程度出来ると思いますよb


174ポイント を手に入れた。




 
[ 1 , ... ]
 
 
管理者画面   RSS   + Powered By 21style +