テトリス作成
Re:テトリス作成
DxLibを使用していませんが、下記のURLのページはテトリスを作るのに参考になると思います。ただ、Windowsプログラムの仕組みを知っておかないとピンとこないかもしれません。
http://codezine.jp/a/article/aid/207.aspx
下記の本にはWin32APIでのテトリス作成の方法が解説付きで載っています。個人的にはこちらのソースの方が好きですね。
http://www.amazon.co.jp/Windows%E3%82%B ... 4797325453
http://codezine.jp/a/article/aid/207.aspx
下記の本にはWin32APIでのテトリス作成の方法が解説付きで載っています。個人的にはこちらのソースの方が好きですね。
http://www.amazon.co.jp/Windows%E3%82%B ... 4797325453
Re:テトリス作成
私も今テトリスをDXライブラリを使って作っています。(まだ途中ですが・・・)
私が参考にしているのは下記のサイトです。
ライブラリは使っていませんがわかりやすいと思います。
http://www.nhk.or.tv/kow/program/index.php
私が参考にしているのは下記のサイトです。
ライブラリは使っていませんがわかりやすいと思います。
http://www.nhk.or.tv/kow/program/index.php
Re:テトリス作成
すいませんさっきの文章がおかしかったので書き直します。
http://www.nhk.or.tv/kow/program/index.php
をDxライブラリをもちいてテトリスを作成するとき、
画像描画、音楽再生、キー入力判定以外で記述方法を変えるところはありますか?
おしえてください。
http://www.nhk.or.tv/kow/program/index.php
をDxライブラリをもちいてテトリスを作成するとき、
画像描画、音楽再生、キー入力判定以外で記述方法を変えるところはありますか?
おしえてください。
Re:テトリス作成
http://www.nhk.or.tv/kow/program/program_125.php
のkbhit()はDXライブラリの関数は何を使えばいいんでしょうか?
のkbhit()はDXライブラリの関数は何を使えばいいんでしょうか?
Re:テトリス作成
kbhit関数はキーが押されたかどうかの判定をする関数です。
ですから、DxLibで同じような事をさせようと思ったら、GetHitKeyStateAll関数が良いのではないでしょうか?
勿論、そのまま置き換えただけでは動きませんので、下記のリファレンスを参考にして自分の都合の良いように書き換えて下さい。
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
ですから、DxLibで同じような事をさせようと思ったら、GetHitKeyStateAll関数が良いのではないでしょうか?
勿論、そのまま置き換えただけでは動きませんので、下記のリファレンスを参考にして自分の都合の良いように書き換えて下さい。
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
Re:テトリス作成
http://www.nhk.or.tv/kow/program/program_124.php
をDXライブラリを使ってvc++で作ってみたのですが
ブロックが瞬間移動する感じで落下して行きます。
本当はどう上のサイトだとどう動くんでしょうか?
をDXライブラリを使ってvc++で作ってみたのですが
ブロックが瞬間移動する感じで落下して行きます。
本当はどう上のサイトだとどう動くんでしょうか?
Re:テトリス作成
>ぜtさん
tkmakwins15さんのお名前は栄光のプログラマーではありません。
名前は「Name:」の直後に書かれています。仰っているのは掲示板ランクで、書き込みを沢山するほどポイントが上がっていく仕組みになっています。
そして、解らない事があるたびに掲示板で聞くよりも、調べたり勉強した方が早いと思いますので、
一通りゲームプログラミングの館に目を通していただいて、
http://dixq.net/g/
わからない関数については一先ずリファレンスページを見ていただいて
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
それでもわからなければ質問していただいた方が解決が早いかと思います。
そして、仰るちらつきについてですが、裏画面処理をしていないからではないでしょうか。
ゲームプログラミングの館の12,13章をお読みください。
tkmakwins15さんのお名前は栄光のプログラマーではありません。
名前は「Name:」の直後に書かれています。仰っているのは掲示板ランクで、書き込みを沢山するほどポイントが上がっていく仕組みになっています。
そして、解らない事があるたびに掲示板で聞くよりも、調べたり勉強した方が早いと思いますので、
一通りゲームプログラミングの館に目を通していただいて、
http://dixq.net/g/
わからない関数については一先ずリファレンスページを見ていただいて
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html
それでもわからなければ質問していただいた方が解決が早いかと思います。
そして、仰るちらつきについてですが、裏画面処理をしていないからではないでしょうか。
ゲームプログラミングの館の12,13章をお読みください。
Re:テトリス作成
http://www.nhk.or.tv/kow/program/program_127.php
の
srand((unsigned)time(NULL));
block_type = rand() % 7;
というところはDXライブラリに どうなおせばいいんですか?
すいません調べてみたけどちょっとわからなかったのでお願いします。
の
srand((unsigned)time(NULL));
block_type = rand() % 7;
というところはDXライブラリに どうなおせばいいんですか?
すいません調べてみたけどちょっとわからなかったのでお願いします。
クイックソートエラーC2440
いつもお世話になってます。
動的な領域確保について質問します。
現在データの入ったファイルを読み込み
その中のデータをソートするプログラムを作っています。
管理人様のクイックソートプログラム解説アプリで勉強させていただきました。
ですが、現在作っているプログラムにどうやって対応させればよいのか
分からず困っています。
右の数字部分を降順に並べ替えて出力したいと思って実行しますと、
error C2440:'=':'int'から'seito'に変換できません。
error C2440:'=':'seito'から'int'に変換できません。
とエラー出力が表示されてしまいます。
あと、現在のプログラムは特定の行数以上読み込むと暴走してしまいます。
いまファイルデータが100行あるので下記のプログラム中に
struct seito x[100];
としていますが、何行でも対応できるようにしたいと思い調べたら
malloc関数というものを見つけました。
対応のさせ方がわからなくて困っています
お手数ですが、わかる方ご指導お願いします。
↓ファイルデータ↓
C00001 45
C00002 49
C00003 47
C00004 40
C00005 58
C00006 61
C00007 51
C00008 38
C00009 59
C00010 52
C00011 49
C00012 50
C00013 56
C00014 48
C00015 48
C00016 43
C00017 48
C00018 53
C00019 47
C00020 47
C00021 53
C00022 47
C00023 40
C00024 41
C00025 49
C00026 55
C00027 48
C00028 57
C00029 62
C00030 40
C00031 56
C00032 40
C00033 53
C00034 47
C00035 48
C00036 47
C00037 47
C00038 44
C00039 53
C00040 54
C00041 50
C00042 51
C00043 56
C00044 38
C00045 61
C00046 41
C00047 38
C00048 50
C00049 58
C00050 51
C00051 55
C00052 65
C00053 56
C00054 51
C00055 44
C00056 66
C00057 50
C00058 52
C00059 53
C00060 49
C00061 52
C00062 49
C00063 49
C00064 56
C00065 59
C00066 49
C00067 45
C00068 58
C00069 50
C00070 61
C00071 45
C00072 59
C00073 53
C00074 56
C00075 53
C00076 44
C00077 54
C00078 43
C00079 49
C00080 51
C00081 56
C00082 52
C00083 54
C00084 43
C00085 62
C00086 59
C00087 53
C00088 56
C00089 47
C00090 48
C00091 52
C00092 52
C00093 46
C00094 52
C00095 45
C00096 53
C00097 55
C00098 44
C00099 43
C00100 49
↓プログラム↓
#include <stdio.h>
#include <stdlib.h>
FILE* fp;
int kijun,cnt,i,j,num,ninzu;
struct seito {
char c;
int no;
int ten;
}SEITO;
struct seito x[100],temp;
void fileopen(void){
if ((fp=fopen("testfile","r"))==NULL) {
printf("not open file\n");
exit(1);
}
for (cnt=0;;cnt++){
if (fscanf(fp, " %c%05d %d",&x[cnt].c,&x[cnt].no,&x[cnt].ten)!=3);
if(ferror(fp)||feof(fp))break;
}
}
void sort(void){
int left,right;
int left0=left,right0=right;
int pivot;
if(left>=right)return;
pivot=(x[left].ten+x[(left+right)/2].ten+x[right].ten)/3;
while(1){
while(x[left].ten<pivot)left++;
while(x[right].ten>pivot)right--;
if(left>=right)break;
temp=x[left].ten;
x[left].ten=x[right].ten;
x[right].ten=temp;
left++;
right--;
}
sort(x,left0,left-1);
sort(x,right+1,right0);
}
void show(void){
for (i=0;i<cnt;i++){
if (x.ten>=kijun){
printf("C%05d %d\n",x.no,x.ten);
}}
}
int main(void){
fileopen();
num=sizeof(x)/sizeof(x[0]);
sort(x,num, sizeof(SEITO));
show();
fclose(fp);
return 0;
}
動的な領域確保について質問します。
現在データの入ったファイルを読み込み
その中のデータをソートするプログラムを作っています。
管理人様のクイックソートプログラム解説アプリで勉強させていただきました。
ですが、現在作っているプログラムにどうやって対応させればよいのか
分からず困っています。
右の数字部分を降順に並べ替えて出力したいと思って実行しますと、
error C2440:'=':'int'から'seito'に変換できません。
error C2440:'=':'seito'から'int'に変換できません。
とエラー出力が表示されてしまいます。
あと、現在のプログラムは特定の行数以上読み込むと暴走してしまいます。
いまファイルデータが100行あるので下記のプログラム中に
struct seito x[100];
としていますが、何行でも対応できるようにしたいと思い調べたら
malloc関数というものを見つけました。
対応のさせ方がわからなくて困っています
お手数ですが、わかる方ご指導お願いします。
↓ファイルデータ↓
C00001 45
C00002 49
C00003 47
C00004 40
C00005 58
C00006 61
C00007 51
C00008 38
C00009 59
C00010 52
C00011 49
C00012 50
C00013 56
C00014 48
C00015 48
C00016 43
C00017 48
C00018 53
C00019 47
C00020 47
C00021 53
C00022 47
C00023 40
C00024 41
C00025 49
C00026 55
C00027 48
C00028 57
C00029 62
C00030 40
C00031 56
C00032 40
C00033 53
C00034 47
C00035 48
C00036 47
C00037 47
C00038 44
C00039 53
C00040 54
C00041 50
C00042 51
C00043 56
C00044 38
C00045 61
C00046 41
C00047 38
C00048 50
C00049 58
C00050 51
C00051 55
C00052 65
C00053 56
C00054 51
C00055 44
C00056 66
C00057 50
C00058 52
C00059 53
C00060 49
C00061 52
C00062 49
C00063 49
C00064 56
C00065 59
C00066 49
C00067 45
C00068 58
C00069 50
C00070 61
C00071 45
C00072 59
C00073 53
C00074 56
C00075 53
C00076 44
C00077 54
C00078 43
C00079 49
C00080 51
C00081 56
C00082 52
C00083 54
C00084 43
C00085 62
C00086 59
C00087 53
C00088 56
C00089 47
C00090 48
C00091 52
C00092 52
C00093 46
C00094 52
C00095 45
C00096 53
C00097 55
C00098 44
C00099 43
C00100 49
↓プログラム↓
#include <stdio.h>
#include <stdlib.h>
FILE* fp;
int kijun,cnt,i,j,num,ninzu;
struct seito {
char c;
int no;
int ten;
}SEITO;
struct seito x[100],temp;
void fileopen(void){
if ((fp=fopen("testfile","r"))==NULL) {
printf("not open file\n");
exit(1);
}
for (cnt=0;;cnt++){
if (fscanf(fp, " %c%05d %d",&x[cnt].c,&x[cnt].no,&x[cnt].ten)!=3);
if(ferror(fp)||feof(fp))break;
}
}
void sort(void){
int left,right;
int left0=left,right0=right;
int pivot;
if(left>=right)return;
pivot=(x[left].ten+x[(left+right)/2].ten+x[right].ten)/3;
while(1){
while(x[left].ten<pivot)left++;
while(x[right].ten>pivot)right--;
if(left>=right)break;
temp=x[left].ten;
x[left].ten=x[right].ten;
x[right].ten=temp;
left++;
right--;
}
sort(x,left0,left-1);
sort(x,right+1,right0);
}
void show(void){
for (i=0;i<cnt;i++){
if (x.ten>=kijun){
printf("C%05d %d\n",x.no,x.ten);
}}
}
int main(void){
fileopen();
num=sizeof(x)/sizeof(x[0]);
sort(x,num, sizeof(SEITO));
show();
fclose(fp);
return 0;
}
Re:テトリス作成
http://www.nhk.or.tv/kow/program/program_128.php
//画面表示
void ShowGameField()・・・・・
で落下していくブロックを表示するときに
for(i=0;i<21;i++)
{
for(j=0;j<12;j++)
{
for(field[j] == 1)
{
DrawExtendGraph(x,y,x,y,画像名,TRUE);
}
}
}
とブロックを表示しているのですが、これだと全種類のブロックが
同じ画像になります。
ブロックの種類ごとに色を変えたいと思っているのですが全く思いつきません
考え方だけでもご教授いただけないでしょうか。お願いいたします。
//画面表示
void ShowGameField()・・・・・
で落下していくブロックを表示するときに
for(i=0;i<21;i++)
{
for(j=0;j<12;j++)
{
for(field[j] == 1)
{
DrawExtendGraph(x,y,x,y,画像名,TRUE);
}
}
}
とブロックを表示しているのですが、これだと全種類のブロックが
同じ画像になります。
ブロックの種類ごとに色を変えたいと思っているのですが全く思いつきません
考え方だけでもご教授いただけないでしょうか。お願いいたします。