[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/10 18:43 / Filesize : 288 KB / Number-of Response : 778
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 [04/06/10 18:05 ID:VshiFFV8]
ゲームに必要な要素を先生が出してくれます

その課題をクリアしていく講習会です

12 名前:生徒弐顎 mailto:sage [04/06/12 19:35 ID:wgfVLhUX]
>>11

>1 名前:名前は開発中のものです。 投稿日:04/06/10 18:05 ID:VshiFFV8
>ゲームに必要な要素を先生が出してくれます

>その課題をクリアしていく講習会です

このゲームって選べるの?
じゃあ、リアルタイムストラテジーでお願いします。
「ゲームが作りたい」ってのは暗黙の了解かもしれませんが誰も言ってないですよ。
適当なこと言わないでください。

13 名前:名前は開発中のものです。 mailto:sage [04/06/12 19:57 ID:g4kSpUbw]
「ゲームが作りたい」んじゃないの?
「ゲームは作りたくない」けど「ゲームに必要な要素」とやらをクリアしたいの?

何がしたいの?

14 名前:生徒弐顎 mailto:sage [04/06/12 20:05 ID:wgfVLhUX]
>>13
>>1に聞いてくださいよ(;´Д`)
あげてもない足を取られても対応に困りますよ
ゲームを作るのを見てるだけのスレだったら帰りますよ

15 名前:名前は開発中のものです。 mailto:sage [04/06/12 20:09 ID:g4kSpUbw]
>>14
喧嘩を売ってるわけじゃないのでごめんなさい。

「ゲームに必要な要素」が何を指しているのかさっぱりワカラネーと思ったもので。

16 名前:VshiFFV8 ◆g28oS.E2zA [04/06/12 20:10 ID:w+wQoi+K]
目標は「最終的にゲームが作れるようになる」です

17 名前:名前は開発中のものです。 mailto:sage [04/06/12 20:14 ID:g4kSpUbw]
>>16
入り口はどこからですか?

18 名前:名前は開発中のものです。 mailto:sage [04/06/12 20:15 ID:3RseVDDm]
課題1
ツクールXPを買え


19 名前:名前は開発中のものです。 mailto:sage [04/06/12 20:25 ID:FrFMdSS0]
>>18
先生!そのソフトの発売日まで1カ月以上ありますが、どうしたらいいんでしょうか?

20 名前:名前は開発中のものです。 mailto:sage [04/06/12 20:29 ID:g4kSpUbw]
ツクールXPで一本作って、それを元にどんどん下に落としていくのはアリかも。
「ゲームに必要な要素」は、ツクールを解析してそれを実装することで体現できる。




21 名前:生徒弐顎 mailto:sage [04/06/12 20:33 ID:thSusfHE]
>>15
こちらこそごめんなさい
売り言葉に買い言葉で熱くなってたようです

>>1さん降臨するまで身動き取れないですね
ゲームに必要な要素といえば……、と考えるだけで1スレ使っちゃいそうです
コンパイラを用意させるっていうことはゲーム(プログラミング)に必要な要素ってことで
アルゴリズムとデータ構造あたりじゃないかと妄想

プログラムの文法や一般的なアルゴリズムまでは覚えても
ゲームとなると参考にできるものがかなり減りますし
「迷路の自動生成」、「3dマップの自動生成」、「倉庫番の自動解き」、「格闘ゲームの敵キャラAI」とか
これらは今思いついただけですけど、答えは一つじゃないものを皆でワイワイ解きつつ
先生がヒントをくれるスレだったらいいなぁとか期待してみるテスト

>>16
よく見たら>>1さんじゃないですか!
トリップがブシとかFFとかちょっと縁起でもない感じですけど

>>18
体験版は購入済み
スクリプトが熱いですね
ツクールでも課題スレができれば楽しいかも



書き込み制限待ちでどんどん長文になっていくorz



22 名前:VshiFFV8@1 ◆g28oS.E2zA mailto:sage [04/06/12 21:17 ID:w+wQoi+K]
例えば
課題が「新規ウィンドウを開いて、画像を表示させる」であれば
自分の得意な言語(やりたい言語)で課題を無理やりにでもクリアする。
改善点を述べてもらい次の課題へ
(できない場合は先生にやさしくおしえてもらいましょう)

妄想してみました

23 名前:名前は開発中のものです。 mailto:sage [04/06/12 22:32 ID:5RZLD90Q]
要は段階的学習スレと同じってことですか。

24 名前:受験生 ◆3VUXqvbfSY [04/06/12 23:49 ID:g0Zkl09e]
>>20
ツクールで作り始めると…
プログラミングに移行できずに、終わる予感。

25 名前:名前は開発中のものです。 mailto:sage [04/06/13 00:55 ID:QEF1CnCV]
>>24
目的が「ゲームを作ること」ならそれはそれで幸せな予感

26 名前:名前は開発中のものです。 mailto:sage [04/06/13 00:59 ID:QEF1CnCV]
まあジャンルは様々なので、共通項目からまったりと考えますか。

課題1、ゲーム作成に用いるプログラミング言語を決める

27 名前:名前は開発中のものです。 mailto:sage [04/06/13 03:33 ID:T7mosLDP]
ツクールでつくれないんなら
あきらめた方がいいよ

28 名前:生徒弐顎 [04/06/13 15:45 ID:3gckKy9M]
>>22
先生!はやく次にどうすればいいのか指示ください。
>>11君と同じ疑問はみんな持ってると思います!
ていうか一晩考えたのですがやっぱり>>11君はスレも読まずにケンカを売ったようにしか見えません!!

一応、>>1>>3>>22の中で「新規ウィンドウを開いて、画像を表示させる」をやりたいっぽいのは伝わってきましたが
先生役をやる気がないなら早めのカミングアウトをお願いします。
コンパイラを用意させるとかソースを提出させるとかアイデアはいくつかあがってますが
先生が反応しないとどうしようもないので。

29 名前:名前は開発中のものです。 mailto:sage [04/06/13 16:04 ID:QEF1CnCV]
>>1には
>ゲームに必要な要素を先生が出してくれます
とある。"出してくれます"なので先生役はやらないと思われ


30 名前:生徒弐顎 [04/06/13 16:56 ID:3gckKy9M]
失敬、先生は>>2氏でしたね。
先生!コンパイラの用意できましたよ。



31 名前:4 ◆3VUXqvbfSY mailto:sage [04/06/13 17:01 ID:QH1r5fl5]
ん…ランダムを初期化して
ランダムを使い、1〜9までの数当てを作ってみましょう。

32 名前:生徒弐顎 [04/06/13 20:20 ID:3gckKy9M]
どこかで見たような課題ですね。
とりあえず言語はC/C++で問題ないですか?
採点のポイントをあらかじめ教えてくれるとやりやすいのですが。

33 名前:4 [04/06/13 20:35 ID:QH1r5fl5]
何でもOKですよ。
どの環境でも大差ないですから。

34 名前:名前は開発中のものです。 mailto:sage [04/06/13 21:08 ID:UiqEecMu]
うんこスレ発見

35 名前:生徒A mailto:sage [04/06/14 12:48 ID:Ki7OHh6M]
>>31 これでどうですか?一応C言語です

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

int main(void){
int num,endflag=0;
srand((unsigned)time( NULL ));
while(endflag==0){
printf("数値を入力してください。\n");scanf("%d",&num);
if(num == rand()%10){printf("正解です。\n");endflag=1;}
else if(num>rand()%10){printf("もっと小さいです\n");}
else{printf("もっと大きいです\n");}
}
return 0;

}

36 名前:4 ◆3VUXqvbfSY [04/06/14 15:21 ID:6UsS7uqF]
多分OKです。
今携帯から何で、確認できませんがw

ただし。randomに同様な確からしさを求めるならば、rand()*10/RAND_MAXの方が良いでしょう。
rand()%10だと…帰ってきた値とrandが返す最大値の関係が無視される事となり、従って、返す値が同様に確からしいかを確認できなくなります。

37 名前:名前は開発中のものです。 mailto:sage [04/06/14 16:42 ID:9xiGisv8]
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
I,N,F:Integer;
begin
Randomize;
I := Random(9);
Writeln('数字を入力してください');
while F = 0 do
try Readln(N);
if N = I then
begin
Writeln('正解です。Enterを押せば終了します。');
Readln; F := 1;
end else
if N > I then Writeln('もっと小さいです')
else
if N < I then Writeln('もっと大きいです');
Except
Writeln('数字を入力してください');
end;
end.
こんなんでどうでしょう

38 名前:名前は開発中のものです。 mailto:sage [04/06/14 16:44 ID:9xiGisv8]
uses
SysUtils;
ここは不要でした

39 名前:4 ◆3VUXqvbfSY [04/06/14 16:57 ID:6UsS7uqF]
やば…
>>35
二回ランダム使ってるよ…、ていうか、当てようがねぇ…
何か変数用意して、一回代入したら、もうランダム使っちゃダメだよ。毎回違う値がでるw

>>38
出来てますよ…うん。

40 名前:名前は開発中のものです。 mailto:sage [04/06/14 18:35 ID:wh7EkBpp]
君たち勉強不足だよ



41 名前:名前は開発中のものです。 mailto:sage [04/06/14 19:01 ID:EUCVAi2R]
ネット上の解説サイトより勉強するには本のほうがわかりやすいでしょうか?


42 名前:名前は開発中のものです。 mailto:sage [04/06/14 19:10 ID:FPxTvBCd]
>>41
図書館とかに良書が無いか?
正直、2Dならともかく3Dを作りたいなら本は必須だろ。

43 名前:名前は開発中のものです。 mailto:sage [04/06/14 21:10 ID:yg+Hb9+4]
<body><input id=t type=text><input id=b type=button value=決 onClick=ans()><script>
var a = (Math.random() * 9 | 0)+1;
function ans(){o = document.getElementById('t').value;if(o==a){window.alert('正解');location.reload();}
o>a?window.alert('大'):o<a?window.alert('小'):0;}
</script></body>

44 名前:名前は開発中のものです。 mailto:sage [04/06/14 21:47 ID:D7BWejst]
どんなソフトを使った方がいいんでしょうか?

45 名前:4 ◆3VUXqvbfSY [04/06/14 23:53 ID:6UsS7uqF]
>>35
凄く気になったんで、追記します。
何故time.hをインクルードしてるんですか?

46 名前:名前は開発中のものです。 mailto:sage [04/06/15 00:16 ID:1cIbBCDp]
>>45
randのシードに時間入れてるからじゃん
srand((unsigned)time( NULL )); ←この文で。

47 名前:4 [04/06/15 00:39 ID:OmG1F0sQ]
ごめん。俺がアホだった。
許して…


(^〜^)oO(酒は飲めども飲まれるな…酔って書くんじゃ無かった…)

48 名前:名前は開発中のものです。 mailto:sage [04/06/15 02:39 ID:ZV1P5DyI]
君たちレベル低いですよ

49 名前:生徒A [04/06/15 03:34 ID:9w200AiB]
>>48 確かにレベルが低い事は認めます。だって、
未だにポインタ&構造体が良く理解できないんで

まあ、それは良いとして、4さんありがとうございます。
35から改良したソースを書いときます。

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

int main(void){
int num,endflag=0,ans;
srand((unsigned)time( NULL ));
ans=rand()*10/RAND_MAX;
while(endflag==0){
printf("数値を入力してください。\n");scanf("%d",&num);
if(num == ans){printf("正解です。\n");endflag=1;}
else if(num>ans){printf("もっと小さいです\n");}
else{printf("もっと大きいです\n");}
}
return 0;
}

50 名前:名前は開発中のものです。 mailto:sage [04/06/15 11:35 ID:fWp+ET9z]
>>49
そういうことじゃない。
お前が今日やったことを書き並べていくだけの自己満足スレが邪魔だと言ってるだけ。
レベルが低くて見たところで誰も得しないし、
挙句に態度も無茶苦茶悪い。
あんた何様のつもりだ。



51 名前:名前は開発中のものです。 mailto:sage [04/06/15 13:15 ID:2D7N5vK5]
50はこのスレに来なくていいよ

52 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:08 ID:VVOVJCXy]
まぁ、実は云うとこのスレは重複スレであって

  【目標ない奴】おまいらに課題を与える。【集まれ】
  pc5.2ch.net/test/read.cgi/gamedev/1026148930/l50

無難に考えれば、上記スレに誘導ということになるわけだが
>>50のような排他厨房が出現して余計な真似をしやがるので
ここはしばらく様子を見守るとするか。


53 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:12 ID:VVOVJCXy]
ただ望むべくは
このスレの利用者がローカルルールに則って自発的に
pc5.2ch.net/test/read.cgi/gamedev/1026148930/l50
に移動するような流れを作り出すことである。君等の善意に期待しよう。

54 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:26 ID:fJJvgQKc]
旧課題スレはリレーで作品を作るスレ
このスレは先生がお題を出して採点するスレ

そこは間違えるなよ

55 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:32 ID:VVOVJCXy]
あーそうなの。微妙なんだね。

56 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:34 ID:VVOVJCXy]
ちなみに、俺は旧スレでソースを出していた者だが
別にリレーするスレではなかったので、その意味での
拘束条件はないと思っていい。


57 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:53 ID:jTaFbPw8]
>>52-53
pc5.2ch.net/test/read.cgi/gamedev/1026148930/l50

おー、そんな良スレが既にあったんですね。
>>1ではありませんが、よく見てなかったです。ゴメンなさい。
個人的にはスレ乱立は本意ではないですし、このスレでなければ
困るという理由も無いんで、移動に一票入れときます。

今、あちらのスレのログを読んでます。とても勉強になります。

58 名前:名前は開発中のものです。 mailto:sage [04/06/15 15:58 ID:VVOVJCXy]
>>57
ガンガレー

59 名前:名前は開発中のものです。 mailto:sage [04/06/15 16:47 ID:fJJvgQKc]
こういうスレが好みならいっぱいあるぞ
もう1つぐらいあった気がする

>>1も行方不明だし移動しない理由もないな

ズブの初心者がゲーム作れるまで勉強するスレ
pc5.2ch.net/test/read.cgi/gamedev/1005132370/
■自主製作ゲーム:開発状況報告スレVer0.3■
pc5.2ch.net/test/read.cgi/gamedev/1071809112/
初心者専用スレ「シミュレーションゲーム」を作らない?
pc5.2ch.net/test/read.cgi/gamedev/1079745509/
初心者専用スレ「パックマン」風ゲーム作らない?
pc5.2ch.net/test/read.cgi/gamedev/1014326802/
STGを最初からみんなで作るスレ
pc5.2ch.net/test/read.cgi/gamedev/1014709311/
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
pc5.2ch.net/test/read.cgi/gamedev/1051110669/

60 名前:名前は開発中のものです。 mailto:sage [04/06/15 16:52 ID:fJJvgQKc]
あまりレスがつかなかったスレは貼らなかったが実際はもっと乱立してる
これ以上の乱立を防ぐためにもローカルルールで告知しておいたほうがいいんじゃないか?



61 名前:名前は開発中のものです。 mailto:sage [04/06/15 17:29 ID:dz0re3XK]
>>59
thx

62 名前:61 mailto:sage [04/06/15 17:32 ID:dz0re3XK]
途中で送信しちゃった。えと、向こうのスレでガンバリまつ!

63 名前:名前は開発中のものです。 mailto:sage [04/06/15 17:36 ID:DDwACq7t]
参加します、HSPだけど・・・

suuzi=1
kazu=0
randomize
rnd kazu,10
mes "数値を入力してください。"
*main
input suuzi
button "よし!",*hantei
stop
*hantei
cls
if 9<suuzi: mes "1から9までですよ。"goto*main
if 1>suuzi: mes "1から9までですよ。"goto*main
if kazu>suuzi:mes"もっと大きいよ。"goto*main
if kazu<suuzi:mes"もっと小さいよ。"goto*main
if kazu=suuzi:mes"あったりー!"

64 名前:4 ◆3VUXqvbfSY [04/06/15 20:16 ID:OmG1F0sQ]
>>63
はい、正解です。



さて…次の課題は、素数です。
ゲームとは直接関係有りませんが、プログラムをやるなら、必ず一度は作るらしい!そんな課題です。

どの方法(アルゴリズム)を使っても構いません。
また、速度を追求させもしません。
ただし、速くしたいなら、どんどん高速化してみると楽しいですよ。

とりあえず、小さい方から1000個の素数を見つけるプログラムを作成してください。

65 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/15 20:22 ID:DDwACq7t]
>>64
とりあえず素数について調べてきます。

66 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/15 23:24 ID:DDwACq7t]
kuri=2
wara=2;割られる数
a=0
hyozi=0
*reset
waru=2;割る数
kota=0;答え
hante=0;判定
*sosu1000
if kuri-2<1 : goto*owari
REPEAT kuri
kota=wara/waru
if kota!1 : hante+1,break
waru+1
LOOP
*owari

if hante=0 : wara+1,kuri+1,goto*reset
hyozi+1
mes ""+wara+""
if hyozi=1000 : stop
wara+1
goto*reset

ここまで作ってたらなんだか自分で何作ってんのかわからなくなりますた。
作り直します。

67 名前:生徒A mailto:sage [04/06/15 23:36 ID:9w200AiB]
>50

僕の発言と態度がそんなに誤解を与えたなら謝りたいと思います。
すいませんでした。

素数ですか…、そういえば「エラトステネスのふるい」のアルゴリズム
が有名ですよね

高校の時の先生におおまかな考え方だけ教えてもらったきりですが

68 名前:生徒A mailto:sage [04/06/16 00:25 ID:aSS5sxrF]
とりあえず、エラトステネスのふるいを使わないで考えたプログラムです

/*1より大きい整数のうち,1と自分自身以外の整数では
割り切れないような整数を素数というらしい*/

#include<stdio.h>

int main(void)

{
/*小さい方から1000個の素数を見つけるプログラム*/
int count=0,chknum;
int i,j;

/*素数かどうかを判断するには、2からその数値のすぐ下まで全て割り切れないかどうかを判断する*/

for(j=0;count<1000;j++){
chknum=j;
for(i=2;i<=chknum;i++){
if(i==chknum){/* この条件が当てはまれば素数になる */
count++;/*カウンタをインクリメント*/
printf(" %d(%d個目発見!)",chknum,count);
}
else if(chknum%i == 0){ /* i!=chknum の状態で 割り切れるなら */
/*この条件が成り立つ時は、素数じゃないので*/
break;/*内側のループのみ脱出する*/
}
}
}
return (0);
}

69 名前:名前は開発中のものです。 mailto:sage [04/06/16 01:31 ID:E0t6wJPT]
>>68
動作上は問題ないけど、ヘンなクセがあって読みにくいね。
先生のお手本キボンヌ。

70 名前:名前は開発中のものです。 mailto:sage [04/06/16 01:41 ID:qW9lKpJw]
>>68
間違ってる希ガス。
1000までの数の中の素数を上げるんじゃないですよん。
変数chknumが必要かもう一度考え直してみなはれ。(こっちのが見やすいかもしんないけど)



71 名前:4 ◆3VUXqvbfSY [04/06/16 08:42 ID:XOSz7qTz]
模範解答は用意しましたよ。
でも、発表は答えが出そろってからにします。

72 名前:名前は開発中のものです。 mailto:sage [04/06/16 09:07 ID:E0t6wJPT]
>>70
最初、オレもそう思ったけど、
問題には、小さい方から1000個って書いてある悪感。

for(j=0;count<1000;j++){
これが紛らわしい。

73 名前:名前は開発中のものです。 [04/06/16 14:41 ID:Zcc4AjKX]

              ∩
             | |
             | |
       ∧_∧  | |    / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
      ( ´Д`)//  < 先生!今から参加していいですか?
      /     /    \_______________
     / /|    /
  __| | .|     | __
  \   ̄ ̄ ̄ ̄ ̄   \
  ||\            \
  ||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
  ||  || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
     .||              ||

数当てゲーム
gamdev.org/up/img/706.zip

74 名前:生徒(C++) mailto:sage [04/06/16 15:06 ID:KVxQtTo1]
先生、標準講座C++という本を読み終わった程度ですが参加してみます。
でもアルゴリズムは全然知らないので、総当りです。

#include<iostream>
#include<list>
using namespace std;
int main()
{//総当りで素数を探す
 list<int> prime;//素数
 int num=2;//走査する値
 while(1)
 {
  for(list<int>::iterator itr=prime.begin();itr!=prime.end();itr++)
   if(num%(*itr)==0)break;//素数以外はループを抜ける
  if(itr==prime.end())prime.push_back(num);//素数は保存
  if(prime.size()==1000)break;//1000個目で終了
  num++;//値を1増やす
 }
 cout<<"1000個目の素数:"<<(*prime.rbegin())<<endl;
 return 0;
}


75 名前:4 [04/06/16 15:59 ID:XOSz7qTz]
参加は嬉しい限りですよね >>1さん
でもむしろ…先生役やりたい人誰か居ない?
激しく募集中です…

76 名前:名前は開発中のものです。 mailto:sage [04/06/16 18:33 ID:Ls5cfn3b]
<html><body><script>
function s(n){
for (i=2;i<=n/2;i++)if(n%i==0)return false;
return true;
}
o="2,3,";c=0;
for(j=4;;j++){
if (s(j)){c++;o+=j+',';}
if (c>999)break;
}
document.write(o);
</script></body></html>

77 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/16 20:42 ID:KZI0wz/S]
挫折しますた・・・orz

78 名前:名前は開発中のものです。 mailto:sage [04/06/16 22:21 ID:uyNGxE8j]
>>77
ttp://www.ese.yamanashi.ac.jp/~morisawa/sc2001/Eratosthenes.html


79 名前:名前は開発中のものです。 mailto:sage [04/06/16 23:54 ID:E0t6wJPT]
>>77
どこでどう挫折したのか書いてみましょうよ。

80 名前:名前は開発中のものです。 mailto:sage [04/06/17 00:05 ID:AAkEHKib]
よし、俺も素数のと数当てやってみる



81 名前:名前は開発中のものです。 mailto:sage [04/06/17 00:44 ID:AAkEHKib]
#include <stdio.h>
#include <math.h>

int IsPrime(int);

int main()
{
int i, n = 1;
printf(" 2 ");
for(i = 0; i < 999; i++){
for(n+=2; IsPrime(n) == 0; n+=2);
printf("%4d ", n);
}
return 0;
}

int IsPrime(int n)
{
int i;
if(n % 2 == 0 && n != 2) return 0;
for(i = 3; i <= sqrt(n); i += 2)
if(n % i == 0) return 0;
return 1;
}

2を出すべきか出さざるべきか小一時間悩んだ…

82 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/17 07:40 ID:wIlIrMhO]
>>78
結構難しそうっすね。
>>79
2から自分自身のまで順番に割ってって計算結果が1以外だったら自分自身の数を1足してやりなおして、計算結果が1だけだったらその数を表示するってようにしたんですが。

83 名前:名前は開発中のものです。 mailto:sage [04/06/17 10:39 ID:qLkBm+a6]
その考え方で問題ないか確認してみる。...のあとの数字は余り。

5/1 = 5 ... 0
5/2 = 2 ... 1
5/3 = 1 ... 2
5/4 = 1 ... 1
5/5 = 1 ... 0

6/1 = 6 ... 0
6/2 = 3 ... 0
6/3 = 2 ... 0
6/4 = 1 ... 2
6/5 = 1 ... 1
6/6 = 1 ... 0

84 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/18 15:04 ID:uMGX0XjB]
>>83
駄目でしたか・・・・もう一度がんばります!

85 名前:名前は開発中のものです。 mailto:sage [04/06/19 14:57 ID:W8craWnM]
#include <stdio.h>
void main()
{
unsigned long cun;
int a,i;
printf("2\n");
for(i=3;i<=1000;i+=2){
for(a=3;a<i;a+=2){
cun++;
if(i%a==0)
break;
}
if(i==a)
printf("%d\n");
}
}
暇なんで参加

86 名前:85 mailto:sage [04/06/19 14:58 ID:W8craWnM]
unsigned long cun; とcun++;
は無視で <(_ _)>

87 名前:名前は開発中のものです。 mailto:sage [04/06/19 17:01 ID:olZSV2kJ]
>>85-86
Upするまえにテストしよ〜よ。
それから、問題文をちゃんと読むべし。

88 名前:生徒A mailto:sage [04/06/19 19:27 ID:GZf8LDr8]
そういえば、新しい課題って無いの?


89 名前:名前は開発中のものです。 mailto:sage [04/06/19 20:08 ID:hqj9xu9C]
素数とかはロジックを考えるのは大切だけど、できてもあまり嬉しくないからなぁ。
かといって特定の分野に特化すると、それぞれの分野には初心者スレがあるし。
「適当なウィンドウを作成してsin波形を描画する」あたりはどう?


90 名前:4 ◆3VUXqvbfSY [04/06/19 21:47 ID:wn6hjF1m]
良いねその課題!…ってチョットレベル上がり杉な…
…まあ良いか…
でもまずは、640*480のウィンドウに
(0,0)320*240の赤い四角を描いてください。




91 名前:4 ◆3VUXqvbfSY [04/06/19 22:17 ID:wn6hjF1m]
前課題解答例

#include <stdio.h>

int Check_Prime(long n)//素数判定
{
long loops;
loops=1;
while(loops*loops < n)
{
if(loops>2)loops+=2;
else loops++;
if(n%loops==0)return 1;
}
return 0;
}

void main(void)
{
long loops=2,m=1;
printf("%ld %ld\n",m,loops);
while(m<2000)
{
m++;
printf("%ld %ld\n",m,loops);
}
if(loops>2)loops+=2;
else loops++;
}

92 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/19 22:23 ID:D2QJG2Dd]
素数は無理でしたが・・・
>>90の課題はできました。

WIDTH 640,480
COLOR 255
BOXF 320,240,1,0
stop

93 名前:63 ◆xdaKt6k1XI mailto:sage [04/06/19 22:24 ID:D2QJG2Dd]
>>92
BOXF 320,240,1,0

BOXF 320,240,0,0
です。

94 名前:4 [04/06/19 22:25 ID:wn6hjF1m]
ミスった(汗。訂正
void main(void)
{
long loops=2,m=1;
printf("%ld %ld\n",m,loops);
while(loops<2000)
{
if(Check_Prime(loops)==0)
{
m++;
printf("%ld %ld\n",m,loops);
}
if(loops>2)loops+=2;
else loops++;
}
}

95 名前:生徒A mailto:sage [04/06/20 04:33 ID:9LoKJ5Oe]
なんだか、構造体とかポインタとかWin32APIとかGDIとかメッセージループとか
難しすぎなんですけど…

できたには、できました。

#include "windows.h"
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow )
{
WNDCLASSEX wcex;HWND hWnd;MSG msg;
// ウィンドウクラス構造体を設定
wcex.cbSize = sizeof(WNDCLASSEX);wcex.style = CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;wcex.hInstance = hInstance;wcex.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wcex.hCursor = LoadCursor(NULL, IDC_ARROW);wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wcex.lpszMenuName = NULL;wcex.lpszClassName = "ModelApp";
wcex.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
// ウインドウクラスを登録
RegisterClassEx(&wcex);
// ウインドウを作成
hWnd = CreateWindow(wcex.lpszClassName,
"640×480のウィンドウ上の(0,0)へ320×240の赤い四角を描く",
WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,640,480,NULL,NULL,hInstance,NULL);
ShowWindow(hWnd, nCmdShow);UpdateWindow(hWnd);
// メッセージループ
while(GetMessage(&msg, NULL, 0, 0))
{TranslateMessage(&msg);DispatchMessage(&msg);}return msg.wParam;
}


96 名前:生徒A mailto:sage [04/06/20 04:33 ID:9LoKJ5Oe]
// ウインドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;PAINTSTRUCT ps;static HPEN hPen;static HBRUSH hBr;
RECT box;box.bottom =480;box.left =0;box.right =640;box.top =0;
// メッセージの種類に応じて処理を分岐
switch (message){
case WM_CREATE:hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));hBr=CreateSolidBrush(0x00000000);
return 0;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);SelectObject(hDC,hBr);FillRect(hDC,&box,hBr);
SelectObject(hDC,hPen);Rectangle(hDC,0,0,320,240);EndPaint(hWnd,&ps);return 0;
case WM_DESTROY:PostQuitMessage(0);return 0;
default:return DefWindowProc(hWnd, message, wParam, lParam);}
}



97 名前:生徒A mailto:sage [04/06/20 04:36 ID:9LoKJ5Oe]
正直、4行で実現できるHSPがうらやましいと思った…

98 名前:名前は開発中のものです。 [04/06/20 04:46 ID:l91pLvEB]
ここはJavaでは参加できないですか?

99 名前:名前は開発中のものです。 mailto:sage [04/06/20 07:05 ID:w0wGxy3B]
>>98
問題ないと思いますよ

100 名前:名前は開発中のものです。 mailto:sage [04/06/20 07:50 ID:NlSC2nfH]
赤い四角
<html><body><script>
s='<body><div style="position:absolute;left:0px;top:0px;background-color:Red;width:320px;height:240;"></div></body>';
window.open('','','width=640,height=480').document.write(s);
</script></body></html>




101 名前:名前は開発中のものです。 mailto:sage [04/06/20 07:51 ID:NlSC2nfH]
SIN波
<html><body></div><script>
var a=[];
for(i=0;i<10000;i++)a[i]=0;
for(i=0;i<100;i++)a[(Math.sin(Math.PI/50*i)*50+50|0)*100+i]=1;
var s='<body><font face="MS ゴシック" style="font-size:4px;">';
for(i=0;i<100;i++){for(j=0;j<100;j++)s+=a[i*100+j]?'■':' ';s+='<br>';}
s+='</font></body>';
window.open('','','width=640,height=480').document.write(s);
</script></body></html>


102 名前:名前は開発中のものです。 mailto:sage [04/06/20 11:15 ID:B7NIG/G/]
画面を黒でクリアする方法ってこれでいいんですか?
void Clear(void)
{
SelectObject(hDC , GetStockObject(BLACK_BRUSH));
Rectangle(hDC , 0 , 0 , WIDTH , HEIGHT);
}

103 名前:名前は開発中のものです。 mailto:sage [04/06/21 12:47 ID:X4sdLydq]
>>102
イイともワルいともいえないというか、
ウィンドウを更新するとか必要だけど、まぁ、そんな感じ。

つーか、先生はどこだ?!

104 名前:4 ◆3VUXqvbfSY [04/06/21 13:24 ID:xh+2kWgx]
ココw
…まあ、VCの人が出来てんだから、sinの課題も可能か…

sinの方の制作もどうぞ。

さて…みなさんに質問です。
これから、ゲーム制作を開始してみます。
次の課題は、インベーダーとテトリス
どちらがいいですか?

いや…どっちが基本的ですかね?
とりあえず、プログラムの特徴は

インベーダー:かなり基本的なシューティング。当たり判定とキー判定がネック。また、あの敵の大群を纏めて動かすのも結構めんどい。高速化も要るかも。

テトリス:かなり基本的なパズル。回転の処理、消しの判定、落ち判定がネック。とは言え、これ自体はさして大変ではない。インベーダーより楽に見えるが、向こうより単純な分、テスト回数が少なく、飽きるかもw

まあ、どちらも一気にはつくりませんw
方向性が決まったら、ボトムアップに作りましょうw

105 名前:名前は開発中のものです。 mailto:sage [04/06/21 13:30 ID:Z9w22r4l]
>>102
DCはグローバルで持ってるのか?引数で渡した方が良いぞ。

106 名前:名前は開発中のものです。 mailto:sage [04/06/21 15:47 ID:6NF9APWD]
どちらにせよソースが収まらない悪寒

107 名前:x≠先生かつx=生徒 ⇒ x=俺 mailto:sage [04/06/21 18:09 ID:X+fe3iOx]
HSP版
#include "hspext.as"

pos 0, 240
repeat 640
emsin sin, cnt\256
line cnt, 240+(sin*240/256)
loop
stop


108 名前:名前は開発中のものです。 mailto:sage [04/06/21 19:41 ID:/2qctf8W]
テトリスは専用スレがあるし、JavaScriptで7行に収まったりと、
ネタが出尽くしているので飽きてます。

109 名前:名前は開発中のものです。 mailto:sage [04/06/21 19:57 ID:8Xx3uQUF]
237 名前:名前は開発中のものです。[sage] 投稿日:03/09/21(日) 18:16 ID:vg0x9Gpj
>>227
www.excite.co.jp/world/url/body?wb_url=http%3A%2F%2Fwww.gamedev.net%
2Freference%2Fdesign%2Ffeatures%2Fmakegames%2Fpage2.asp&wb_lp=ENJA&wb_dis=2

テトリス→ブロック崩し→パックマン→スーパーマリオ→ギャラガ
がいいらしい

リンク先のスーパーマリオ2が違うゲーム(夢工場?)に見えるけどなんなんだろ


110 名前:名前は開発中のものです。 mailto:sage [04/06/21 20:05 ID:B4V2NoLh]
メッセージループを使う60fpsのゲームにして欲しい。
後々こっちのほうが役に立つと思う。



111 名前:生徒A mailto:sage [04/06/21 21:54 ID:jNWjDlXF]
とりあえず、sinカーブの方を少し遅れたんですが、作ってみました。

一番先頭に#include<math.h>を付けたら、あとはキャプション以外は、ウィンドウプロシージャーしか違わないので
そこだけ書く事にしました。

// ウインドウプロシージャ
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
{
HDC hDC;PAINTSTRUCT ps;static HPEN hPen;static HBRUSH hBr;
RECT box;box.bottom =480;box.left =0;box.right =640;box.top =0;
int x=0,y,k=0; double rad=3.14159/180;
// メッセージの種類に応じて処理を分岐
switch (message){
case WM_CREATE:
hPen=CreatePen(PS_SOLID,1,RGB(255,0,0));hBr=CreateSolidBrush(0x00000000);
return 0;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);SelectObject(hDC,hBr);FillRect(hDC,&box,hBr);
for(x=0;x<=640;x++){
y=(int)(sin((double)k*rad)*100.0+240.0);
x++; k++;
if(k>360)k=0;
SelectObject(hDC,hPen); SetPixel(hDC,x,y,RGB(255,0,0));
}
EndPaint(hWnd,&ps);
return 0;
case WM_DESTROY:PostQuitMessage(0);return 0;
default:return DefWindowProc(hWnd, message, wParam, lParam);}
}



112 名前:生徒A mailto:sage [04/06/21 21:57 ID:jNWjDlXF]
私は、インベーダーの方が良いと思います。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<288KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef