プチコンまとめWiki (初代/mkII)

投稿プログラム : PZDR

パンくずリスト

2013年6月21日投稿 / 投稿者 : OBONO / タグ : 投稿プログラム mkII専用 パズル QRコード
2013年6月25日更新

概要

某有名RPGの戦闘中でのパズルの部分を、できるだけ少ないコードで実装できないかな…という事で作ってみました。
QRコード1枚に収める事を第一目標としているので、いろいろと端折っています。
いくらドロップを消しても何も起きず、延々とパズルが続きます。ゲームクリアもゲームオーバーもありません。

遊び方

言わずもがなと思いますが、一応書いておきます。

  • 下画面をタッチペンで操作します。
  • 1つのドロップをタッチ操作で移動させます。移動させる事でドロップの位置を入れ替える事ができます。
  • タッチし続ける間は、ドロップを好きなように移動できます。
  • タッチペンを離した時、同じ種類のドロップが縦か横に3つ以上揃っていると、それらは消滅します。
  • その際、上にあるドロップが落下してきます。

スクリーンショット

pzdr_shot.jpg

QR コード

プチコンmkII 向けのQRコードです。

pzdr_qr3.png

注意:本プログラムはゲームのロジック部分だけなので、スプライト画像やパレットデータを別途作成して、事前に読み込んでおく必要があります。
※下画面のスプライト8番〜31番、カラーパレット2番〜7番を使用します。

例えば、PZDR_CHRという名前のCHRリソース、PZDR_COLという名前のCOLリソースを作成し、
プログラムを読み込んだ後、実行モードで以下の命令を実行してから、RUNするといった具合です。

  1. SPPAGE 1
  2. LOAD”SPS:PZDR_CHR”
  3. LOAD”COL1:PZDR_COL”

…とは言っても、自分でデータを作成するのは面倒でしょうから、仮の画像をパッケージングしたQRコードも用意しておきました。

pzdr_qr3_chr.png

プログラムリスト

  1. PNLTYPE”OFF”SPPAGE 1CLEAR
  2. DIM F(6,5),J(6,5),C(31)FOR I=1TO 30SPSET I,0,0,0,0,3,32,32SPHOME I,16,16NEXT
  3. GOTO@F
  4. @T
  5. IF!TCHST THEN@T
  6. GOSUB@Z
  7. X=P:Y=Q
  8. M=F(X,Y)C=C(M)SPCHR M,C*4,C,0,0,2
  9. @M
  10. T=10GOSUB@Z
  11. SPOFS M,K,L
  12. IF ABS(X*32+48−K)>23OR ABS(Y*32+32−L)>23THEN F=F(P,Q)GOSUB@O:SWAP F(X,Y),F(P,Q)BEEP 27X=P:Y=Q
  13. IF TCHST THEN@M
  14. T=0F=M
  15. SPCHR F,C*4,C,0,0,3GOSUB@O
  16. @J
  17. FOR X=0TO 5FOR Y=0TO 4J(X,Y)=0NEXT:NEXT
  18. FOR V=0TO 1W=!V:FOR X=V TO 5−V:FOR Y=W TO 4−W
  19. C=C(F(X,Y))IF C==C(F(X−V,Y−W))AND C==C(F(X+V,Y+W))THEN J(X−V,Y−W)=1J(X,Y)=1J(X+V,Y+W)=1
  20. NEXT:NEXT:NEXT
  21. K=0FOR X=0TO 5FOR Y=0TO 4IF J(X,Y)THEN F=F(X,Y)F(X,Y)=0SPSCALE F,0,30C(F)=0K=1
  22. NEXT:NEXT
  23. IF!K THEN@T
  24. BEEP 10WAIT 30
  25. @F
  26. T=20FOR X=0TO 5Y=4FOR Q=4TO 0STEP −1
  27. IF F(X,Q)THEN F=F(X,Q)SWAP F(X,Q),F(X,Y)GOSUB@O:Y=Y−1
  28. NEXT
  29. IF Y>=0THEN GOSUB@N
  30. NEXT
  31. WAIT 20GOTO@J
  32. @N
  33. Q=Y
  34. FOR Y=0TO Q
  35. C=RND(6)+2GOSUB@S
  36. F=S
  37. F(X,Y)=F
  38. SPCHR F,C*4,C,0,0,3
  39. T=0Y=Y−Q−1GOSUB@O
  40. T=20Y=Y+Q+1GOSUB@O
  41. SPSCALE S,100NEXT
  42. RETURN
  43. @O
  44. SPOFS F,X*32+48,Y*32+32,T
  45. RETURN
  46. @Z
  47. K=TCHX:K=K−(K<32)*(K−32)−(K>223)*(K−223)
  48. L=TCHY:L=L−(L<16)*(L−16)−(L>175)*(L−175)
  49. P=K/32−1OR 0Q=L/32−.5OR 0RETURN
  50. @S
  51. S=S+1−(S>29)*30IF C(S)THEN@S
  52. C(S)=C
  53. RETURN

改良ポイント

  • グラフィックを変更する
  • 斜めの入れ替えができないのを対応する → 改良済(2013年6月25日)
  • ドロップの移動に時間制限を設ける
  • 隣接していないドロップも入れ替えられる不具合があるので、その対策をする
  • ゲーム開始直後にいきなりドロップが消えないように、初期配置を工夫する
  • どのドロップがいくつ消えたか、何コンボなのか全くチェックしていないのを、どうにかする
  • 揃えたドロップが全部同時に消えてしまうので、オリジナルのようにドロップの消えるタイミングを変化させる
  • ドロップ消滅の画面効果をもっと派手にして、ドロップの種類によって変化させる
  • 上画面を使って、モンスターと戦っていくゲームに発展させる

CHECKER FLAG (ひとことコメント)

※要望は一切受け付けません。頑張って自分で改良してみましょう。

  • 名無しさん : 手抜き乙 (2013/06/22 (土) 02:09:08)
  • 田中(天才) : これはまさかあのゲーム?! (2013/06/22 (土) 10:01:02)
  • 名無しさん : 要望受け付けないとかどケチすぎるwwwwwwwwww (2013/06/22 (土) 17:39:25)
  • キービィ : 本家は3DSでも出るからな、これ読み込んで練習代わりには…ならないかw (2013/06/22 (土) 19:36:10)
  • 名無しさん : 誰かやると思ってたww要望じゃないけど、改良期待してます! (2013/06/22 (土) 20:33:12)
  • あああ(T_T) : 消されそうw (2013/06/23 (日) 17:41:46)
  • 名無しさんの親 : オモシーーーーーーーーーロイ! (2013/06/24 (月) 23:30:40)
  • 名無しSUN : 斜め入れ替え、できないこともないけど難しい。 (2013/06/25 (火) 01:24:09)
  • 名無しさん : 斜めにできるように改造してみたが・・・リスト読みにくいな (2013/06/25 (火) 17:13:20)
  • 名無しさんの親 : どの行でグラフィックを変えられるのかな? (2013/06/25 (火) 18:26:32)
  • OBONO : 斜め入れ替えについて、ゲーム性に大きく関わってくる要素なので、改良しておきました。 (2013/06/25 (火) 23:43:02)
  • OBONO : それ以外の改良ポイントについては、確実にQRコード1枚を超える変更量になりそうなので、自分は手を出しません。 (2013/06/25 (火) 23:44:07)
  • 名無しさん : 時間制限とコンボ数計測はすぐできると思う (2013/06/27 (木) 22:06:30)
  • 名無しさん : 一番難しいのが、「隣接していないドロップも入れ替えられる不具合があるので、その対策をする」かな?(マルチタッチができないから) (2013/06/27 (木) 22:08:37)
  • 名無しさん : 「揃えたドロップが全部同時に消えてしまうので、オリジナルのようにドロップの消えるタイミングを変化させる」「 ドロップ消滅の画面効果をもっと派手にして、ドロップの種類によって変化させる」「上画面を使って、モンスターと戦っていくゲームに発展させる」は技術力によると思うね (2013/06/27 (木) 22:11:37)
  • 名無しさん : 「ドロップ消滅の画面効果をもっと派手にして、ドロップの種類によって変化させる」はチェックを繰り返すとか(?) (2013/06/27 (木) 22:12:48)
  • 名無しさん : ↑いずれもやるのがめんどくさいのでいうだけいっただけの暇人であしたぁ (2013/06/27 (木) 22:14:03)
  • 名無しさん : あと、qrはあきらめるべきだ!!(完成した奴がQRがいくらあってもやりたいめんどくさがりや) (2013/06/27 (木) 22:15:44)
  • TAROsoftwear(仮) : コレで超本格的なゲーム作成中(公開してもいいですか?うp主さん) (2013/07/04 (木) 19:54:49)
  • 名無しさん : ↑ちょw綴り違うww「software」だぞ (2013/07/04 (木) 21:02:25)
  • 名無しさん : ポイント計算を組み込んでみたら、ドロップがエラった (2013/07/06 (土) 08:48:01)
  • TAROsoftware(仮) : 名無しさん、ありがとうございます。 (2013/07/08 (月) 20:35:29)
  • OBONO : そもそもこのプログラムは(アイデアの)パクリなわけで、これを利用したプログラムの公開可否について僕がとやかく言える立場じゃありません。お好きにどうぞ。>TAROsoftware(仮)さん (2013/07/13 (土) 00:25:05)
  • ミジュはると : むっちゃ楽しいww (2013/07/14 (日) 07:53:36)
  • パズ & ドラ : 面白いな! 面白いわ! (2013/09/30 (月) 22:56:35)
  • ルシファァァァア : パズドラのドロップバグって宝石並べから古代のタイル並べになったww (2013/10/05 (土) 20:18:34)
  • 柔ドンダー : 無限チェンジザワールドwwww (2013/11/02 (土) 17:28:29)
  • 柔ドンダー : ファイル名変えただけでバグったのは何故なんだ〜(笑) (2013/11/02 (土) 17:51:46)
  • 名無しさん : ↑パッケージファイルを読み込んだからでは?保存する時にパラメータ指定しないとデフォルトのSPUが読み込まれてしまいます。 (2013/11/02 (土) 22:14:11)
  • 名無しさん : 「パズ○ラっぽい何か その2」のグラフィックは公開してくれないのですか? (2013/12/26 (木) 17:22:11)
  • かずえもん : パズドラのドロップバグって宝石並べから古代のタイル並べになったww おれもw (2014/01/06 (月) 18:14:59)
  • 名無しさん : 起動したら3コンボwwところで、いきなり起動時に消えるのはタッチ終了後のみ消える判定をしたらいかがでしょう。スマホ版は多分そのような仕様になっていると思われます。 (2014/01/06 (月) 20:05:52)
  • 名無しさん : 本家よりやり易く感じるのは俺だけか? (2014/02/21 (金) 06:56:07)
  • 名無しさん : 3号の公開コードを! (2015/03/21 (土) 16:50:37)
  • 名無しさん : しね (2019/03/09 (土) 11:59:53)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.035 秒 | このページの最終更新 : 2019/03/09 (土) 11:59:53 (73d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30