ページ 11

ゲームの遷移プログラム

Posted: 2014年5月13日(火) 01:39
by ぽ茶こ
C言語の画面遷移。分からないことがありましたので質問させていただきます。C言語で開発を行っております。画面で1と入力した場合に赤い図形を表示し、2と入力したら青い図形を表示し、3と入力したらそれ以外の表示をするプログラムを作りたいのですがどうすれば良いのかわかりません。詳しく教えていただけますか?

そこの部分はこのように組んでいます

コード:

#include<stdio.h>
#include<stdlib.h>
#include<X11/Xlib.h>
#include "SimpleGL.h"

 scanf("%d", &i);
 if (i == 1 | i == 2) {
 if (i == 1) {
 setColor(Color_RED);
 fillRect(70,30,40,40);
 } else if (i == 2) {
 setColor(Color_BLUE);
 fillRect(70,80,40,40);
 }
 }else {
 setColor(Color_YELLOW);
 fillRect(170,30,40,40);
 setColor(Color_YELLOW);
 fillRect(170,30,40,40);
 }
 SGSync(); sleep(1000);
 return 0;
 }

Re: ゲームの遷移プログラム

Posted: 2014年5月13日(火) 11:14
by milla
scanfはキー入力を待つ(ゲームがとまる)ので、ノベルゲーにしか使えませんよ。

仮想コードで、もっとも簡単に実装するとしたらこんな感じ

コード:

static int state;

if(getkey('1'))
{
    state = 1;
}

if(getkey('2'))
{
    state = 2;
}

switch(state)
{
case 1:
    //赤図形関数
    break;
case 2:
    //青図形関数
    break;
}

Re: ゲームの遷移プログラム

Posted: 2014年5月13日(火) 12:09
by 雨音
7行目のif文における条件式が間違ってると思いますよ。