初めまして質問をさせていただきます。私は、フットサルのゲームを作りたいのですが?どのプログラミングを組み合わせればいいですか?こんな事を詳しく知りたいのですが、何で調べればいいですか?

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

A 回答 (3件)

Delphiがいいですよ。


最近、Delphi6Personalからはフリーになりましたし、まだ、DelphiXは6に対応していませんが、それまではDelphiの勉強をするとよいでしょう。

参考URL:http://www.borland.co.jp/
    • good
    • 0

こんにちは、honiyonです。


 
 Windowsの場合の話ですが、
 個人的には本格的につくるなら Delphi + DelphiX の組み合わせがお勧めです。
 Delphiは開発言語、DelphiXはフリーのDirectXツールです。
 「それなり」でよいのなら、Delphiの他、VisualBasicも視野に入ってきますが、将来的に「本格的」につくる野望があるなら Delphiをお勧めします。
 ただし、仕事にするなら話は別です。 仕事にするなら、C/C++を勉強しておくと有利です。 PCの他、コンシューマ機の殆どが C/C++が標準となっています。

 Linuxでしたら、Kylixはいかがでしょうか? Delphiと互換性のある言語です。 私はこちらは使った事ないので、「お勧め!」とは言えませんが、Delphiと似た環境で簡単にGUIアプリケーションがつくれるみたいです。

 まずは覚えたい言語を決定し、購入して触って見るのが一番覚えやすいのではないでしょうか? 開発言語は最低でも1万~3万するので、そう気軽に買えるものではないですが、「まずは参考書から」とすると、何が何だか分からなくて挫折する可能性が高いような気がします。

 しかし、まだプログラミングについてあまり知識がないようですので、無料のコンパイラを入手してきて、「プログラミングとは何か?」という所からはじめ、コンソール上の「文字だけアプリケーション」をつくってみると良いかもしれません。

 色々と専門用語が出てきましたが、インターネット上で簡単に調べられるので、分からない単語についてはご自分で調べてみてください(..
 
 参考になれば幸いです(..

 ↓このサイトのどこかに専門用語辞典があった気がします(^^;(サダカデナイ

参考URL:http://www.ascii24.com/
    • good
    • 0

対象のOSはなんですか?



また、3Dにしたいのか2Dにしたいのか、そういった
少しの違いでもプログラム言語は変化してくると
思いますよ。

それとプログラミングの経験やPC歴なども補足して
おくとより的確な回答が付くのでは?

ではでは☆
    • good
    • 0

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

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

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

QVB6でやると構造体の配列になる変数をVB2008では何で作ればいいか

VB6でプログラムを作っていたときは
値のセットが配列になるとき
構造体を動的配列で宣言してデータを足して作りました。

VB2008で開発をすることになり
同じようなことをしたいのですが
もっと便利なやり方が登場したりするのでしょうか?
クラスで挑戦したのですが動的配列はできないようでした。

Aベストアンサー

#書き連ねてたらやたら長くなってしまったので必要と思うところだけ抜粋して読んでくださいませ。

> できれば下記のようにしたかったので
> 同じようなことができないでしょうか?

■構造体+配列
Public Structure MainGroup
  Public ID As Integer
  Public SubGroups As SubGroup()
End Structure

Public Structure SubGroup
  Public ID As Integer
  Public Value1 As Integer
  Public Value2 As Integer
  Public Sub New(ByVal ID As Integer, ByVal Value1 As Integer, ByVal Value2 As Integer)
    Me.ID = ID : Me.Value1 = Value1 : Me.Value2 = Value2
  End Sub
End Structure

Public Class Program
  Public Shared Sub Main()
    Dim DataArray As MainGroup() = {}
    Array.Resize(DataArray, 3)

    With DataArray(0)
      .ID = 1
      Array.Resize(.SubGroups, 4)
      .SubGroups(0) = New SubGroup(101, 123, 456)
      .SubGroups(1) = New SubGroup(102, 234, 567)
      ' (略)
    End With

    With DataArray(1)
      ' (略)
    End With
  End Sub
End Class

■クラス+コレクション
Public Class MainGroup
  Public ID As Integer
  Public SubGroup As New System.Collections.Generic.List(Of SubGroup)
End Class

Public Class SubGroup
  Public ID As Integer
  Public Value1 As Integer
  Public Value2 As Integer
  Public Sub New(ByVal ID As Integer, ByVal Value1 As Integer, ByVal Value2 As Integer)
    Me.ID = ID : Me.Value1 = Value1 : Me.Value2 = Value2
  End Sub
End Class

Public Class Program
  Public Shared Sub Main()
    Dim DataList As New System.Collections.Generic.List(Of MainGroup)
    Dim NewMain As MainGroup

    NewMain = New MainGroup
    NewMain.ID = 1
    NewMain.SubGroup.Add(New SubGroup(101, 123, 456))
    NewMain.SubGroup.Add(New SubGroup(102, 234, 567))
    ' (略)
    DataList.Add(NewMain)
  End Sub
End Class

配列+クラスはNULL参照を発生させる可能性がある点で相性がよくありません。コレクション+構造体は、#2で挙げたようにデータ書き換えの手間がかかり、やはり相性はよくありません。
配列は要素数の変動に対してパフォーマンスが悪く、細かく増減させるには不向きです。コレクションは増減することを前提としている点や、削除した箇所を詰めたり途中に挿入したりが容易な点で優れています。
クラス or 構造体、配列 or コレクション をどう組み合わせるかはこれらのほか、ユーザビリティ・保守性・整合性・パフォーマンスなどと共に天秤にかけることになるでしょう。状況にあわせてうまく使い分けてください。


> addでどんどん追加して全体をループさせずに小項目IDを取得する方法

小項目IDがユニークであれば、リストコレクションではなく辞書コレクションを使うことでIDからクラスを取得できるようになります。クラスが保持しているデータをキーに使う場合は、コレクションを継承したクラスを作り、AddをShadowsで置き換えたほうがコーディングミスを防ぐことが出来ます。

■クラス+コレクションクラス
Public Class Group
  Public MainID As Integer
  Public SubID As Integer
  Public Value1 As Integer
  Public Value2 As Integer
End Class

Public Class GroupCollection : Inherits System.Collections.Generic.Dictionary(Of Integer, Group)
  Public Shadows Sub Add(ByVal Item As Group)
    MyBase.Add(Item.SubID, Item)
  End Sub
End Class

Public Class Program
  Public Shared Sub Main()
    Dim DataDict As New GroupCollection
    Dim NewGroup As New Group
    NewGroup.MainID = 1
    NewGroup.SubID = 101
    NewGroup.Value1 = 123
    NewGroup.Value2 = 234

    DataDict.Add(NewGroup)

    Console.WriteLine(DataDict.Item(101).Value2) ' 出力 234
  End Sub
End Class

#書き連ねてたらやたら長くなってしまったので必要と思うところだけ抜粋して読んでくださいませ。

> できれば下記のようにしたかったので
> 同じようなことができないでしょうか?

■構造体+配列
Public Structure MainGroup
  Public ID As Integer
  Public SubGroups As SubGroup()
End Structure

Public Structure SubGroup
  Public ID As Integer
  Public Value1 As Integer
  Public Value2 As Integer
  Public Sub New(ByVal ID As Integer, ByVal Value1 As Integer, B...続きを読む

Qデータが「数値と文字列」の組み合わせのセルにおいて、数値部分だけを取得

データが「数値と文字列」の組み合わせのセルにおいて、数値部分だけを取得するには?

 A

1 105(りんご)
2 110(グレープフルーツ)
3 65(ハッサク)
4 250(パイナップル)

A1~A4のセルには、価格(果物名) が入っています。

このA1~A4の平均値を出すためには、各セルのデータ型が数値でないとマズイようなのですが、
これを、数値として取り出すことは可能でしょうか?

たとえば、
A1のデータは、

105(りんご)

ですが、これを、105 として取り出す、ということがしたいわけです。
(stringである「りんご」の部分は、無視してくれるような仕組み)

Dim string_to_num as long

string_to_num = HogeFunc(Range("A1").Value)    '105(りんご) → 105 と変換

Msgbox string_to_num    '105 と表示される

上記の HogeFunc() のような関数などはありませんでしょうか?

どなたか、お詳しい方、教えて下さい。
必ずお返事致します。

データが「数値と文字列」の組み合わせのセルにおいて、数値部分だけを取得するには?

 A

1 105(りんご)
2 110(グレープフルーツ)
3 65(ハッサク)
4 250(パイナップル)

A1~A4のセルには、価格(果物名) が入っています。

このA1~A4の平均値を出すためには、各セルのデータ型が数値でないとマズイようなのですが、
これを、数値として取り出すことは可能でしょうか?

たとえば、
A1のデータは、

105(りんご)

ですが、これを、105 として取り出す、ということがしたいわけです。
(string...続きを読む

Aベストアンサー

元のデータが数字+(文字)が信頼できるなら、少々手抜きですが
Valが使えますね。
文字を数値に変換する関数です。
先頭から数字変換可能な文字を探して、変換できない文字以降は無視しますので、(文字)部分以降は無視されます。

信頼できるならってのは、先頭から変換できない文字の場合は0を返すこと。
全角数字も変換してしまう事、"&HFF"などの文字を16進数と解釈して変換してしまうこと。
上記に問題がある場合は使用できないって事です。
※例として書かれたデータであれば使用に問題はありませんが。

Qプログラミングについて・・・

今学校でやっているのですが、まったくさっぱりなんです。
ベーシックの時点ですでにこんなにわからないのはかなりまずいんですが・・・
それで、「なにかテーマを見つけて自分でプログラミングする」という課題がでたのですが、この夏休みの間にどうにかやらなければいけないのです。
そこで詳しく書いてあるテキスト、お勧めなどあれば教えてください。

Aベストアンサー

学生さんですかぃ?

うーん、プログラムかぁ。BASICって決まってるの?

う~む。そうね~。
例えば、簡易な思考を持つ「ゲーム理論」シミュレーションなんぞおもしろいんじゃないの?
「ゲーム理論」と言ってもゲームじゃないよ。じゃんけんに良く似たようなものだね。

例えば、コインがあるでしょ。
いっせいのうでぃで、、、
・自分が「裏」で、相手が「表」だったら自分が3点、相手は0点
・自分が「表」で、相手が「裏」だったら自分が0点、相手は3点
・自分も相手も、両方「裏」だったら両人とも-1点。
・自分も相手も、両方「表」だったら、相手も自分も1点ずつ。

2人でこの対戦を100回連続行うとして、どのような出し方をするのが良いか?

いろいろ面白いね~。例えば、始めの「何回か」で、2人ともが「表」を出したら
両者の心理は、「このまま表で手堅く二人で得点を分けようよ♪」というよう
に働くだろう。でも、100回って決まっているから、最後の一回だけ裏切ろう
とするだろうね。そうすると、最後から2回目、いやいや、3回目から裏切るのが
よいかな?

はっはぁ~、このようにして、1回だけでなく、前の結果を受けて新しく次の
手、次の手と100回順次考える。

このような「前の手を受けて繰り返しの戦術思考」を繰り返し型ゲーム理論といいます。
プログラムで実際組んで一定の結果を導びいて、それがゲーム理論の結果と一致
したことを証明してみせれば、プログラミング課題として充分良いものなんじゃないの?

例:
Aさんの思考戦術:とにかく表を出す
Bさんの思考戦術:とにかく裏を出す
Cさんの思考戦術:とにかく前回の相手の手を真似る。
Dさんの思考戦術:とにかく前回の相手の逆をする。
Eさんの思考戦術:とっても複雑にいろいろ考える。
F・・・
・・


このようにして、A vs Bが100対戦 A vs Cが100対戦・・・と言う感じで
リーグ戦のようにして、最も得点が高いものを優勝とする。

プログラムを組むときにも面白そうなんじゃない?

それぞれの思考モデルには「抽象的な思考モデル」があって、
そこから派生させて、「各々の具体的な思考モデル」を組めば良い。

戦わせるのはどーやってプログラムを組もうか・・・ さてさて。。。

さぁ、若者よがんばれ!

ゲーム理論についての本は、本屋よりも、(大学などの)図書館にあるだろう。
ゲーム理論自体は、経済学の分野なので、経済学の棚に言って一番簡単な本を
借りると良いよ。(ネットで調べても良いね)


ところで。。。
>そこで詳しく書いてあるテキスト、お勧めなどあれば教えてください。

は何を教えて欲しいのか分からないよ? お勧めのプログラムの本かい?
なんか課題にできそうなお勧めの本かい?(意味不明でッス)

学生さんですかぃ?

うーん、プログラムかぁ。BASICって決まってるの?

う~む。そうね~。
例えば、簡易な思考を持つ「ゲーム理論」シミュレーションなんぞおもしろいんじゃないの?
「ゲーム理論」と言ってもゲームじゃないよ。じゃんけんに良く似たようなものだね。

例えば、コインがあるでしょ。
いっせいのうでぃで、、、
・自分が「裏」で、相手が「表」だったら自分が3点、相手は0点
・自分が「表」で、相手が「裏」だったら自分が0点、相手は3点
・自分も相手も、両方「裏」だっ...続きを読む

QBASICでプログラミング

BASICでプログラミングを始めたいのですが、いろいろ分からないところがあります。
(1) Visual BASICやVisual BASIC.NETとは?BASICとの違いは?BASICを 勉強するにはどれをすればいいのでしょうか?
(2) BASICでのプログラミングは、書籍の購入だけで始められますか。 プログラミング用のソフトを買わなければならないのでしょうか?

Aベストアンサー

VISUAL BASIC 自身もこれまでに何度かバージョンアップをして新しい機能が付加されてきました。
Ver6.0以降に発表されてのが.NETで 
・オブジェクト指向の強化
・クラスの概念   等新しい機能が付加されました。現在はVB6は販売されていないと思います。
.NET Frameworkは、WEBのように、仮想のコンピュータ上で動かそうという概念で出来上がっています。C#でも、VB.NETでもこの上で起動するようになります。
http://okwave.jp/kotaeru.php3?q=1800956

参考URL:http://okwave.jp/kotaeru.php3?q=1800956

Qプログラミングの問題です

このプログラムは何をするものか詳しく説明しなさい。
100 FOR x=1 TO 100
110 FOR y=x TO 100
120 LET a=x
130 LET b=y
140 DO
150 LET r=MOD(a,b)
160 IF r=0 THEN EXIT DO
170 LET a=b
180 LET b=r
190 LOOP
200 IF b=1 THEN
210 LET z=SQR(x^2+y^2)
220 IF INT(z)=z THEN PRINT x,y,z
230 END IF
240 NEXT y
250 NEXT x

プログラムに関して初心者で、120~230(ほとんどですが…)の部分で何をしようとしているのかが分かりません。何か参考になるHPや考え方だけでも教えていただけないでしょうか。

Aベストアンサー

一つずつコメントします。

120 LET a=x … xの値をaに代入する。

150 LET r=MOD(a,b) … aをbで割った余りをrに代入する

140 DO
150 LET r=MOD(a,b)
160 IF r=0 THEN EXIT DO
170 LET a=b
180 LET b=r
190 LOOP
 …140から190まで処理するとまた140に戻る。
  rがゼロなら、200へ行く

200 IF b=1 THEN
210 LET z=SQR(x^2+y^2)
220 IF INT(z)=z THEN PRINT x,y,z
230 END IF
 … bが1なら、210と220を処理する
   210は、斜辺がzの直角三角形で、xとyからzを算出する
   220は、zがぴったり整数になる時に、x、y、zの書く値を出力する

たぶん、N88BASICだろうと思います。
このまま、入力し実行させてみたらいかがでしょうか。

http://e-words.jp/w/N88-BASIC.html

一つずつコメントします。

120 LET a=x … xの値をaに代入する。

150 LET r=MOD(a,b) … aをbで割った余りをrに代入する

140 DO
150 LET r=MOD(a,b)
160 IF r=0 THEN EXIT DO
170 LET a=b
180 LET b=r
190 LOOP
 …140から190まで処理するとまた140に戻る。
  rがゼロなら、200へ行く

200 IF b=1 THEN
210 LET z=SQR(x^2+y^2)
220 IF INT(z)=z THEN PRINT x,y,z
230 END IF
 … bが1なら、210と220を処理する
   210は、斜辺がzの直角三角形で、xとyからzを算出する
   220は...続きを読む


人気Q&Aランキング

おすすめ情報