今だけ人気マンガ100円レンタル特集♪

パックマンプログラムを作っているんですが以下のように壁にぶつかってゲームオーバーになります。すべてのエサを食べさせたいんですがどのように以下のプログラムを改良すればいいですか?
map(MAPDATA型):マップの情報(通路・エさ・壁の位置)
p(POSITION型):プレイヤーの位置情報
e(POSITION型):モンスターの位置情報

0:通路
1:エサ
2:壁

プレイヤーのx座標:p.x,モンスターのy座標:e.y

MAP_WIDTH:マップの横幅 (19)
MAP_HEIGHT:マップの縦幅 (22)
NUM_FOOD:エサの最大数 (156)


#include <stdio.h>
#include "Info.h"
#include "math.h"

MOVEMENT playerAI(MAPDATA map, POSITION p, POSITION e)
{
if (abs(p.x - e.x) + abs(p.y - e.y) <= 2) { return UP; };

if (map[p.y][p.x + 1] == 1) { return RIGHT; }
else if (map[p.y + 1][p.x] == 1) { return DOWN; }
else if (map[p.y][p.x - 1] == 1) { return LEFT; }
else if (map[p.y - 1][p.x] == 1) { return UP; }
else { return STAY; }


Game.cpp
http://codepad.org/C2opgSUX

Red AI.cpp
http://codepad.org/zlwvnPTX

「パックマンプログラム」の質問画像

このQ&Aに関連する最新のQ&A

1通路」に関するQ&A: 1Fと2Fの間の通路

A 回答 (3件)

あなたは


「プログラムを作りたい」のですか?
「プログラムを作ってもらいたい」のですか?

「作ってもらいたい」のなら、ここではなく、依頼サイトへ行った方がいいです。

自分で作りたいのなら、もうちょっと自分でいろいろとやってみましょう。
書いてある通りに入力するだけでは、プログラミングは上達しません。



f (map[p.y][p.x + 1] == 1) { return RIGHT; }
else if (map[p.y + 1][p.x] == 1) { return DOWN; }
else if (map[p.y][p.x - 1] == 1) { return LEFT; }
else if (map[p.y - 1][p.x] == 1) { return UP; }
else { return STAY; }

これが、どんな意味だか理解できていますか?
できていないなら、まずは、理解できるまで基本を勉強してください。


これを日本語訳すれば

右に餌があったら 右に行く
そうではなく、 下に餌があったら 下に行く
そうではなく、 左に餌があったら 左に行く
そうではなく、 上に餌があったら 上に行く
そうでなかったら 留まる

です。
これをちょっと変えて

右に壁がなかったら 右に行く
そうではなく、 下に壁がなかったら 下に行く
そうではなく、 左に壁がなかったら 左に行く
そうではなく、 上に壁がなかったら 上に行く
そうでなかったら 留まる

とすれば、とりあえずは壁を避けることができます。
元のプログラムがどうして「○○に餌があったら」になっているかをよく考えれば、
「壁でなかったら」とはどう書けるか、わかるはずです。

この回答への補足

何回も申し訳ないです。
壁がなかったらとは否定の!を使うんでしょうか?

補足日時:2014/12/09 19:37
    • good
    • 0

> 壁で進めなくなるので敵を避けつつエサを食べれるように左、右に曲がるようにとか、プログラム打ちたいです



では、そのようにプログラムを打ってください。
プログラムがわからないなら、まずは、日本語で書いてみてください。

> 壁で進めなくなる
というのは、
「壁があるのに、そちらへ進もうとする」
から進めなんですよね?
それなら
(1)[進む方向]を決める
(2) [進む方向]が壁ではないなら、[進む方向]へ進む
 そうで無いなら、[進む方向]を別の方法で決める
みたいな処理をすればいいのです。

> 敵を避けつつ
とありますが、今は「敵が来たら上」です。
if (abs(p.x - e.x) + abs(p.y - e.y) <= 2) { /* 敵との距離が近い場合 */
return UP; /* とにかく上 */
};

ならば、
if (abs(p.x - e.x) + abs(p.y - e.y) <= 2) { /* 敵との距離が近い場合 */
 逃げられる方向を探してそっちへ
};
とすれば、とりあえずは壁で進めなくなることがなくなるはずです。

この回答への補足

>逃げられる方向を探してそっちへ
とはどのようにして打てばいいですか??

補足日時:2014/12/08 13:36
    • good
    • 0

○このプログラムで、どんな思考パターンで動作させようとしているのですか?


 説明してください。

ざっと眺めた感じ
・敵が近くにいたら、とにかく上へ逃げようとする(上が壁でも!)
→ 壁で進めない → そのまま「上へ逃げようとして進めない」を繰り返し、 1000ターン終了
となっているように見えます。

この回答への補足

壁で進めなくなるので敵を避けつつエサを食べれるように左、右に曲がるようにとか、プログラム打ちたいです

補足日時:2014/12/06 13:13
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q迷路を脱出する経路探索プログラムをC言語で作成するには?

迷路を脱出する経路を探索するプログラムを作成したいのですが、
何をすればいいのかまったくわかりません、
サンプルプログラムや解決ヒント等、
データの提供お願いします。
かなりこまってます。

Aベストアンサー

私も、部活で迷路脱出のプログラムを最近作りました。そのときには、本を参考に再起処理を使って作りました。
一応サンプルプログラムです。
#include<stdio.h>
int meiro[][]={{ 省略 }};

int Si,Sj,Ei,Ej,success,sp,ri[100],rj[100];

int tansaku(int,int);

main()
{
sp=0;
success=0;
Si=1; Sj=1; Ei=7; Ej=7;

printf("\n迷路の探索");
if(tansaku(Si,Sj)==0){
//出口が見つからなかった
}
}
int tansaku(int i,int j)
{
int k;
static int path=1;

meiro[i][j]=1;
ri[sp]=i; rj[sp]=j; sp++;

if(i==Ei && j==Ej){
//出口が見つかった時の処理
//この時点で、ri,rjに経路が記録されている
success=1;
}//全経路検索 一度通ったところは通らない
if(meiro[i][j+1]==0) tansaku(i,j+1);
if(meiro[i+1][j]==0) tansaku(i+1,j);
if(meiro[i][j-1]==0) tansaku(i,j-1);
if(meiro[i-1][j]==0) tansaku(i-1,j);

sp--;
meiro[i][j]=0; //別経路探索のため
return(success);
}

確か本を参考に、こんなプログラムを作ったはずです。
ソースは、学校のパソコンに保存されているので性格かはわかりませんが・・・。
一応再起処理で全経路を検索しますが、広い空間があるとうまくいかないことがありました。
meiro[][]の二次元配列は、0が通路、1が自分が通った通路、2が壁です。
このプログラムは、迷路を壁で囲ってある状態にしていないと無限ループになるので、そこも注意してください。
迷路が大きいと時間がかかってしまうので、途中で中断できるようになればそれなりのものができると思います。

この回答を、投稿の前に確認したところ、字下げしたのがすべて無視されてました。
字下げなしの見にくいプログラムになってしまい、すみません。

私も、部活で迷路脱出のプログラムを最近作りました。そのときには、本を参考に再起処理を使って作りました。
一応サンプルプログラムです。
#include<stdio.h>
int meiro[][]={{ 省略 }};

int Si,Sj,Ei,Ej,success,sp,ri[100],rj[100];

int tansaku(int,int);

main()
{
sp=0;
success=0;
Si=1; Sj=1; Ei=7; Ej=7;

printf("\n迷路の探索");
if(tansaku(Si,Sj)==0){
//出口が見つからなかった
}
}
int tansaku(int i,int j)
{
int k;
static int path=...続きを読む

QMIPS値の求め方

以下の問題教えてください
3種類の命令群を持ち、それぞれの実行速度と出現頻度が下表とおりであるコンピュータのMIPS値を求めよ。
命令群ABC
実行速度2ナノ秒3ナノ秒4ナノ秒
出現頻度40%40%20%

Aベストアンサー

(1)平均の実行速度を求める。
それぞれの命令の実行速度に出現確率を掛けたものを足す。
2*(40/100) + 3*(40/100) + 4*(20/100)

(2)MIPSを求める
MIPSとは「1秒間に何百万回命令を実行するか」の尺度なので、まずは「1秒間に何回命令を実行するか」を求める。
ナノ・・10^(-9) 10のマイナス9乗なので

命令実行回数・・・1/(↑の(1)で求めた実行速度)
これを100万で割れば求められます。

QZ値についておしえてください。

次のようなz値が求めてありますがおしえてください。

例)正常男子の血圧3例(110、120、130m  mHg)があります。それをもとに血圧140m  mHg)の患者のZ値を求めてください。

     個々のデーター平均
  Z=----------------------
        標準偏差

質問
1)ここでの個々のデータは140mmHgでよいの  だと思いますが間違えないでしょうか?

2)平均は(110+120+130)/ 3=120
  だと思いますが間違えないでしょうか?

3)標準偏差は
  SQR{{(110-120)^2+(120-
 120)^2+(130-120)^2}/ 3-1}

分母は3ではなく3-1=2で間違えないのでし  ょうか?

これの値をZ値の式にいれてZ値を算出すればいいと思うのですが・・・・


質問

ここで、これはt-分布(対応のないt-検定)だと記述してあるのですが、標本数が3例と少ないためだとも書いてありますがこの意味がわかりません。


質問
 
Z値で述べてある平均と標準偏差は、母集団の平均と標準偏差であり、標本の平均と標準偏差を意味してるのではないとおもうのですが、標本の平均と標準偏差を母集団の平均と標準偏差と考えれるのはなぜかわかりません。


基礎的なことが理解できていませんがよろしくご指導ください。

次のようなz値が求めてありますがおしえてください。

例)正常男子の血圧3例(110、120、130m  mHg)があります。それをもとに血圧140m  mHg)の患者のZ値を求めてください。

     個々のデーター平均
  Z=----------------------
        標準偏差

質問
1)ここでの個々のデータは140mmHgでよいの  だと思いますが間違えないでしょうか?

2)平均は(110+120+130)/ 3=120
  だと思いますが間違えないで...続きを読む

Aベストアンサー

大昔やったので、だいぶ忘れてしまったのですが、回答がついてないようなので参考に。

質問1
1) 間違い有りません。

2) 間違い有りません。

3)
>標準偏差は
>SQR{{(110-120)^2+(120-120)^2+(130-120)^2}/ (3-1)}

>分母は3でなく3-1=2で間違えないのでしょうか?

間違い有りません。母集団の標準偏差がわからないので標本ので代用しています。
したがって1引いていいです。

質問2
>ここで、これはt-分布(対応のないt-検定)だと記述してあるのですが、
>標本数が3例と少ないためだとも書いてありますがこの意味がわかりません。

標本数が50以上になれば殆んど正規分布と変わらなくなります。

質問3
>標本の平均と標準偏差を母集団の平均と標準偏差と考えれるのはなぜかわかりません。

おっしゃる通りです。でも母集団の平均と標準偏差がわからないので、
標本の平均と標準偏差で代用しないと仕方がないのです。

Q#includeって?

インクルードファイル
el.h をオープンできない。っていうエラーを直すにはどうすればいいのでしょうか??

Aベストアンサー

el.hはEasy Link Libraryのヘッダではないでしょうか?
そうであれば下記参考URLを見てください。

参考URL:http://www.twin-tail.jp/contents/el/index.htm

Qnor回路だけでand,or,nand回路を作成したいのですが

タイトルの通り、nor回路だけでand,or,nand回路を作成したいのですが、or回路はnor回路を二つ並べて作成することができたのですが、andとnandの回路を作ることができません。教えてもらえないでしょうか。

Aベストアンサー

ANDを二重否定して、ドモルガンで変形させていくと良いです。
NOT回路は、NOR回路の入力をつないで一つにしてしまえば出来ます。
ANDが出来れば、NOTをつないでNANDに。

Qプログラム設計書の書き方

僕は新人SEです。
今、上司の方からあるシステムの基本設計書・システム設計書・プログラム設計書を作り、プログラミングまでしてから単体テスト・結合テストもやるように言われています。(全て1人で)

おそらく経験のある方ならすぐにできてしまうようなシステムで、上司の方も勉強のために全てやらせているようです。

今、基本設計書・システム設計書まではなんとかできて、プログラム設計書の作成に取り掛かりたいのですが、初めての経験で実際のプログラム設計書には何をどのように書いているものなのかも全く見当もつかずにいるので全く何も書けません。

上司さんは今週忙しいようで
「来週見てあげるから自分で調べたりしてやってみて」
と言っています。
ですが、全く何もできずにいるのもイヤなので何かそれらしいものでも書いてみたいのですが…プログラム設計書とは何をどう書いてあるものなのでしょうか?

日本語が書いてあるのかプログラムが書いてあるものなのか…
そういったところからわからないので少しでも何か教えていただきたいです。
宜しくお願いします。

Aベストアンサー

こんにちは。
No.1様のご回答通りなのですが会社によって異なります。
というのを踏まえた上で・・・うちではという回答になりますが

・日付 2009/10/10
・版 初版(その後バージョンアップで改定するため、改定ナンバー必須)
・タイトル 企業情報印刷(ここでは決定済み名称)
・発注仕様書ナンバー(正式にお客さまと契約で決めた発注番号を記載)
・作成者 boo_boo_suu
・使用言語 Visual C++
・使用データベース ORACLE
・使用帳票アプリケーション Crystal Reports
・フロー図(Visioで埋め込み図)
・概要説明 
メインメニューから呼び出され企業情報の印刷条件を入力し、クリスタルレポートの帳票情報から企業情報ファイル(KIGYOU_INFO)ファイルを呼び出し印字します。
・全企業情報が一覧で印字可能である。
・特定一企業(企業コード指定)での印字も可能である。
・一企業が指定された場合は企業情報を画面表示する。

-----------------------------------
で・・・・プログラム仕様書はこのくらい。
命令書ですからコードそのものは打ちません。
これみて作ってもらわないといけないので日本語メインです。

あとはDBの仕様書をみてもらったりしてプログラムのローカルルール、画面サイズ、文字サイズ プロシージャ定義やら定数や変数、フォーム、構造体定義書などプログラム書くときの決まりごとに添ってPGさんに打ってもらっています。
一応、図とかつけてみました。(^-^;;
全体の雰囲気はこんな感じだとご理解いただければ幸いです。
ではでは~。

こんにちは。
No.1様のご回答通りなのですが会社によって異なります。
というのを踏まえた上で・・・うちではという回答になりますが

・日付 2009/10/10
・版 初版(その後バージョンアップで改定するため、改定ナンバー必須)
・タイトル 企業情報印刷(ここでは決定済み名称)
・発注仕様書ナンバー(正式にお客さまと契約で決めた発注番号を記載)
・作成者 boo_boo_suu
・使用言語 Visual C++
・使用データベース ORACLE
・使用帳票アプリケーション Crystal Reports
・フロー図(Visioで...続きを読む

Qシンボルが見つかりませんというエラーが理解できません。

以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;

public class janken extends Applet
implements Runnable, ActionListener {
private static final int EXTERNAL_BUFFER_SIZE = 128000;

Image image[] = new Image[3];
Thread t;
int index1 = 0;
int index2 = 0;
String msg = "";
String msg1 = "";

boolean state = false;
Button b1 = new Button("ぐー");
Button b2 = new Button("ちょき");
Button b3 = new Button("ぱー");

public void init(){
for(int i = 0; i<=2; i++){
img[i] = getImage(getDocumentBase(),"hanabi" + (i+1) + ".JPG");
}
add(b1);
add(b2);
add(b3);
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
msg1 = "結果は・・";

}

public void paint(Graphics g){
g.drawImage(img[index1],350,30,this);
g.drawImage(img[index2],695,30,this);
g.drawString("コンピューター",420,300);
g.drawString("あなた",800,300);
g.drawString(msg,630,320);
g.drawString(msg1,550,320);
}

public void start(){
state = true;
t = new Thread(this);
t.start();

}

public void run(){
while(state){
index1++;
if(index1 == 3){
index1 = 0;
}
index2++;
if(index2 == 3){
index2 = 0;
}
repaint();
try {
Thread.sleep(60);
}catch(InterruptedException e) { }
}
}

public void actionPerformed(ActionEvent e){
if(state == false) {
start();
return;

}
state = false;
if(e.getSource() == b1) {
msg = "ぐー";
index2 = 0;
}

else if(e.getSource() == b2){
msg = "ちょき";
index2 = 1;
}

else if(e.getSource() == b3){
msg = "ぱー";
index2 = 2;
}
check();
repaint();
}

public void check() {
if(index1 == index2) msg ="あいこ";


else if (index1 == 0) {
if(index2 == 2) msg="あなたの勝ち";
else msg ="あなたの負け";
}

else if(index1 == 1) {
if(index2 == 0) msg="あなたの勝ち";
else msg="あなたの負け";
}

else if(index1 == 2) {
if(index2 == 1) msg="あなたの勝ち";
else msg="あなたの負け";
}

}
}

以下のようなじゃんけんゲームのプログラムを書いたのですが、「シンボルが見つかりません。」というエラーが表示されるのですが、エラーの意味が理解できず、解決できません。どこが間違っているのか教えていただけませんか。

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.File;

public class janken extends Applet
implements Runnable, ActionListener {
private static final int EXTERNAL_BUFFER_SIZE = 128000;

Image image[] = new Imag...続きを読む

Aベストアンサー

「シンボルを見つけられません。」というエラーの下に何か表示がありませんでしたか?そこにヒントがあると考えられます。
シンボルを見つけられませんといエラーが表示される主な理由は4つあります。
(1)クラス、メソッド、変数などの綴りミスや定義していない変数を使用している可能性がある。
(2)コンストラクタを呼び出すときに、newを忘れている可能性がある。(3)公開されていないメンバーを呼び出している可能性がある。
(4)必要なimport文を記述し忘れている可能性がある。
ここでのあなたのエラーは(1)番ではないでしょうか?上記ではimageとなっている変数がimgになっていますね。
これはエラー表示をよく見ることで意外と簡単に解決できるのです。
ゆっくり丁寧にエラー表示を見るように心がけることが大事ですよ。

Qjava初心者ですが・・・

java初心者ですが・・・

こんにちは。
j趣味でプログラミングをしている者です。
以下のサイトを参考にして、
パックマン風のゲームを作っているのですが、
キー入力に対応してうまく画像が動いてくれません。
急に意図しないところに移動してしまいます。
http://www.crew.sfc.keio.ac.jp/~turkey/packman/

このサイトも途中までしかできていなくて、
関数的なものしかできないのですが・・・
このコードの悪い点を教えていただけないでしょうか。
あるいは、お手本を示していただけないでしょうか。
よろしくおねがいします。

public class disppack3 extends Applet
{
int ht, vt;
int new_ht, new_vt;
int kabesize;
Image img;

int[][] Wall = { // 画面のデータが入ります
};

public void init( )
{
setBackground( new Color( 0xaacbef) );
new_ht = 0; new_vt = 0;
ht = 10; vt = 9;
img = getImage( getCodeBase(), "packmanfuu2.jpg");
addKeyListener(
new KeyAdapter( )
{
public void keyPressed( KeyEvent e )
{
switch( e.getKeyCode() )
{
case KeyEvent.VK_RIGHT:
new_vt = vt + 1;
break;
case KeyEvent.VK_LEFT :
new_vt = vt - 1;
break;
case KeyEvent.VK_UP :
new_ht = ht -1;
break;
case KeyEvent.VK_DOWN :
new_ht = ht +1;
break;
default :
break;
}
if( Wall[new_ht][new_vt] == 1 )
{
ht= new_ht;
vt = new_vt;
}
repaint();
}
}
);
}
public void paint( Graphics g )
{
g.setColor( new Color( 0x454656));
for( int i=0;i<18;i++)
{
for( int j=0; j<18; j++)
{
if( Wall[i][j] == 0 )
{
g.fillRect( j * 40+20, i*40 + 20, 40, 40);
}
}
}
g.drawImage( img, vt* 40 + 20, ht*40+20, this );
}
}

java初心者ですが・・・

こんにちは。
j趣味でプログラミングをしている者です。
以下のサイトを参考にして、
パックマン風のゲームを作っているのですが、
キー入力に対応してうまく画像が動いてくれません。
急に意図しないところに移動してしまいます。
http://www.crew.sfc.keio.ac.jp/~turkey/packman/

このサイトも途中までしかできていなくて、
関数的なものしかできないのですが・・・
このコードの悪い点を教えていただけないでしょうか。
あるいは、お手本を示していただけないでしょうか。
よろしく...続きを読む

Aベストアンサー

こちらに java ゲームのサンプルが色々とありますよ。
参考にしてはどうでしょうか。

http://d.hatena.ne.jp/aidiary/20040918/1251373370

Qブール代数の簡略化の問題について教えてほしいです。

X=(A+BC)(A+CD)(A+B+D)

よろしくお願いします。

Aベストアンサー

やり方だけ説明します。こつさえつかめば簡単です。

基本は
A(B+C)=AB+AC

AA=A

A+AB=A
くらい。

頭の二つの括弧だけはずしてみます。
X=(A+BC)(A+CD)(A+B+D)
=(AA+ACD+ABC+BCCD)(A+B+D)
=(A+ACD+ABC+BCD)(A+B+D) //AA=A,BCCD=BCD
=(A+ABC+BCD)(A+B+D) //A+ACD=A
=(A+BCD)(A+B+C) //A+ABC=A

以下同様に展開してください。

Qゲーム開発がしたい。学ぶべきはC++かC#か。

現在、小さな事務系ソフトウェア開発会社でプログラミングをやっている者です。

思う所あって、ゲーム系の会社への転職を考えています。
応募にあたって作品の提出が必要なことは存じていますが、
どの言語を勉強し、開発すべきかで迷っています。

開発したいゲームとしては、STGかRPGで考えています。
2Dか3Dかは特にこだわりがありません。

過去に行ったプログラミングは、ゲームの関係の薄いものばかりで、
「ゲーム開発」について本格的に学んだことはありません。
学生の頃はロボットを制御するために、C言語のプログラムを書いていました。
PCとマイコンのシリアル通信のために、C#でwindowsアプリケーションも作りました。
C++もほんの一時期だけ使っていました。
卒業してから日が浅いので、これらの知識はまだある程度あります。
会社ではaspxとJavaScriptでWebページの外面、内部の動作をVBで行なっています。

触れたことのあるプログラミング言語を理解度順に並べたら多分こんな感じです。
VB≒C#>C>JavaScript>>>C++

C#とVBは似通った言語なので、VB中心の現在でもなんとなく理解できます。
現在最もメジャーらしいC++が最も経験が少なく、自信がないです。

軽く調べた感じでは、現在のゲーム開発はC++が多いが、
今後はC#やJavaも増えるかもという感じでどちらでゲーム開発を本格的に学ぼうか迷っています。

最もメジャーなC++を改めて学ぶべきか、
それともある程度使えるC#での開発方法を学ぶか、
あるいはその他の言語か、助言をお願いします。

また、開発の参考文献なども教えていただけると幸いです。
よろしくお願いします。

現在、小さな事務系ソフトウェア開発会社でプログラミングをやっている者です。

思う所あって、ゲーム系の会社への転職を考えています。
応募にあたって作品の提出が必要なことは存じていますが、
どの言語を勉強し、開発すべきかで迷っています。

開発したいゲームとしては、STGかRPGで考えています。
2Dか3Dかは特にこだわりがありません。

過去に行ったプログラミングは、ゲームの関係の薄いものばかりで、
「ゲーム開発」について本格的に学んだことはありません。
学生の頃はロボットを制御するために、C...続きを読む

Aベストアンサー

今後の動向不明なソーシャルならPHPとかJavaScriptとかWEB系です。
家庭用ゲームのメインの開発は今後もしばらくはC++が続くと思いますが、C#もツール開発用としては導入されていますし一部のゲームはC#で開発されています。
家庭用ゲーム機なら両方共出来ないとダメじゃないかと思いますね(片一方はある程度出来る程度で良いと思いますが)。

>開発したいゲームとしては、STGかRPGで考えています。
>2Dか3Dかは特にこだわりがありません。

こちらが拘るんじゃなくて向こうの会社が拘る問題ですが、今時は家庭用ゲーム機は3Dじゃないと厳しいと思います。
あと応募作品でSTGだとすごく多いので、それだけで評価が下がります。
逆にRPGは、規模が大きくなるためプログラミングスキルが直に反映されるので応募課題としては悪くないですが市販レベルの操作性に合わせて作ること事態が大変です。
WEB系をやっていたのならオンラインゲームを作るスキルも期待されるでしょう。

とりあえず、どのぐらいのものが作れるかリアルタイム性のあるものを作るということがどういうことなのか理解するためにDXライブラリをご紹介しておきます。
これでラクラクとゲームを作れるようなら本格的にC++とDirectXやC#とXNAで応募作品を作れば良いのでは無いでしょうか?

「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/

同サイトのこっちの掲示板には業界人の回答者も出没します。
「C言語何でも質問掲示板 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewforum.php?f=3

今後の動向不明なソーシャルならPHPとかJavaScriptとかWEB系です。
家庭用ゲームのメインの開発は今後もしばらくはC++が続くと思いますが、C#もツール開発用としては導入されていますし一部のゲームはC#で開発されています。
家庭用ゲーム機なら両方共出来ないとダメじゃないかと思いますね(片一方はある程度出来る程度で良いと思いますが)。

>開発したいゲームとしては、STGかRPGで考えています。
>2Dか3Dかは特にこだわりがありません。

こちらが拘るんじゃなくて向こうの会社が拘る問題ですが、今...続きを読む


人気Q&Aランキング