923 :
先輩++:05/03/13 02:06:12 ID:U7rZXpXs
>>920 私の環境だと
"CC3250MT.DLLが見つからなかったため・・・"で実行できないですねー( ´ω`)
原因究明中です。
>>922 DLLは3M近くになりますね。
単体を落としてテストするなら、上記の様な場合もあるし、
スタティックリンクの方が良いのかな?と思ったのでしたー。
924 :
890:05/03/13 02:24:01 ID:aR/cbc+l
>CC3250MT.DLL
すいません。BorlandのランタイムDLLも必要だったんですねm(_ _)m
さっきのものとセットでアップしておきました。
925 :
先輩++:05/03/13 08:33:34 ID:U7rZXpXs
>890氏
ダブルバッファリング版確認しました。
Borlandのランタイムだったんですね。
ちらつきも、気にならないレベルだと思います。
次はwordの本格実装とキー入力あたりでしょうか?
(1を聞いて10を知る890氏に追い越されそう。)
926 :
先輩++:05/03/13 09:49:09 ID:U7rZXpXs
927 :
890:05/03/13 11:06:13 ID:aR/cbc+l
おはようございます。
ttp://yakumo.ifdef.jp/ STLのリストを使ってWordクラスを管理してみました。
結構いい感じになってきました♪はじめからレベル20なのはチェックのためです。
打てる自信はありません(笑
928 :
890:05/03/13 11:07:37 ID:aR/cbc+l
リストで一つ疑問。
今は下のようにして全てのワード要素にアクセスしているのですが
list<Word>::iterator p = wxGetApp().m_word.begin();
while(p != wxGetApp().m_word.end()){
p->GetS(str);
mdc.GetTextExtent(str,&width,&height);
//文字がDEADLINEまで行ったとき
if(p->Move(width,height)==FALSE){
p = wxGetApp().m_word.erase(p);
wxGetApp().m_status.ExpUp();
}
mdc.DrawText(str,p->GetX(),p->GetY());
++p;
}
はじめは
p = wxGetApp().m_word.erase(p); を
wxGetApp().m_word.erase(p); と書いていていて、
なんだかかくかくした動きになっていました。
ttp://yakumo.ifdef.jp/arc/04_2.zip eraseで指定する「p番目の要素」をlistがはじめから数えていくのであれば、
要素を消してチェーンをつなぎ変えた後に同じ番号でアクセスしようとすれば
「p+1番目の要素」にアクセスできると考えたのですが、違うみたいですね。
エラーで落ちてくれれば、明らかに間違いなので分かった気にもなるんですが
微妙に遅くなるだけなので、余計に気になります。
listは双方向リストだよ
それに対してvectorは動的配列
931 :
890:05/03/13 21:21:24 ID:1p4RFzkw
ぱんぱかぱーん☆とりあえず一段落ついたのでアップ。
一応ゲームになってるのでやってみて感想いただけるとありがたいです。
ttp://yakumo.ifdef.jp/ ちょっとHTMLに力を入れているのは一緒にやる人を募っているから(汗
ようやくゲームっぽいものになって、ゲームレベルの設定にちょっと悩みました。
レベルアップで急に速くなっても焦るし、ずっと遅いままでも飽きるし。
難しいところですね。
次はタイトル画面を作成してみたいと思います。
932 :
890:05/03/14 03:01:28 ID:+duNXoLo
勢いで「ぱんぱかぱーん」とか書いてる自分が恥ずかしい。
タイトル画面作成にあたって、現在のクラス設計を見直してみました。
今ウィンドウ関係で存在するクラスが
MyAppクラス
MyFrameクラス
MyCanvasクラス
MyAppクラスでMyFrameのインスタンスを作成してウィンドウ枠を作っています。
MyFrameはMyCanvasのインスタンスを作って、MyFrameにMyCanvasを貼り付けています。
(MyCanvasはwxWindowの派生クラスでwxFrameクラスの基底クラスもwxWindowクラス
なので、こういう考え方でいいのかちょっと自信がない)
そこで、今まで必要なメンバ(Statusクラスなど)をMyAppクラスで持っていたのですが
ゲーム自体はMyCanvasクラスで完結しているので、全部MyCanvasに持ってきました。
本題のタイトル画面はもう一つwxWindowを継承したTitleCanvasクラスを作って
MyFrameクラスから切り替えようと考えているんですが、
設計はこういう感じでいいのでしょうか?
毎回長文ですいません。
>>929 すいませんが、どういった意味合いでvectorを引き合いに出されているのか
いまいちつかめません。
933 :
先輩++:05/03/14 07:39:01 ID:WaNF1Fa4
>>890氏
個人的意見ですが、
MyCanvasクラスは描画クラスで完結し、
MyAppまたは別のクラスでゲームロジックを実装するかな。
現在MyCanvas::Drawがゲームロジック+バックバッファ処理になっているのを
ProcGame() //キー入力によるゲーム処理
Update(bitmap); //バックバッファへ描画の更新
Flip(dc,bitmap); //バックバッファをDCに転送
に分ける
時間がないので、またゆっくりソース見たいと思います。
934 :
漏れ太郎 ◆SQ2Wyjdi7M :05/03/16 18:38:49 ID:8Jv2NPFo
こっちもかろうじて・・・・
ぉ、見てるのか。
|
| ゚д゚)
と ノ
| ノ
|
では課題を出すぞ、漏れ太郎くんも好きなところから始めて欲しい。
max=100
//準備
dim x,max :dim y,max
repeat max
rnd x.cnt,640 :rnd y.cnt,480
loop
//描画
repeat max
pset x.cnt,y.cnt
loop
stop
このソースの意図を汲みなさい。
( ゚д゚) /
(| y |
実行しても良いし改変するのも良い。
わからない命令や用法があればここで訊きなさい。
大体で良い、大体でいいんだ。何が起こっているのかわかれば。
936 :
生徒:05/03/16 23:02:33 ID:Wbdg++QN
>930
まとめサイトがあっただなんて!感謝です。
メッセはMSNとヤフーどっち派ですか?
呼び込み乙
>>936 MSN派。
私と会話する程度の用法なら捨てアドで全く差し支えない。
(*゚д゚)
(| y |)
まとめサイトを作ってくれた
>>870=
>>872さんには感謝の言葉も無い。
(-д- )
(| y |)
それはそうと、935さんが私に代わって課題を出してくれたようで感謝。
「理解しろ」というのは良い課題の出し方だと思う。これからは見習わせてもらおう。
く(;゚д゚)
| y|)
以前javaの指導を希望した753です。
これからAA作成ソフトを作ろうと思っていますので、わからなくなったら聞きにきますので師匠どの(誰?)よろしくお願いいたします。
動きがないね・・・
943 :
生徒:05/03/20 01:05:31 ID:Dr+aazqG
春休みに入りました。時間に余裕ができるはずなので
>870さんのまとめサイトを活用しつつ
判らないことがあればここで質問させていただきます、よろしくお願いします
こちらこそ、よろしくお願いします。
>>943 どうかがんばってくれ。
(゚д゚ )
(| y |)
IDがなんだかかっこいいな。ドクター。
(*゚д゚)
(| y |)
946 :
名前は開発中のものです。:2005/03/24(木) 21:32:14 ID:DQbzum5c
保守sage
(д゚ )
| y |) ,,,,,,,,,,
それは自分が賢者という自惚れですか
あめゆじゆとてちてけんぢや
なかなか進まんね…
そうだな…生徒くんにはがんばってほしいところだ。
( ゚д゚)
(| y |)
あ、普通のブラウザからだと人大杉で書き込めなかった。。。
952 :
名前は開発中のものです。:2005/04/07(木) 14:18:49 ID:Eed41nA+
保守
953 :
名前は開発中のものです。:2005/04/07(木) 15:16:39 ID:Gn25ways
こんなスレがあったのか
僕も最近HSPを始めたんです参加していいですか?
やりたいことがはっきりしてるならそれを言って先生を募ればいいと思う。
HSPでシューティングならとりあえずまとめサイトから?
>>930
955 :
名前は開発中のものです。:2005/04/07(木) 15:59:18 ID:Gn25ways
ゲムデブにあったテトリスのをやろうかなって考えてます。
段階的学習?このスレでやるのん?まあいいか。
>>955はHSPどの程度できるのー?
957 :
名前は開発中のものです。:2005/04/07(木) 16:39:19 ID:Gn25ways
>>956 すいません。嫌ならやめときます。
段階的学習スレに活気がなかったので・・・
HSPは1週間前に始めたばかりなのでもぐらたたきを作ったくらいです。
いや、別に嫌なわけではなく。
スレ違いだとか言われるとめんどうだなぁとか思っただけだから別に良いよ。
助けになれるならここでやろう。
もぐらたたき作れるなら結構良い感じだとおもう。
Level1はHSPだから問題ないとして、Level2~3ぐらいはおk?
959 :
名前は開発中のものです。:2005/04/07(木) 17:18:29 ID:Gn25ways
3はよくわかんないけどできそうだと思う。
960 :
958:2005/04/07(木) 17:23:08 ID:XKS6z519
じゃあとりあえずそれを。
わからないところがあれば出来る範囲で答えます。
…教えるほうが分からんとしゃれにならんのでとりあえずこっちもテトリス作ろう。
他の先生いればカモーン。
961 :
名前は開発中のものです。:2005/04/07(木) 17:27:08 ID:Gn25ways
がんばります。どもです。
と言っても今から用事があるので明日になるかも知れないです。
962 :
958:2005/04/07(木) 17:40:59 ID:XKS6z519
むしろゆっくりの方がこっちも気が楽でいいです (`・ω・´) b!
963 :
名前は開発中のものです。:2005/04/07(木) 19:40:05 ID:GZ9ot05X
なんかSDK入れないとだめっぽいですね…
よくわからんですがデバッグ版かもしれないです
ちともうちょっと改良してからまたうpしてみます
次スレは980に任命する。
操作方法とか何も載せてなかった(´・ω・`)
左右は←→、落下は↓、回転はスペースとCtrlですよ、と。
(´・ω・`)さて、一々後で確認するのも面倒なのでHSPでのテトリスについて
>>961君に伝言ですよ、と。
とりあえず貴方のレベルが分からないので、分からないところに答えるというところから始めようと思います。
その際、このスレの流れを汲んで課題&回答で進めていくつもりです。
分からないところを解決できるよう誘導するつもりですのでご心配なく。
それで出来れば以下のコトを教えてください。
・他のプログラミング言語に触れたことがあるか
・HSPの配列は自由に扱えるか
・ラベルとgosubを使ったルーチンがわかっているか
・HSPのモジュールが扱えるか(これは使えなきゃべつにいいです)
自力でもぐらたたき作ったそうなので調べる力や構成力は僕なんかよりあるんじゃないかと踏んでます。
HSPの基礎の基礎からやる必要があるのかちょっと分からないです。
要望等あれば言ってください。
あと、僕からの希望。
テトリスできるまでやりましょう。
んでは、よろしくおねがいします。
…次スレか、早いもんだね(´・ω・`)
7行プログラミングスレで発表されたHSPテトリス。80桁×14行。
ただし、短くする為に外法をいくつも使っているので、真似してはいけません。
(といっても、解読すら難しいと思いますが…)
V=20:screen ,200,400:title "0":dim B,4:dim C,10,V:dim D,10,V:randomize:F=2:boxf
dim A,4,7:A=1,4,5,6,5,6,10,14,5,6,9,13,5,6,9,10,2,6,5,9,1,5,6,10,1,5,9,13:repeat
wait 1:if G=0{rnd N,7:memcpy B,A,16,,16*N:H=3:I=-4:J=0:G=1}J-F:if J<0{K=0:L=1
gosub Z:if M=0{N=0:repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P<0{N=1:break}C.O.P=1
loop:if N{break}dim Q,V:R=0:repeat V:S=cnt:N=0:repeat 10:N+=C.cnt.S:loop:if N>9{
Q.cnt=1:R+:palcolor 255:boxf 0,cnt*V,200,cnt*V+18}loop:if R>0{wait 50:color:boxf
E+R*R:title ""+E:N=19:repeat V:S=19-cnt:if Q.S=0{memcpy C,C,40,N*40,S*40:N-}loop
memset C,,N*40}G=0}J=100}stick T,8,1:K=T&4!0+(T&1!0*-1):L=T&8!0:gosub Z:if T&16{
dim U,4:memcpy U,B,16:repeat 4:N=B.cnt\4:B.cnt=N*4+3-(B.cnt/4):loop:K=0:L=0
gosub Z:if M=0{memcpy B,U,16:gosub Z}}redraw 0:repeat V:S=cnt:repeat 10:K=cnt*V
palcolor D.cnt.S*9:L=S*V:boxf K,L,K+18,L+18:loop:loop:redraw:loop:dialog "over"
end:*Z:M=1:repeat 4:O=B.cnt\4+H+K:P=B.cnt/4+I+L:if (P>19)|(O<0)|(O>9):M=0:break
if P<0{continue}if C.O.P=1{M=0}loop:if M=0{return}memcpy D,C,10*V*4:H+K:I+L
repeat 4:O=B.cnt\4+H:P=B.cnt/4+I:if P>=0{D.O.P=1}loop:return
>>967 回転についてなんですが
自分は4x4で7つのブロックを作り、そのまま90度回転させた方法でやってるんですが
967のテトリスの回転の仕方は違いますよね。
本来その回転が正しいと思うんですが、その回転を作る方法が思いつきません
配列であらかじめ作る、くらいしか思い浮かばないんですが…
よかったら教えてほしいです(´・ω・`)
>>971 残念ながら、お察しの通り配列にあらかじめパターンをいれちゃってますよ、と。
最初は普通に回転させてたんですけど、どうにも違和感があったので
いくつかフリゲのテトリスをやってみて動かしやすいものを採用してみました。
回転させるなら、それぞれのブロックのサイズに合わせて4x4,3x3,2x2等を使い分ければ同じような感じになると思いますけどめんどくさいですし(´・ω・`)
それに全部配列で保持しておくと、回転、移動、落下が可能かどうかのチェックで
同じ処理が使いまわし出来るのでちょっと便利かなと思ってみたり。
でもまあこの辺は人によって作り方変わっちゃうんでしょうけど。
>>970 はじめて見ますた。興味しんしんです(`・ω・´)
バラして解読してみよっと。