X



【初心者】課題をクリアしていくスレ【講習会】
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
04/06/10 18:05ID:VshiFFV8
ゲームに必要な要素を先生が出してくれます

その課題をクリアしていく講習会です
0002先生
垢版 |
04/06/10 18:07ID:4pS/jyZe
まずはコンパイラを用意しましょう。
用意できました?
0003VshiFFV8 ◆g28oS.E2zA
垢版 |
04/06/10 18:08ID:VshiFFV8
IDをコテにしてみます
0004受験生 ◆3VUXqvbfSY
垢版 |
04/06/10 23:09ID:aWWFz+nO
言語が解んなきゃ、出しようがないが…

C++ > ウィンドウを作ってみましょう。
VS.NET +VB > ビットマップでも読んでみましょう。
JAVA > …微妙…
0005名前は開発中のものです。
垢版 |
04/06/11 00:07ID:RD6vZgkI
まずツクールXPを買え
0007名前は開発中のものです。
垢版 |
04/06/11 00:53ID:Lftmabuj
HSPなんて使い物にならん
cygwinもしくはmingwでgccにしませう。
SDLを使えば2D表示、キー入力ぐらいは一瞬で出来るから
導入段階での難易度もいい感じだと思ふ。
0009名前は開発中のものです。
垢版 |
04/06/11 15:28ID:9L7vxxOM
君望2関連
・「近日お伝えできると思います」的な表現が今月末頃か雑誌などに
・主人公は白陵の大学生。
・物語中期に主人公が事故で大怪我
・君望2のスタッフは基本的に前作と変わってないらしい
・慎二は大学のサークルの先輩として普通に出てくる。
・病院で文緒がからんでくる、天川はやっぱり死んでる。
・時期設定は君望2章の3年後。
・マブラヴはなかった事になってる
・君望2のヒロインは年下の幼なじみと同じサークルの女子大生。
・物語中盤でどっちかのヒロインが死ぬ構成らしい。
・君望2の発表がまだなのはオルタの発売日が決まらないから。

age(アージュ)新作 〜君が望む永遠2〜 Part10
http://ex5.2ch.net/test/read.cgi/shar/1054887959/


0010生徒弐顎
垢版 |
04/06/12 18:19ID:wgfVLhUX
先生!コンパイラの準備とウィンドウ表示までできました
次は何したらいいですか?

>>4
先輩!RADツールだとBMPの表示まではソース描かなくてよさそうな気がしますよ!いいんですか?
それとVS.NET +VBってVB.NETのことですか?

>>5
7月22日発売

>>6
もちろんです!HSP利用者も一緒に課題をクリアしていきまっしょい!

>>7
OpenGLみたいなものですか?
0011名前は開発中のものです。
垢版 |
04/06/12 18:41ID:g4kSpUbw
「何したらいいですか?」って、おまいは何がしたいんですか。
「ゲームが作りたい」だけじゃ漠然としすぎてる。
0012生徒弐顎
垢版 |
04/06/12 19:35ID:wgfVLhUX
>>11

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

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

このゲームって選べるの?
じゃあ、リアルタイムストラテジーでお願いします。
「ゲームが作りたい」ってのは暗黙の了解かもしれませんが誰も言ってないですよ。
適当なこと言わないでください。
0013名前は開発中のものです。
垢版 |
04/06/12 19:57ID:g4kSpUbw
「ゲームが作りたい」んじゃないの?
「ゲームは作りたくない」けど「ゲームに必要な要素」とやらをクリアしたいの?

何がしたいの?
0014生徒弐顎
垢版 |
04/06/12 20:05ID:wgfVLhUX
>>13
>>1に聞いてくださいよ(;´Д`)
あげてもない足を取られても対応に困りますよ
ゲームを作るのを見てるだけのスレだったら帰りますよ
0015名前は開発中のものです。
垢版 |
04/06/12 20:09ID:g4kSpUbw
>>14
喧嘩を売ってるわけじゃないのでごめんなさい。

「ゲームに必要な要素」が何を指しているのかさっぱりワカラネーと思ったもので。
0016VshiFFV8 ◆g28oS.E2zA
垢版 |
04/06/12 20:10ID:w+wQoi+K
目標は「最終的にゲームが作れるようになる」です
0020名前は開発中のものです。
垢版 |
04/06/12 20:29ID:g4kSpUbw
ツクールXPで一本作って、それを元にどんどん下に落としていくのはアリかも。
「ゲームに必要な要素」は、ツクールを解析してそれを実装することで体現できる。
0021生徒弐顎
垢版 |
04/06/12 20:33ID:thSusfHE
>>15
こちらこそごめんなさい
売り言葉に買い言葉で熱くなってたようです

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

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

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

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



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

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

妄想してみました
0024受験生 ◆3VUXqvbfSY
垢版 |
04/06/12 23:49ID:g0Zkl09e
>>20
ツクールで作り始めると…
プログラミングに移行できずに、終わる予感。
0026名前は開発中のものです。
垢版 |
04/06/13 00:59ID:QEF1CnCV
まあジャンルは様々なので、共通項目からまったりと考えますか。

課題1、ゲーム作成に用いるプログラミング言語を決める
0028生徒弐顎
垢版 |
04/06/13 15:45ID:3gckKy9M
>>22
先生!はやく次にどうすればいいのか指示ください。
>>11君と同じ疑問はみんな持ってると思います!
ていうか一晩考えたのですがやっぱり>>11君はスレも読まずにケンカを売ったようにしか見えません!!

一応、>>1>>3>>22の中で「新規ウィンドウを開いて、画像を表示させる」をやりたいっぽいのは伝わってきましたが
先生役をやる気がないなら早めのカミングアウトをお願いします。
コンパイラを用意させるとかソースを提出させるとかアイデアはいくつかあがってますが
先生が反応しないとどうしようもないので。
0029名前は開発中のものです。
垢版 |
04/06/13 16:04ID:QEF1CnCV
>>1には
>ゲームに必要な要素を先生が出してくれます
とある。"出してくれます"なので先生役はやらないと思われ
0030生徒弐顎
垢版 |
04/06/13 16:56ID:3gckKy9M
失敬、先生は>>2氏でしたね。
先生!コンパイラの用意できましたよ。
00314 ◆3VUXqvbfSY
垢版 |
04/06/13 17:01ID:QH1r5fl5
ん…ランダムを初期化して
ランダムを使い、1〜9までの数当てを作ってみましょう。
0032生徒弐顎
垢版 |
04/06/13 20:20ID:3gckKy9M
どこかで見たような課題ですね。
とりあえず言語はC/C++で問題ないですか?
採点のポイントをあらかじめ教えてくれるとやりやすいのですが。
00334
垢版 |
04/06/13 20:35ID:QH1r5fl5
何でもOKですよ。
どの環境でも大差ないですから。
0035生徒A
垢版 |
04/06/14 12:48ID: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;

}
00364 ◆3VUXqvbfSY
垢版 |
04/06/14 15:21ID:6UsS7uqF
多分OKです。
今携帯から何で、確認できませんがw

ただし。randomに同様な確からしさを求めるならば、rand()*10/RAND_MAXの方が良いでしょう。
rand()%10だと…帰ってきた値とrandが返す最大値の関係が無視される事となり、従って、返す値が同様に確からしいかを確認できなくなります。
0037名前は開発中のものです。
垢版 |
04/06/14 16:42ID: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.
こんなんでどうでしょう
00394 ◆3VUXqvbfSY
垢版 |
04/06/14 16:57ID:6UsS7uqF
やば…
>>35
二回ランダム使ってるよ…、ていうか、当てようがねぇ…
何か変数用意して、一回代入したら、もうランダム使っちゃダメだよ。毎回違う値がでるw

>>38
出来てますよ…うん。
0043名前は開発中のものです。
垢版 |
04/06/14 21:10ID: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>
00454 ◆3VUXqvbfSY
垢版 |
04/06/14 23:53ID:6UsS7uqF
>>35
凄く気になったんで、追記します。
何故time.hをインクルードしてるんですか?
00474
垢版 |
04/06/15 00:39ID:OmG1F0sQ
ごめん。俺がアホだった。
許して…


(^〜^)oO(酒は飲めども飲まれるな…酔って書くんじゃ無かった…)
0049生徒A
垢版 |
04/06/15 03:34ID: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;
}
0050名前は開発中のものです。
垢版 |
04/06/15 11:35ID:fWp+ET9z
>>49
そういうことじゃない。
お前が今日やったことを書き並べていくだけの自己満足スレが邪魔だと言ってるだけ。
レベルが低くて見たところで誰も得しないし、
挙句に態度も無茶苦茶悪い。
あんた何様のつもりだ。
0052名前は開発中のものです。
垢版 |
04/06/15 15:08ID:VVOVJCXy
まぁ、実は云うとこのスレは重複スレであって

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

無難に考えれば、上記スレに誘導ということになるわけだが
>>50のような排他厨房が出現して余計な真似をしやがるので
ここはしばらく様子を見守るとするか。
0054名前は開発中のものです。
垢版 |
04/06/15 15:26ID:fJJvgQKc
旧課題スレはリレーで作品を作るスレ
このスレは先生がお題を出して採点するスレ

そこは間違えるなよ
0056名前は開発中のものです。
垢版 |
04/06/15 15:34ID:VVOVJCXy
ちなみに、俺は旧スレでソースを出していた者だが
別にリレーするスレではなかったので、その意味での
拘束条件はないと思っていい。
0057名前は開発中のものです。
垢版 |
04/06/15 15:53ID:jTaFbPw8
>>52-53
http://pc5.2ch.net/test/read.cgi/gamedev/1026148930/l50

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

今、あちらのスレのログを読んでます。とても勉強になります。
0059名前は開発中のものです。
垢版 |
04/06/15 16:47ID:fJJvgQKc
こういうスレが好みならいっぱいあるぞ
もう1つぐらいあった気がする

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

ズブの初心者がゲーム作れるまで勉強するスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1005132370/
■自主製作ゲーム:開発状況報告スレVer0.3■
http://pc5.2ch.net/test/read.cgi/gamedev/1071809112/
初心者専用スレ「シミュレーションゲーム」を作らない?
http://pc5.2ch.net/test/read.cgi/gamedev/1079745509/
初心者専用スレ「パックマン」風ゲーム作らない?
http://pc5.2ch.net/test/read.cgi/gamedev/1014326802/
STGを最初からみんなで作るスレ
http://pc5.2ch.net/test/read.cgi/gamedev/1014709311/
【Delphi】 ゲームつくるぞ(゚Д゚)ゴルァ 【作れば?】
http://pc5.2ch.net/test/read.cgi/gamedev/1051110669/
0060名前は開発中のものです。
垢版 |
04/06/15 16:52ID:fJJvgQKc
あまりレスがつかなかったスレは貼らなかったが実際はもっと乱立してる
これ以上の乱立を防ぐためにもローカルルールで告知しておいたほうがいいんじゃないか?
006261
垢版 |
04/06/15 17:32ID:dz0re3XK
途中で送信しちゃった。えと、向こうのスレでガンバリまつ!
0063名前は開発中のものです。
垢版 |
04/06/15 17:36ID: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"あったりー!"
00644 ◆3VUXqvbfSY
垢版 |
04/06/15 20:16ID:OmG1F0sQ
>>63
はい、正解です。



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

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

とりあえず、小さい方から1000個の素数を見つけるプログラムを作成してください。
006663 ◆xdaKt6k1XI
垢版 |
04/06/15 23:24ID: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

ここまで作ってたらなんだか自分で何作ってんのかわからなくなりますた。
作り直します。
0067生徒A
垢版 |
04/06/15 23:36ID:9w200AiB
>50

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

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

高校の時の先生におおまかな考え方だけ教えてもらったきりですが
0068生徒A
垢版 |
04/06/16 00:25ID: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);
}
0070名前は開発中のものです。
垢版 |
04/06/16 01:41ID:qW9lKpJw
>>68
間違ってる希ガス。
1000までの数の中の素数を上げるんじゃないですよん。
変数chknumが必要かもう一度考え直してみなはれ。(こっちのが見やすいかもしんないけど)
00714 ◆3VUXqvbfSY
垢版 |
04/06/16 08:42ID:XOSz7qTz
模範解答は用意しましたよ。
でも、発表は答えが出そろってからにします。
0072名前は開発中のものです。
垢版 |
04/06/16 09:07ID:E0t6wJPT
>>70
最初、オレもそう思ったけど、
問題には、小さい方から1000個って書いてある悪感。

for(j=0;count<1000;j++){
これが紛らわしい。
0073名前は開発中のものです。
垢版 |
04/06/16 14:41ID:Zcc4AjKX

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

数当てゲーム
http://gamdev.org/up/img/706.zip
0074生徒(C++)
垢版 |
04/06/16 15:06ID: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;
}
00754
垢版 |
04/06/16 15:59ID:XOSz7qTz
参加は嬉しい限りですよね >>1さん
でもむしろ…先生役やりたい人誰か居ない?
激しく募集中です…
0076名前は開発中のものです。
垢版 |
04/06/16 18:33ID: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>
0081名前は開発中のものです。
垢版 |
04/06/17 00:44ID: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を出すべきか出さざるべきか小一時間悩んだ…
008263 ◆xdaKt6k1XI
垢版 |
04/06/17 07:40ID:wIlIrMhO
>>78
結構難しそうっすね。
>>79
2から自分自身のまで順番に割ってって計算結果が1以外だったら自分自身の数を1足してやりなおして、計算結果が1だけだったらその数を表示するってようにしたんですが。
0083名前は開発中のものです。
垢版 |
04/06/17 10:39ID: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
0085名前は開発中のものです。
垢版 |
04/06/19 14:57ID: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");
}
}
暇なんで参加
008685
垢版 |
04/06/19 14:58ID:W8craWnM
unsigned long cun; とcun++;
は無視で <(_ _)>
0088生徒A
垢版 |
04/06/19 19:27ID:GZf8LDr8
そういえば、新しい課題って無いの?
0089名前は開発中のものです。
垢版 |
04/06/19 20:08ID:hqj9xu9C
素数とかはロジックを考えるのは大切だけど、できてもあまり嬉しくないからなぁ。
かといって特定の分野に特化すると、それぞれの分野には初心者スレがあるし。
「適当なウィンドウを作成してsin波形を描画する」あたりはどう?
00904 ◆3VUXqvbfSY
垢版 |
04/06/19 21:47ID:wn6hjF1m
良いねその課題!…ってチョットレベル上がり杉な…
…まあ良いか…
でもまずは、640*480のウィンドウに
(0,0)320*240の赤い四角を描いてください。
00914 ◆3VUXqvbfSY
垢版 |
04/06/19 22:17ID: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++;
}
009263 ◆xdaKt6k1XI
垢版 |
04/06/19 22:23ID:D2QJG2Dd
素数は無理でしたが・・・
>>90の課題はできました。

WIDTH 640,480
COLOR 255
BOXF 320,240,1,0
stop
00944
垢版 |
04/06/19 22:25ID: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++;
}
}
0095生徒A
垢版 |
04/06/20 04:33ID: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;
}
0096生徒A
垢版 |
04/06/20 04:33ID: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);}
}

0097生徒A
垢版 |
04/06/20 04:36ID:9LoKJ5Oe
正直、4行で実現できるHSPがうらやましいと思った…
0098名前は開発中のものです。
垢版 |
04/06/20 04:46ID:l91pLvEB
ここはJavaでは参加できないですか?
0100名前は開発中のものです。
垢版 |
04/06/20 07:50ID: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>
■ このスレッドは過去ログ倉庫に格納されています

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