2019年01月21日

プチコンゲームプログラミング講座~第三回「コマンド入力ゲームを作ろう」

文 プチ太郎 氏
=-=-=-=-=-=-=-=-=-=-
最初の三回がみんな、ボタンを押して進むプログラムだったので、ちょっと講座の速度が遅くなっちゃったかな。無理しない程度に、ペースを上げて行きましょう。
 反射神経にたよるプログラムが続いたので、ここでもう一つのTVゲームの代表格である、入力するまでコンピュータが待ち続けてくれるゲーム、つまり「コマンド入力ゲーム」を作ってみましょう。代表作にはシミュレーションゲーム(スタートレック、シムシティなど)やロールプレイングゲーム(ドラクエ、プチコンのGAME2など)がありますが、今回はアドベンチャーゲーム(以下、略す場合ADV)で行くことにしました。
 ADVと言っても、当初は「サガセ ココ」と入力したり、コマンド入力式になっても「みる」「うごかす」「なぐる」とコマンドが多かったり、遊びにくいものでした。しかし、今の場面から2~3の項目どれかを選択すれば、木の枝のように展開が分かれていって、バッドエンドやグッドエンドがある…というものなら、かなり簡単です。ADVではないが近年のゲームでは、「アイドルマスター」がこれでしたね。
 ここではRPGやギャルゲー、特に最近ソーシャルゲームで目にする機会も多い、キャラクターやメッセージが出る会話システムのサンプルゲームを紹介し、プログラムを見ていきましょう。
教材プログラム 3 「ミニアドベンチャーゲーム」(ファイル名「KOZA03」)

koz03_s1.jpg

★ ゲームの内容と説明 ★
 あなたは、手に入れればプログラミングが上手くなるという、伝説の宝石「プチコン」を探して、このスマイルブームの町に来た。町にはいろんな人も住んでいるが、モンスターもいるという。無事にプチコンをゲット出来るだろうか?
 先ほども話した通り、2~3のコマンドを選んでグッドエンドを目指すゲームです。また選ぶだけではつまらないので、誰かに会ったり中間目的のアイテムを入手したかなどの、いわゆる「フラグ」も使っています。
 ADVの進み方にもいろいろありますが、今回はスタート地点から枝分かれに進むという簡単なルートにしました。しかしいつかは奥まで行きつきます。一方通行で進めないと、ハマってラストまで行けない可能性があるので、一部を除きバック出来る様にしています。
 今回から急に270行以上の量となり、驚いた方もいると思いますが、ADVという事で、過半数がそれぞれの場面の会話に使われているだけです。実際にリストを見ると、同じような処理ばかり並んでいるのが判ります。
 なおBGMは、一部のシーンを除いて流れません。現代のプログラム技術では任意に流す事など簡単なのですが、今回いろいろあって開発時間が短く(言えない…コミケで三日間つぶした後、正月三が日で急遽仕上げたなんて…w)、実装のデバッグが間に合いませんでした。ゴメンネ!

★ プログラムの説明1:初期設定 ★
 2行:DIM 変数[数字(添字:ソエジと読む)]という記述があります。これは配列(はいれつ)変数と言って、中規模上のプログラムでは避けて通れない大事な要素なので、少し字数を使って説明します。同じような変数と処理を「変数A1の処理:変数A2の処理:変数A3の処理…」と並べると、大変な量になってしまいます。そこでDIMで角カッコの中の数字を定義すると、定義した数字の分だけ、それぞれが別の変数として使えます。例えば三つの似た変数を使いたいなら「DIM A[3]」と書くと、A[0]・A[1]・A[2]がそれぞれ変数として使えます(DIMは3、添字は0~2である点に注意!)これを全部似たような処理で使うなら、「FOR I=0 TO 2:変数A[I]の処理:NEXT」と書けば、三つ全部が一ヶ所でまとまります、配列は後日さらに説明したいと思います。
 7~11行:BGで背景を作っています。本当はシーンごとに独自のキャラと背景が必要ですが、容量の関係でとても無理でした。町並みは10行のBGSCALEで大きさを二倍にし、11行で231~245番の建物用のBGをランダムに並べています。
 12~17行:冒頭の説明で、13~16行で文章を書いています。WAKUとHABは後述。
koz03_p1.jpg

★ プログラムの説明3:定義済み処理 ★
 例によって同じ処理が何度も出てくる場合、いちいち個別に書いている面倒なので、ここで定義しています。これは初心者のプログラムの行数が増えてしまう原因の一つで、初心者で1000行をこえてしまうプログラムも、うまくまとめれば、300行以内に収まったりします。3はリストの一番下に入っていますが、プログラムの説明と学習という事で、2より先に3を紹介します。
@YESNO 後述のDEF MENUを使って「はい/いいえ」の二者択一
@MONSTER 怪物遭遇の共通処理
 二ヶ所のどちらから出て全く同じ演出ですが、これは一方で怪物に遭遇した時、同じ場所にまた来たか?と混乱させるためです。実は戦いのルーチンも簡単で、どちらから来ても同じ選択ですぐ勝敗が決まってしまいます。負けたら@END_BADに飛んでいます。本当はGOSUBやFORから、GOTOで外に飛び出すのはルール違反なんですが、このゲームではバッドエンドだとすぐプログラムが終わる(そこでGOSUBやFORに入っているというループ情報が消える)ので、そのまま飛ばしちゃっています。一方ではアイテムがゲットできるが、これは@1112で処理しています。
@KOKOMADE 「この先進めない」のメッセージ表示
DEF WAKU LX1,LY1,LX2,LY2 枠線を描く
 コマンド入力ゲームでおなじみメッセージ枠です。最初は文字キャラの枠線で描いたのですが、複雑になったので、GFILLの青で塗りつぶし、GBOXの白で枠を描きました。このため座標はグラフィック単位でなく文字単位で、またLX2とLY2は右端の座標でなく、枠の横長さと縦高さを指定します。
DEF MCLS 文字とグラフィックの画面クリア
 COLOR命令をいじっていますが、これはそのままCLSをすると、「COLOR #TWHITE,#TBLU
E」すなわち青地に白字で塗りつぶされてしまうので、一度ゼロ(透明色)の背景でCLSしてからCOLORを戻しています。
DEF HELLO LS 住人登場
 LSは会話に現れる住民の姿で、SPSETの0が中央の大きな姿、1が右下の台詞の横に出ます。スプライトキャラ番号は、プチコンに標準装備されている464~1176番から、正面から見た姿を使っています。また32番は以前説明した通り空白なので、LS=32だと何も出ない上、BEEP 40のシュパッという音も出ません。
DEF MES LA,LB,L$ メッセージ表示
 L$に台詞を入れると、徐々に言葉が表示されますが、Bボタンを押していると、徐々なく一気に進みます。またL$の中に"/"(スラッシュ)を入れると文章が改行します。LAが1だと、スペース以外では一文字ごとにBEEPで音を出して喋っているように、0だと無音でト書きのようになります。LBが1だとDEF HABを呼び出す、つまり次の会話や展開に進む前に、ボタンが押されるまで待ちます。余談ですが開発中のプチコンをバージョン3.6.3にアップグレードしていなかったので、ここの実装時のフリーズして焦りました(WAITを入れずにBEEPを繰り返すとフリーズする)。現在のプログラムはバージョン3.6.2でもフリーズせず動くようになっています。
DEF MENU(LN) 選択メニュー
 実は変数の宣言または初使用は、「DEFの外でするとDEFの外でも中でも同じだが、DEFの中で使うとDEFの中だけ有効」という特徴があります。このため選択メニューの項目名に使うDIM Q$[3]だけは、外で宣言しました。LNはその時に表示する項目で、例えばMENU(2)ならQ$[0]とQ$[1]の二つを選ぶメニューを出します。
 236~238行:Q$[]に入っている項目を全て調べ、一番長い文字数をLLに入れています。このLLを使って、DEF WAKUで描く横幅を決めて、項目を出します。今回は選ぶ項目が少ないので、項目は縦一列にしか並びません。
 241~247行:変数LQがプレイヤーの選ぶ結果で、LQが-1になっている限り、このREPEATが続きます。BUTTON()の帰り値をLBに入れ、LBが上か下なら指マーク(カーソル)を上下させ、LAがAボタンなら、その位置の指マークのY座標から、選んだ項目番号を決めます。
 248~251行は指マークをいろんな色で描き、ここを選んだ事を判りやすく表示しています。
 順番が前後しますが、DEFの後ろにカッコがついていますが、これはDEFで処理した変数を、DEFを呼び出した所に「RETURN 変数」を使って返すという処理です。つまりここでは前述のLQを返しています。
@LR 「左に行く」「右に行く」「戻る」のメニュー項目を代入する
DEF GETITEM L$ アイテムを入手のメッセージ表示
DEF HAB ボタンが押されるまで待つ
@BAD_END バッドエンド
 END命令を入れればプログラムは終わりますが、一番後に置いて、END命令がなくても終了にしています。
koz03_p2.jpg

★ プログラムの説明2:各場面での会話処理 ★
 ネタバレの意味もあるので、大切な所だけ解説します。それぞれのシーンは枝分かれという事で、トップを@1、次の分岐は@11と@12、その分岐は@12なら@121と@122…と関連づけています。
@111 若い男の家
 アイテムの入手で、一番変化がある場所です。ここではクリアに必要なアイテム(K$[0])とは別に、QFというミニクエストのフラグを設定しており、0=初対面時/1=クエスト依頼中/2=クエスト達成/3=達成の後の4種類を、IF命令とELSEIF命令を使った「多重分岐命令」で処理しています。
@1122 盗賊風の女性の家
 ここも独自の選択をしているが、一方を選ぶとバッドエンドになります。
@12 老人の家
 特に苦労もせず、重要アイテム(K$[1])をゲットできます。アイテムをゲットすると台詞が変わります。
@121 若い女の家
 @111から続くイベントです。QFが0=@111でクエストも起きてないので進展なし/1=クエスト依頼なのでQFを2にする/2か3=クエスト達成なのでその後のセリフと変わります。
koz03_s3.jpg

@1212 王様の家
 何か月かかってもクリア出来ない本格ADVではないので、グッドエンドは簡単に作りました。KF[0]とKF[1]とKF[2]を三つ掛けてゼロになる、つまりどれか一つでもフラグがまだゼロなら「三つ無いか」、そうでなければ三つとも持っているのでグッドエンドとなります。この時演出として「SPCHR 0,24」で王様の姿を宝石にしてみました。
@122 ジャンケン騎士の家
 ADVの中には理づくめだけでなく、運にたよらないとクリアできないゲームもあるので、ここで入れてみました。DEF MENUでジャンケンをし、勝敗結果で@KATI/@MAKE/@AIKOにそれぞれ飛ばしています。ジャンプ先はもっと簡単にも書けるのですが、わかり易さを考えてこうしました。
koz03_s2.jpg

★ 最後に ★
 B-Magaさんからは、学習しやすいミニゲームをと頼まれているのですが、今回はADVなら簡単だと思ったら、別の意味で単調かつ難しいゲームになってしまったような…私自身、プログラム講座を書くのは初めてで、試行錯誤してやっております。ご勘弁ください(汗)
 実はどれくらい苦労してグッドエンドまで行けるか、検討していないんですが(^^;、完成品で手づまりせず、グッドエンドに行ける事は確認済みです。ぜひ挑戦してみて下さい!
(第四回につづく 次回はまたアクションゲームに戻ります)
★今回の教材プログラムは、サーバにアップしてありますので、サーバからダウンロードしてご覧下さい。
公開キー  :KFDRXT3(連載が進んで新しい教材プログラムが追加されると、公開キーも変わります。この公開キーでダウンロード出来ない場合は、連載の一番新しい回の公開キーをご利用下さい)
プロジェクト:KOZA
ファイル名 :上の教材プログラムの見出しをご覧下さい。
=-=-=-=-=-=-=-=-=-=-
次の更新は、1月24日、『フリーゲームレビュー』の予定です。お楽しみに!

2019年01月17日

師匠TのチャレンジARSゲーム!~第拾弐回・暗黒星雲(その2)【1983年・T&E SOFT】

うむ! 師匠Tであるぞ!
今回も、T&E SOFTの『暗黒星雲』を攻略していくぞ!


話は中盤。新機軸の一つ『四分割画面』や、宇宙船でのエイリアンとのチェイスなど、面白くなっていくぞ!

それではいってみようぞ!

【本編】
ars1901-01.JPG
助けたロボット・ボブとともに、再び宇宙の旅へ。
彼からも情報収集をしてみようぞ。特に、彼からは、主人公スターアーサーに関するある謎が……!

ars1901-02.JPG
ある宙域で、またも宇宙船を発見。今回は生命反応アリとのこと。
生き残りがいるのか、それとも……?

ars1901-03.JPG
これが、新機軸のその2、『四分割画面』じゃ! 黒くなっているのは現在向いている方向の風景。左上の矢印は、その方向のカーソルキーを押したときに向くことになる画面を表しておる。
操作に戸惑うであろうが、屈してはならぬ! 制圧前進あるのみじゃ!

ars1901-04.JPG
こ、この目は!? この宇宙船の住人、エイリアンじゃ!
奴に追いつかれると殺されてゲームオーバーになってしまう。急ぐのじゃ!!

ars1901-05.JPG
どうやら、ここは転送ルームらしい。この部屋の中にいる者を、宇宙の彼方へ吹き飛ばすことができるそうじゃが……。
むむ、これを使えば……!?

ars1901-06.JPG
そしてここが、その転送ルームの制御室のようじゃ。ここであることをすれば、にっくきエイリアンともおさらばできるぞ!

ars1901-07.JPG
(撮影に失敗してしまった、すまぬ汗)
何やら保管庫のようじゃな。この中に大切なものが入っている予感がするのじゃが、どうすれば開けることができるのか……

果たしてこの先、どうなるのか……

次回に続くのじゃっ!!

=-=-=-=-=-=-=-=-=-=-

次の更新は、1月21日、『プチコンゲームプログラミング講座』の予定です。お楽しみに!

posted by 裏編 at 10:00| Comment(0) | チャレンジARS | このブログの読者になる | 更新情報をチェックする

2019年01月14日

ActiveBasicとDXライブラリでゲームプログラミング!~第3回・キー入力、ジョイパッド入力を使ってみよう!

n88_reon.gif
玲音:あけましておめでとうございます! B-Maga編集部の紅一点、玲音です! 今月も、ActiveBasicとDXライブラリを使ったプログラミングを勉強していきましょう!

n88_kaede.gif
楓:玲音先輩に、この講座に引きずり込まれちゃった楓です! あけましておめでとうございます!

n88_reon.gif
だから、引きずり込んだなんて、人聞き悪いなぁ。

n88_kaede.gif
えへへ。それで先輩。今月は何をするんですか?

n88_reon.gif
うん。今月は、IF文を使った移動の制御と、そして、キー入力でキャラクタを動かす方法について説明していくよ。

n88_kaede.gif
はーい!



~こたえあわせ~
n88_reon.gif
さてさて。これが問題のプログラムだったね。

=-=-=-=-=-=-=-=-=-=-
#include "Dxlib.sbp"

Dim haikei As Long
Dim chara As Long
Dim x As Long
Dim y As Long

''初期処理
dxChangeWindowMode(1)
dxDxLib_Init()
dxSetDrawScreen(DX_SCREEN_BACK)

''背景を読み込む
haikei = dxLoadGraph("haikei.bmp")
''ニコニコを読み込む
chara = dxLoadGraph("niko.bmp")

x = 100
y = 70

Do
  ''画面をクリア
  dxClearDrawScreen()

  ''何等かの処理
  dxDrawGraph(0, 0, haikei, 1)
  dxDrawGraph(x, y, chara, 1)

  x = x + 4

  ''画面に反映
  dxScreenFlip()
  ''メッセージ処理
  If dxProcessMessage() = -1 Then
    Exit Do
  End If
Loop

''後処理
dxDxLib_End()
End
=-=-=-=-=-=-=-=-=-=-



n88_kaede.gif
これを実行すると、ニコニコが右に移動していくけど、画面の端にぶつかっても止まらないので、それをどうするか、って話でしたよね。

n88_reon.gif
そうだね。その答えなんだけど、言葉にすると簡単。『画面の端にぶつかったら止まる』ようにすればいいんだよ。

n88_kaede.gif
画面の端にぶつかったら、止まる、ですか……。あ! ここであの命令が出てくるんじゃないですか?

n88_reon.gif
おっ、楓ちゃんもピンときたみたいだね。さぁ、その命令は?

n88_kaede.gif
IF命令ですっ!

n88_reon.gif
正解! その通り。IF文で、画面の端にぶつかったかどうかチェックして、そしてぶつかっていたら動きを止めればいいんだよ。

n88_kaede.gif
なるほどっ。まず、画面の端にぶつかったかどうか、ですけど、それはどうしたらいいんですか?

n88_reon.gif
この場合は、キャラクタが画面の右端を表す640を超えたかどうかでチェックするのがいいと思うよ。かといって、そのまま

=-=-=-=-=-=-=-=-=-=-
X >= 640
=-=-=-=-=-=-=-=-=-=-

n88_reon.gif
ってしてもダメだけどね。

n88_kaede.gif
どうしてです?

n88_reon.gif
思い出してみて。座標に使っている変数XとYはキャラクターの左上の位置だったじゃない? だから、上のようにすると、結局キャラは左端を超えちゃうんだよ。

abdx1901-01.jpg

n88_kaede.gif
あっ、なるほどっ。ということは、Xにニコニコの幅を足した値が、640以上かどうかを判定すればいいんですねっ。

n88_reon.gif
うん、その通り。次にニコニコの動きをどう止めるかだけど、これは簡単。640-ニコニコの幅をXに入れればいいだけ。
ということで、それらを入れるとこうなりまーすっ。

=-=-=-=-=-=-=-=-=-=-
#include "Dxlib.sbp"

Dim haikei As Long
Dim chara As Long
Dim x As Long
Dim y As Long

''初期処理
dxChangeWindowMode(1)
dxDxLib_Init()
dxSetDrawScreen(DX_SCREEN_BACK)

''背景を読み込む
haikei = dxLoadGraph("haikei.bmp")
''ニコニコを読み込む
chara = dxLoadGraph("niko.bmp")

x = 100
y = 70

Do
  ''画面をクリア
  dxClearDrawScreen()

  ''何等かの処理
  dxDrawGraph(0, 0, haikei, 1)
  dxDrawGraph(x, y, chara, 1)

  x = x + 4
  If x + 100 > 640 Then
  x = 640 - 100
  End If

  ''画面に反映
  dxScreenFlip()
  ''メッセージ処理
  If dxProcessMessage() = -1 Then
    Exit Do
  End If
Loop

''後処理
dxDxLib_End()
End
=-=-=-=-=-=-=-=-=-=-



n88_kaede.gif
おー! ニコニコが画面の右端で止まりましたよ!

n88_reon.gif
これをちょっといじくるともっと面白いのができるよ。例えば、画面の端についたら、移動量を逆に(+4なら-4というように)するようにして、画面の左右を行ったりきたり、とか。興味があればやってみてね。

n88_kaede.gif
はーい!

n88_reon.gif
さてさて。それでは、ここからが本題だよ!

~キー入力しよう!~
n88_reon.gif
さて、キー入力だけど、それにはある関数を使うんだよ。その名も、dxGetJoypadInputState関数!

n88_kaede.gif
その関数って、どんな命令なんですか?

n88_reon.gif
うん。この関数は、ジョイパッドやカーソルキーなどを押すと、押したキーに対応した情報を返してくるんだよ。返ってきた情報から、あるキーが押されたかどうかをチェックするには、こうすればいいの。

=-=-=-=-=-=-=-=-=-=-
dxGetJoypadInputStateの戻り値 And キーの値
=-=-=-=-=-=-=-=-=-=-

n88_reon.gif
戻り値を変数に代入して、それを使うといいと思うよ。こんな風にね。

=-=-=-=-=-=-=-=-=-=-
k = dxGetJoypadInputState(DX_INPUT_KEY_PAD1)
If (k & @@@) <> 0 Then

End If
=-=-=-=-=-=-=-=-=-=-

n88_reon.gif
上の例にある通り、Andを取った結果が0でなければ押されたことになるの。

n88_kaede.gif
なるほど。それで先輩っ。例の中にある、DX_INPUT_KEY_PAD1ってなんなんですか?

n88_reon.gif
あぁ、それはどのジョイパッドをチェックするかを表したものだよ。DX_INPUT_KEY_PAD1なら、キーボードとジョイパッドの1番をチェックするの。ちなみにジョイパッドの2番なら、DX_INPUT_PAD2だよ。

n88_kaede.gif
なるほどー。

n88_reon.gif
それで、キーに対応した値だけど、代表的なものでは次の通り。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
DX_PAD_INPUT_DOWN……下、テンキーの2
DX_PAD_INPUT_LEFT……左、テンキーの4
DX_PAD_INPUT_RIGHT……右、テンキーの6
DX_PAD_INPUT_UP……上、テンキーの8
DX_PAD_INPUT_1……ボタン1、Zキー
DX_PAD_INPUT_2……ボタン2、Xキー
DX_PAD_INPUT_3……ボタン3、Cキー
DX_PAD_INPUT_9……ボタン9、ESCキー
DX_PAD_INPUT_10……ボタン10、スペースキー
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

n88_reon.gif
これだけ覚えておけば、ゲーム作りで困ることはまずないと思うよ。後は、リファレンスを読んでね。

n88_kaede.gif
はーい。ということは、Xキーが押されたかどうかチェックするなら、

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
k = dxGetJoypadInputState(DX_INPUT_KEY_PAD1)

If (k And DX_PAD_INPUT_1) <> 0 Then

End If
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

n88_kaede.gif
とすれば、いいわけですねっ。

n88_reon.gif
うん、その通り。ではさっそく、これを使って、ニコニコを動かしてみよう!

n88_kaede.gif
はーい!

~ニコニコを動かそう!~
n88_reon.gif
さてさて、キー入力でニコニコを動かす考え方だけど、基本的な考えは次の通り。
・上が押されたら、上に動かす
・下が押されたら、下に動かす
・右が押されたら、右に動かす
・左が押されたら、左に動かす
これをプログラムにすればいいんだよ。

n88_kaede.gif
動かすには、位置を表す変数の値を変えてやればいいんですよね。

n88_reon.gif
画面の上や左の端についたかどうかもチェックする必要があるよね。画面の上端は0、左端も0、そして下端は480だよ。

abdx1901-02.jpg

n88_reon.gif
なお、上端や左端を超えたかどうかをチェックするさいには、普通に変数の値を比べればいいよ。

abdx1901-03.jpg

n88_reon.gif
それらを踏まえて、最初のプログラムを改造すると、こうなります。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
#include "Dxlib.sbp"

Dim haikei As Long
Dim chara As Long
Dim x As Long
Dim y As Long
Dim k As Long

''初期処理
dxChangeWindowMode(1)
dxDxLib_Init()
dxSetDrawScreen(DX_SCREEN_BACK)

''背景を読み込む
haikei = dxLoadGraph("haikei.bmp")
''ニコニコを読み込む
chara = dxLoadGraph("niko.bmp")

x = 100
y = 70

Do
  ''画面をクリア
  dxClearDrawScreen()

  ''何等かの処理
  dxDrawGraph(0, 0, haikei, 1)
  dxDrawGraph(x, y, chara, 1)

  ''キー入力
  k = dxGetJoypadInputState(DX_INPUT_KEY_PAD1)

  If (k And DX_PAD_INPUT_UP) <> 0 Then
    ''上に動かす
    y = y - 4
  End If

  If (k And DX_PAD_INPUT_DOWN) <> 0 Then
    ''下に動かす
    y = y + 4
  End If

  If (k And DX_PAD_INPUT_LEFT) <> 0 Then
    ''左に動かす
    x = x - 4
  End If

  If (k And DX_PAD_INPUT_RIGHT) <> 0 Then
    ''右に動かす
    x = x + 4
  End If

  ''画面の端に出たかチェック
  ''上端
  If y < 0 Then
    y = 0
  End If

  ''下端
  If y + 100 > 480 Then
    y = 480 - 100
  End If

  ''左端
  If x < 0 Then
    x = 0
  End If

  ''右端
  If x + 100 > 640 Then
    x = 640 - 100
  End If

  ''画面に反映
  dxScreenFlip()
  ''メッセージ処理
  If dxProcessMessage() = -1 Then
    Exit Do
  End If
Loop

''後処理
dxDxLib_End()
End

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

n88_kaede.gif
おー! ニコニコがカーソルキーで動くようになりましたよ!

n88_reon.gif
これでゲームの基本部分は完成。来月からは、いよいよゲーム作りに進むよ。
次回はまず、ゲームを作るための骨組みの考え方について説明していきます。お楽しみに!



=-=-=-=-=-=-=-=-=-=-
※次の更新は、1月17日、『師匠TのチャレンジARSゲーム!』の予定です。お楽しみに!

2019年01月10日

パソレクのなく頃に、解・3話

文 裏編/絵 伊地山基之 氏

※この記事は、裏編が習ったりしていた内容をもとに記述されています。
 現在の内容とは若干違っている部分があることをご了承くださいませ(平伏



paso1901-01.jpg

paso1901-02.jpg

paso1901-03.jpg


=-=-=-=-=-=-=-=-=-=-

※次の更新は、1月14日。『ActiveBasicとDXライブラリでゲームプログラミング!』の予定です。お楽しみに!
posted by 裏編 at 09:54| Comment(0) | パソレクのなく頃に・解 | このブログの読者になる | 更新情報をチェックする

2019年01月09日

[Android(BASIC!用)] 無名

【投稿者:basictomonokai】


[はじめに]

Androidで動くBASICインタープリターアプリ「BASIC!」のファンサイトを運営しています。

一応BASICなので1本シンプルなプログラムを投稿します。


[プログラムの説明]

ニュース検索をAPIで提供している「News API」を利用して、複数条件を入力して検索すると画面に結果が表示されます。


実行するにはAndroidにBASIC!をインストールして、「News API」よりAPIキーを取得してHTML内に記述する必要があります。


[プログラムについて苦労した点や、工夫した点]

一応、アコーディオンにして少し見やすくしています。


[参考にしたもの]

News API


[実行動画]


=-=-=-=-=-=-=-=-=-=-



posted by 裏編 at 10:17| Comment(0) | 投稿プログラムコーナー | このブログの読者になる | 更新情報をチェックする