ズブの初心者がゲーム作れるまで勉強するスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/07 20:26ID:PFtlmWD9ズブの初心者以外お断りです。
なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0415名前は開発中のものです。
04/02/20 17:03ID:qnhxR2WO0416名前は開発中のものです。
04/02/21 18:34ID:xUxW4pvaデジトキに登録して、自称(詐称)すればいっちょあがり
0417名前は開発中のものです。
04/02/21 23:11ID:XiRsPFUiすでに三流だから安心しろ。
0418397
04/02/22 04:18ID:hRI1ig6Xよくわからんけど、もう一度やってみます。
0419名前は開発中のものです。
04/02/22 21:44ID:fz/BpWBqif文100個ぐらいに分岐しそうで怖いんですが普通こういうのは
どうすればいいんでしょうか?
関数へのポインタ使ってやればいいのかとも思ったりしたけど、結局
100個も関数へのポインタに入れてやる方法しか思いつかないしなあ・・・。
0420名前は開発中のものです。
04/02/22 22:03ID:sRJhcXYBWIN API
やって
その次DirectSDK
やればいいんですか?
0421名前は開発中のものです。
04/02/22 22:27ID:kwjkiYoP0422名前は開発中のものです。
04/02/23 00:53ID:VMGjuvjoマクロやBOTを作るにあたって参考になるサイトなどありませんか?
もし有益なアドバイスなど頂けたら、形としてお礼をします
0423名前は開発中のものです。
04/02/23 12:40ID:CndOTp3o話はそれからだ
0424名前は開発中のものです。
04/02/23 15:29ID:tx5Vu6A00425名前は開発中のものです。
04/02/24 00:27ID:egxTU+So│\|/ \ 三||
│ / _______| ....... _|| ガラッ
│| /../ __ ___ | 二||
│ | / ./ \/ || ||
│ ( 6----| > ||< ||.... ドラエも〜ん!||
│ .| \_/ ).__/.| ジャイアンが ||
│ | ________) スネ夫が ..||
│ ..\ .. / ...ノノ__ ||
│/ ̄ ̄\  ̄ ̄ ̄/... . ̄ ̄ ̄ ̄ ̄ ̄ ̄||
│  ̄ ̄ ̄ ..... 三||
│ ... ... ||
____
/∵∴∵∴\
/∵/∴∵\∵\ . .. \|
/∵<・>∴∴.<・>∵| . . / ̄ ̄ ̄
|∵∵/ ●\∵∵| . /
|∵ /三 | 三|∵ | |
|∵ |\_|_/| ∵| ∩
\ | \__ノ |/ . |.|
\___/:、 ∪、
/∵━○━∵ヽ ..| \
/∵人∵∵∵ \:\ \ \
⊂´:_/ )∵∵∵∵ヽ:_`⊃ / ̄ ̄ ̄ ̄ ̄ ̄
/
0426名前は開発中のものです。
04/02/28 15:09ID:FO2lj2+Xdirectx9のhelpを見てもよくわかりません。
directx9を勉強するのに最適なサイトってあるのでしょうか?
0427名前は開発中のものです。
04/02/29 09:45ID:yzlx/o3W0428名前は開発中のものです。
04/03/02 17:53ID:lJhVVoT3データ駆動にする
100個全部が違う効能でないなら、
技に属性を持たせて、属性で処理をわける
後は、属性を組み合わせられるようにする
0429名前は開発中のものです。
04/03/05 20:38ID:Ua6PG82z0430名前は開発中のものです。
04/03/05 21:27ID:w7+3fy9+0431名前は開発中のものです。
04/03/06 22:23ID:GGE+RQF4どうも、ということは技の動きとかもそういうふうにすればいいのかな。
なんとかできそうです、ありがとうございました。
0432名前は開発中のものです。
04/04/09 16:56ID:CEu0SDwR敵の初期配置まではマップチップエディタで作れても動き(エレベーター、
バネ、コング、タル等)が作れません。誰かお助けを・・・
0433名前は開発中のものです。
04/04/09 17:49ID:UK8Ty0N1一つ一つ片付けていけ。
自キャラは動かせられるか?
0434432
04/04/09 17:59ID:CEu0SDwR某サイトからパクっただけですが・・・
0435名前は開発中のものです。
04/04/09 20:58ID:DqZB2HIaハシゴは登れる?
ってか勉強目的ならパクるのはあまりよくない。
0436432
04/04/10 09:23ID:J1HEKCQ/screen 0,256,224,1,dispx/2-125,dispy/2-112
buffer 2,200,200,1;バッファー
picload ".bmp"
gsel 0,1
title "ジャンプ付きマリオ"
carapos=20;キャラクタの位置(x座標)
caramuki=0;キャラクタの向いている方向、0が右、1が左
jumpryou=0
zimen=200;地面の高さ。
repeat
redraw 0
stick k,47
color 255,255,255:boxf 0,0,winx,winy
color 0,0,0:line 0,200,winx,200
gosub *jump
gosub *walk
gosub *mario;マリオを描写する。
redraw 1
await 16
loop
*mario
if kasoku=0:caraani=0
if jumpryou!0:caraani=5
pos carapos,zimen-16:gmode 2,16,16:gcopy 2,caraani*16,caramuki*16,16,16
return
0437432
04/04/10 09:26ID:J1HEKCQ/walkchk+=1
if walkchk<2:return;ジャンプと同じ速さで移動すると速くなりすぎるから、
walkchk=0;2回に1回しか書き換えたりしないようにする。
kasoku3+=1;ボタンを押した後何回書き換えたか。
if kasoku3\2=0{
if (k=0)|(k=5):{
carabreak=0
kasoku3=0
if kasoku<0:kasoku+=1
if kasoku>0:kasoku-=1
}
if k&4:{
carabreak=0
if jumpryou=0:caramuki=0
if kasoku<0:caraani=4:carabreak=1
if kasoku<6:kasoku+=1:
}
if k&1{
carabreak=0
if jumpryou=0:caramuki=1
if kasoku>0:caraani=4:carabreak=1
if kasoku>-6:kasoku-=1
}
if (kasoku!0)&(carabreak=0){
caraani+=1
if caraani>=4:caraani=1
}
}
kasoku2=kasoku/2;移動量の推移を2回に1回にする。(1,1,2,2、3,3というように)
carapos+=kasoku2
return
0438432
04/04/10 09:32ID:J1HEKCQ/if k&32{
if (jumpryou=0)&(jumpstop=0):jumpstop=1
}else{
if (jumpryou=0)&(jumpstop!1):jumpstop=0
if (jumpstop=1)&(jumpryou>=30):jumpstop=3
}
if jumpstop>=3:jumpstop+=1:goto *jump↑↓
if (jumpstop=2):goto *jump↓
if jumpstop=0:return
goto *jump↑
*jump↑
if jumpryou<=19:jumpkasoku=4:goto *jump↑2
if jumpryou<=40:jumpkasoku=3:goto *jump↑2
if jumpryou<=58:jumpkasoku=2:goto *jump↑2
if jumpryou<=65:jumpkasoku=1:goto *jump↑2
if jumpryou>=67:jumpkasoku=0:jumpstop=2
*jump↑2
if jumpryou=51:jumpkasoku=4
if jumpryou=16:jumpkasoku=3
if jumpryou=38:jumpkasoku=2
if jumpryou=57:jumpkasoku=1
;title ""+jumpstop+" "+jumpryou+" "
jumpryou+=jumpkasoku
zimen-=jumpkasoku
return
0439432
04/04/10 09:41ID:J1HEKCQ/if jumpryou>=62:jumpkasoku=1:goto *jump↓2
if jumpryou>=51:jumpkasoku=3:goto *jump↓2
if jumpryou>=4:jumpkasoku=4:goto *jump↓2
*jump↓2
if jumpryou=62:jumpkasoku=2
if jumpryou=51:jumpkasoku=4
if jumpryou=47:jumpkasoku=5
if jumpryou=22:jumpkasoku=5
if jumpryou<=5:jumpkasoku=jumpryou
jumpryou-=jumpkasoku
zimen+=jumpkasoku
return
*jump↑↓
if jumpstop<=4:jumpryou+=1:zimen-=1
if jumpstop>6:jumpryou-=1:zimen+=1
if jumpstop=9:jumpstop=2
return このプログラムで逝こうかと思ってるのですが。
0440名前は開発中のものです。
04/04/10 21:17ID:8lOF11Ft0441432
04/04/11 09:10ID:A6JtVjTvここの458
0442432
04/04/11 09:16ID:A6JtVjTv0443名前は開発中のものです。
04/04/13 01:51ID:bffhB7DjHSPは読みにくいな…このjumpってサブルーチンの中ではループしてないんだな?
だったら*mario とか呼んでるメインルーチンに、エレベータとか動かすルーチンを
付け加えたらいいじゃないか。
0444432
04/04/13 16:06ID:4DU9oHFH0445名前は開発中のものです。
04/04/13 20:48ID:bffhB7Djんじゃ無理だ。HSPの事なんか忘れて
vectorでも逝ってフリーのゲーム落として遊んどけ。
どうしても作りたいなら、とりあえずこのパクったソースの数字を1ずつ変えては動作させて
なんとなく動作がわかるまで続けろ。
0447名前は開発中のものです。
04/04/14 22:23ID:QzJ05j2p「Binblock Patchvalidation failed」
と表示されるのですが、どうすれば上手く当てることが
できますか?アドバイスお願いします。
0448名前は開発中のものです。
04/04/15 20:48ID:Mhaj1jFGCを勉強するつもりです。そこで質問なんですが、Cでいいんでしょうか。
もっと初心者がやるべき言語があるんでしょうか?
0449名前は開発中のものです。
04/04/15 21:43ID:KL9zvr3b初心者には敷居が高いね。漏れはあまりオススメしない。
Delphiあたりがすぐにビジュアルな表示が出来るから
プログラミングの面白さを感じやすいと思う。
一つの言語覚えたら二つ目、三つ目を覚えるのはそこまで苦痛にならんし。
0450名前は開発中のものです。
04/04/15 22:13ID:cgpTXQVvVisual C++まで行けばウインドウズゲームが作れるけどそこまで半年ちょいぐらいかかったかな。
それまでは文字しか表示できなくて地味なプログラムだったな...
ようは地味な下積みを耐えられるかどうか、とりあえずお手軽に見栄えのいいものが作れたほうが
楽めて長続きしそうって人は449さんの言うようにDelphiから初めたほうがいいかも。
一刻も早くゲームプログラムを極めたいって人はCかC++かな。
C++言語はC言語を内包しているから、C++言語から勉強を始めてもいいと思うけど、
いきなりたくさんの情報に混乱しそうと思う場合はC言語から始めたほうがいいかも。
0451名前は開発中のものです。
04/04/15 22:17ID:Mhaj1jFGレスありがとうございます。少しずつがんばって面白いゲーム作れるように
なります!!!!!
0452名前は開発中のものです。
04/04/16 02:20ID:g/W+Go020453名前は開発中のものです。
04/04/16 21:57ID:gLXzG93zどの言語から勉強していけば良いのか質問しようとしたら
450に答えが…(`・ω・´)printf カラ、ガンバルッス!!
0454名前は開発中のものです。
04/04/17 16:08ID:Iaz63Ew/0455名前は開発中のものです。
04/04/17 21:58ID:u6Fa0MOe3月中旬に家にVCのCDがあることを知り、
3月下旬からプログラムを書けるようになって、
4月1日からできたプログラムを保存しております
もうすごい楽しい!現在進行形で頑張ってます
今ブロック崩しができました。これに少し独自のルールを付け加えて終りにしたいと思います
次は何を作ろうかな?テトリスは難しいか!?
0456名前は開発中のものです。
04/04/18 21:03ID:4spkHYFpプログラムは言語の仕様・書式を覚えたらアルゴリズムの発想しだいだし。
0457455
04/04/19 20:57ID:YPIC9Z/aでもやっぱりステップアップするには、常套手段に従ってありふれた簡単なゲームを作っていく方がよくないですか?
目的も持てるし、できたら嬉しいし
そういうわけで、とりあえずテトリスは難しそうなので、今から五目並べやってみます
0458名前は開発中のものです。
04/04/20 01:02ID:byeyzMFHですが思うように、というか全然アホCPUしか作れません。
なにかアドバイスをいただけませんか。
0459455
04/04/20 01:25ID:Hld2EAauいやー、楽しいですね
できればCPU対戦のことも考えたいけど、無理だろうな
コンピューターの動きのアイディアが全然思いつかない
0460名前は開発中のものです。
04/04/23 00:37ID:pRqu8Vw+とりあえず三目並べ(要するに○×)でCPU作ってみたら?
0462練習帳著者
04/04/25 10:45ID:LyJsr1s0とりあえず、以下の処理を試してみましょう。
1 可能な手を列挙する(制約のない五目並べなら空白の場所を列挙するだけ)。
2 その中から「ランダムに」打つ手を選ぶ
3 コンピュータがその手を打つ処理を実装する
これができれば、あとは2の部分でよりましな手を選べるよう改良していくだけ。
0463455
04/04/29 00:57ID:vcMIXweaあ。わざわざすいません
でも先日から別のプログラムを作り始めてしまって・・・
後回しにすると忘れてしまいそうなので、それが終ってからやってみます
0464名前は開発中のものです。
04/04/30 17:12ID:bNvYLXW7これ使っていろいろやってみようかな、と思ってたんです。
で、簡単な文をコンパイルしようとしたら「d3drm.libが開けません」ですって。
なんか他のプログラムでもこのライブラリのせいでエラーが出ます。
↑の文だけで原因っぽいもの分かりますか?
0465名前は開発中のものです。
04/04/30 17:15ID:La2rD6H90466名前は開発中のものです。
04/04/30 18:10ID:bNvYLXW7どうも
もう一回しっかり見てみます
0467464
04/05/02 13:59ID:y/UaHwjTそれより上のより簡単そうなEasy Link Libraryってのを見つけたんです
サンプルのテトリスとかがありまして、実行ファイルはもちろん動くのですが
自分でプロジェクトを開いてビルドするとエラーが出ます。
この件に限らずサンプルは殆ど++6なので、自分が使ってる.NETだと
開いた時の++7形式に変換しますか?→はい でおかしくなってるのだと思います
こういう場合は何か書き足す必要があるのでしょうか?
0468名前は開発中のものです。
04/05/02 14:35ID:a+vlsVTZ04696にすればよかった・・・
04/05/02 15:12ID:y/UaHwjTttp://www3.justnet.ne.jp/~botchy/el/el63.htm
ここの手順通りにやったのですが・・・
ビルドすると
・Project fatal error LNK1136: ファイルが無効であるか、 または壊れています。
と出ます
続きます
0470名前は開発中のものです。
04/05/02 15:16ID:y/UaHwjT#include<simpleX.h>
void StartUp()
{
}
void MainLoop()
{
Clear();
Text(0,0,"Hello World");
}
そうすると
・resu warning LNK4003: ライブラリの形式が無効です。ライブラリは無視されます。
この警告が4つと
・resu fatal error LNK1561: エントリー ポイントを定義しなければなりません。
となりました
resuってのはプロジェクト名です
0471464
04/05/04 20:27ID:Nhb0M37dパスの順番変えたり、いろいろしたら出来ました
0472名前は開発中のものです。
04/05/07 09:39ID:7PPmi+4T0473名前は開発中のものです。
04/05/09 18:56ID:FkW++Xq50474464
04/05/10 20:05ID:XWABRbZ8http://www3.justnet.ne.jp/~botchy/sample/Sam0201.cpp
>// 3Dを使って開発する場合、必ず必要です。
>#define DIRECT3D_IM
これってDirectXSDKにある何かですか?
具体的にどのように設定すれば上のコードをビルドできますか?
0475名前は開発中のものです。
04/05/10 20:31ID:XWABRbZ8「質問書く前にいろいろ試せや、このタマキン野郎が!」って罵ってください
0476名前は開発中のものです。
04/05/10 23:11ID:b3c9N5XP0478名前は開発中のものです。
04/05/16 15:21ID:cS86WeRiシューティングってほどでもないんだけど、自機が弾を撃つのね。
でも画面上に一つしか出ないのよ、次撃つと前のが消える。
弾の座標が一個分しかないからなんだろうけど。で、サンプルみたいなのを見てみたら
配列を使ってたのかな?当たり前なんだろうけど、それで弾を一つ一つ管理してたのかと
少し分かった気がしたのですよ。でもどう組めばいいのか解らない・・・・
普通はどのようにしてるのでしょうか?
0479名前は開発中のものです。
04/05/16 17:51ID:b74ZsW5L//弾定義
struct _Tama
{
int x;
int y;
bool isAlive;
};
//定義した弾を配列で宣言
struct _Tama tama[16];
//撃つとき
for(i=0;i<16;i++)
{
if(!tama[i].isAlive)
{
tama[i].isAlive = true;
tama[i].x = 弾出現位置X
tama[i].y = 弾出現位置Y
break;
}
}
が、一番シンプルかな・・・。
0480名前は開発中のものです。
04/05/17 17:08ID:6yEm3iSBMOTHERでいうと最初の電気スタンドを倒したところです
0481名前は開発中のものです。
04/05/18 16:37ID:H7HjmD2rすいません、elだとどんな感じになりますか?
bool ってのは真偽の為のものですよね?
0482名前は開発中のものです。
04/05/18 17:57ID:mlpq/arSint isAlive;//弾の生存フラグ
で、isAlive=0が画面に出てないヤツ、isAlive=1が画面に出てるヤツとか、
2つの状態を区別できれば、型はなんでも大丈夫だよ
0483名前は開発中のものです。
04/05/18 20:20ID:oOiAEM3V0484名前は開発中のものです。
04/05/18 21:56ID:z93EQDk5つまり作れないって事です
0485名前は開発中のものです。
04/05/18 23:04ID:oOiAEM3V479さんの上げた例はCなので多分問題なくいけるはずですが。
使用言語の基本書式とか理解してないとゲーム以前の問題になりませんか。
「猫でもわかる」でぐぐったりしてもう少し基礎の所からはじめるのをお勧めします。
もしくはツクール。
0486名前は開発中のものです。
04/05/19 02:06ID:39xvAhxl0487名前は開発中のものです。
04/05/19 02:48ID:KEtzYPtB学習ガイドライン
1.Cを覚える(教科書は「猫でもわかる〜」でOK)
↓
2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)
↓
3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)
↓
4.本番(もう何も言うことはない)
途中のステップをとばすと「自分が何を判らないのか判らない」状態にはまるから
トータルで考えれば時間の無駄になるよん。
0488478
04/05/19 16:33ID:ryT9K2cQCは基礎は大丈夫だと思います。まあ、これも勉強します。
>2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)
↓
>3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)
で、今ここら辺をやっているわけですがSc2のコードを見て弾の部分を理解しようと試みています。
余計なものが多くてややこしいですが、頑張ってれば理解できそうな感じです。
0489名前は開発中のものです。
04/05/19 16:52ID:ryT9K2cQもう少し頑張ってみれば何とかなりそうです。
やっぱ成長するにはいろいろ悩まないと駄目ですね。
0490名前は開発中のものです。
04/05/19 20:50ID:AQMqopBj0491名前は開発中のものです。
04/05/20 17:21ID:Mw1SlL99いや、同じです
というか>>484以外はだいたい自分です、>>464です。
0492464
04/05/22 14:11ID:ptk8g+iv最初は何のことだか解らなかったのですが、構造体ということがやっと解りましたw
これは便利ですね、少し賢くなりました。どうもです
0493464
04/05/25 16:53ID:QdGCgPCN0494名前は開発中のものです。
04/05/25 19:01ID:FiBx1oTV{
int a;
};
と
class X
{
public:
int a;
}:
はかなり似てます。
0495名前は開発中のものです。
04/05/25 19:02ID:FiBx1oTV誤) }:
正) };
0496464
04/05/26 22:39ID:U7ffWaSi0497HSPビギナー
04/06/21 18:45ID:CIr1o5igそれで、さっき5時間くらいかけて初めて数当てゲームぽいものできたのですが、ここにソース貼り付けたら何かアドバイスしていただけるのでしょうか?
0498名前は開発中のものです。
04/06/21 23:04ID:M6UaUL66数当てゲーム程度の規模だとあまり工夫の余地がないのでアドバイスしにくいかもなあ。
「上手く動かない」とかならともかく
0501名前は開発中のものです。
04/06/23 12:50ID:MYfPkn/Q15パズル。
数当てで使ってると思われるinputなどのコントロールを使わないやつを練習すべし。
0502HSPビギナー
04/06/30 20:16ID:vWGgncp315パズル作ろうとしてるんですが、どうやったら作れるのかまだ分かりません。
自分的に考えているのは↓
1.まず○を → ○○○○
○○○○
○○○
と表示し、
2.次に○のなかに数字を振り分け、
3.最後にクリックすれば○が無い方向に動く
というようにすればできると思うのですがどうなのでしょうか?
これであっているのなら、まず初めのどうやったら○が並ぶのかがいまいち分かりません_| ̄|○
教えて君ですいませんが、お願いします。
P.S 長文&読みにくい文章でスマソです_| ̄|○
0503HSPビギナー
04/06/30 20:24ID:vWGgncp3○○○○
○○○○
○○○
と表示させたかったのですがずれました_| ̄|○
0504名前は開発中のものです。
04/07/01 02:59ID:Er33M+6r01020304<改行>
05060708<改行>
09101112<改行>
131415■<改行>
HSPはしらないけど、↑みたいに表示すれば文字だけでも表示できる。
上下左右を押すと■がその方向の数字と入れ替わるようにすれば充分かと。
0505501
04/07/01 16:23ID:Uuze0tzS504の言うように、空白が移動方向のパーツと入れ替わるようにすればいい。
ポイントは配列変数、空白の座標の管理だな。
表示は各パーツごとに表示する。こんな感じ。テキトーに改行してくれ。
//パーツの表示サイズ
#define PARTX 32
#define PARTY 32
#const PARTBX PARTX-2
#const PARTBY PARTY-2
dim part,4,4:px=3:py=3//配列宣言と空白の座標
//配列に数値を格納
i=1:repeat 4:y=cnt:repeat 4:part.cnt.y=i:i++:loop:loop
part.px.py=0//空白部分は0にする
//表示してみる
color:boxf
repeat 4:y=cnt:repeat 4
if part.cnt.y {
xx=cnt*PARTX:yy=y*PARTY
color ,,255:boxf xx,yy,xx+PARTBX,yy+PARTBY
color 255:pos xx,yy:mes part.cnt.y
}
loop:loop
stop
0506名前は開発中のものです。
04/07/02 12:25ID:u1M+Bkgkwin98を使っています
0507名前は開発中のものです。
04/07/03 21:18ID:dqxJIYXl0508名前は開発中のものです。
04/07/04 02:44ID:/gx8vrG/0509HSPビギナー
04/07/12 01:52ID:NjMiC/7h自分なりに解釈してみました。
//パーツの表示サイズ(定義しておく)
#define PARTX 32 //PARTXは32である
#define PARTY 32 //PARTYは32である
#const PARTBX PARTX-2 //PARTBXはPARTX-2である(つまりこの場合は30である)
#const PARTBY PARTY-2 //PARTBYはPARTY-2である(つまりこの場合は30である)
dim part,4,4 //配列宣言(part 0,0 から3,3 まで使用できるようにする)
px=3:py=3 //空白の座標
//配列に数値を格納
i=1 //とりあえずiに1を代入
repeat 4 //4回繰り返す
y=cnt //とりあえずyにcntを代入(初めのリピートについての回数になる)
repeat 4 //4回繰り返す
part.cnt.y=i //part.cnt.yの座標の値はi(この場合のcntは後の方のリピートについての回数)
i++ //iに1を加える
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
part.px.py=0 //空白部分は0にする(つまりpart 3.3は0)
0510HSPビギナー
04/07/12 01:55ID:NjMiC/7hcolor //色の設定(ここでは黒)
boxf //塗りつぶし(指定していないので背景が塗りつぶされる)
repeat 4 //4回繰り返す
y=cnt //yにcnt(ループ回数)を代入
repeat 4 //4回繰り返す
if part.cnt.y { //もしpart.cnt.yなら
xx=cnt*PARTX //cnt*PARTXをxxとする
yy=y*PARTY //y*PARTYをyyとする
color ,,255 //ここでは青色に設定している
boxf xx,yy,xx+PARTBX,yy+PARTBY //(xx,yy)と(xx+PARTX,yy+PARTBY)を左上、右下の点として、矩形(四角形)を塗りつぶす。
//描画色は、color命令で設定されたものになる。
color 255 //色の変更(ここでは赤色にしてある)
pos xx,yy //カレントポジションを(xx.yy)に指定
mes part.cnt.y //カレントポジションからpart.cnt.yを表示
} //上のことをまとめてする(xx=からmesまで)
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
stop //プログラムの実行を一時中断
一行ごとに説明入れてみたので長くなりました_| ̄|○
違ってたら指摘おねです_| ̄|○
(ってかこんな説明いれるのに凄い時間がかかった俺って・・・| ̄|○)
0511501
04/07/12 21:06ID:Fg4Dow09あってる。準備と表示の基本がわかったと思う。
あとは表示部分をサブルーチンにしてしまい、以下の段取りで作っていけばいいかと。
*スタート
・準備。(配列に数字を格納する)
・最初の配置表示。(表示サブルーチンを呼ぶ)
・キー入力を待つ。(いわゆるスタートボタンを待つ待機)
この時、開始のキーを画面に表示してアナウンスするのが望ましい。
例:「クリックでスタート」とか。
・シャッフル開始。(空白を300回くらいランダム移動させる)
・シャッフル後の配置表示。(表示サブルーチンを呼ぶ)
この時、シャッフルで空白を一回動かす度に呼べば、
プレイヤーにシャッフル中の画面を見せる事になる。そこはお好みで。
*メインループ
・プレイヤーのキー入力を待つ。(マウスでもキーボードでもお好きに)
・空白が動いたら配置表示。(表示サブルーチンを呼ぶ)
・揃ったかどうか判定。
・揃ったらメインループを抜ける。(*揃ったへ)
・揃ってなければ *メインループへ。
*揃った
・揃ったうまを表示。
・プレイヤーのキー入力を待つ。
・*スタートへ。(繰り返し遊べるようにする)
メインループは当然無限ループになるから、waitかawaitは忘れずに。
わからなくなったらまた聞いてくれ。
0512HSPビギナー
04/07/13 22:14ID:OxDPuipyで、いきなりなんですが空白と移動方向のパーツをどうすれば入れ替わるのかが分かりません・・・
repeat
await 10
stick key,0
if key!0 : gosub *keyget
loop
*keyget
if key=1 :
if key=4 :
if key=2 :
if key=8 :
return
ifの後に空白と移動方向のパーツの入れ替えを行いたいのです。
よろしくお願いします。(表示は504にあるソースを引用させてもらってます)
0513名前は開発中のものです。
04/07/13 22:43ID:N2yNRIPu■ このスレッドは過去ログ倉庫に格納されています