(まだ途中7.28更新)[プチコン4]【プログラミング】スーパーマリオを作りたい😆#1 〜ブロックとキャラクターの当たり判定まで〜
はじめまして。✨〜私のプログラミング歴〜
やった事あるプログラミング🧑💻ソフトは、『3DSの、プチコン3号』と、『はじめてゲームプログラミング』と、『プチコン4』です。🎮
なんと↑(計)プレイ時間1400時間もやっていた⁉️😮でも遊ぶ専門でした。初心者🔰です…
(ちなみに、一番初めのキッカケ💫は、その頃プログラミングという言葉を知らなくて、なんとなく「ゲームを作るゲーム」と🔍検索してみたことがきっかけ!!)
でも、最近は作りたいものがないので全然やってませんでした。だけど作りたいものは、あるにはある!けど、技術がなくて作れないもどかしさ…(どうぶつの森✖️マイクラ、テラリアとか)
😩でもマリオ🎮なら作れそうと思った!しかも、面白そうだし!!(テトリス🟪もいいなと思ったけど難しそう…)
ずっと前にも、作ろうとしたけれど、ブロック🟧とキャラクター🏃♂️➡️の当たり判定わからなくてやめちゃった😔
だから、リベンジだツ🔥
2024
この記事は誰のために書いてるのか。それは筆者自分自身のためです。全くしらない人にわかりやすくつたえる練習だ😚
頑張って作っていきたいと思います😆(行き当たりばったりだけど!)
🗒️不定期更新。なので、完成まで何年かかるのか😡?
(著作権がわからない。❓スーパーマリオブラザーズとか、「noto」に書いていいのか。)
プチコン4とは?
『ニンテンドースイッチ』でプログラミングが出来るソフトです!(体験版もあります!)
「SmileBASIC」というプログラミング言語です
なんだかゲーム制作や、学習用に開発された、やさしめの言語らしい??です。
キーボード⌨️&マウス🖱️はあると便利です⭐️(USBキーボードが推奨されてます。無線は、USBレシーバーあるやつなら、できる!)
別にキーボードとマウスはなくても、画面タッチで操作できますが、画面が小さすぎる、、
(タイピング慣れてないから操作が難しいよー😓)
ほかにも、
地味に大事な、「やり直し」:ctrl + z「やり直しのやり直し」:ctrl + Shift + z が、ありました😀コントローラ🎮の操作は、慣れて覚えましょう🙏
では、やっていきます♪
まず、プロジェクト📽️📁を作ります。
・プロジェクトの新規追加をおす
・名前を入力!「SUPER.MARIO」
・「このプロジェクトを使用」をおす❗
・プロジェクト情報の編集をおして、わかりやすくするために、アイコンを描こう!
いざプログラム画面へ!!
まず、トップメニューに戻って、「プログラムを作る」を押します🙋♂️
そしたら、DIRECTモード📺という画面になります。(コンソール画面とも?)
プログラムは、「EDITモード」に書きます。📝
🔘Xボタンや⌨️F4で切り替えます〜〜
いよいよプログラムをかいていこう🤩!
(プチコンは、プログラムは大文字で書くのが定番!!)
まず、とりあえず一番に書く定番の命令、「ACLS」(画面の初期化)をかく。
SPSET(スプライトセット)命令でキャラクター🏃♂️➡️を表示します。
SPOFS(スプライトオフセット)で、キャラクターの場所(XとY)を指定します!!
GCLSは、指定した色で(水色🩵)で塗りつぶし、背景にする!
SPSETは、色々使い方や書き方があります。
「SPSET 0,498
SPOFS 0,X,Y」
とか。他はわかりません〜😔
ループを書いて、うごかそう!!
*解説?*
Gは、重力の変数です。🙇
mario_xと、mario_yも変数です!(ここから、大文字で入力するのめんどくさいよ🤧)
そして、ループするごとに、gが0.1ずつ増えていってます。
それがマリオYに足されます。spofsで座標を動かします。
vsyncは、垂直同期といって1/60秒待つ❓わからないけど、これをつけなきゃ速すぎてとても操作が出来ません。x)
🟢緑のもじは、後から見る時などわかりやすくするメモです「’」(アポストロフィ)。
キャラクターを左右に動かそう!!⬅️🏃♂️➡️
*追加した所を解説!*
varで、初めに変数を定義しました🙂べつに書かなくてもいいのですが、、一応。
if mario_y>400 then beep 36 end
と、マリオyが400超えて落ちたら、終わるようにしました🌠(仮)なので後で数字を調整する!)
beepという命令は効果音🎶をならす命令です🎷。今は、適当に決めた36番の効果音を鳴らしておきます。
end(エンド)はその名の通り、終わります。プログラムを終了する命令です!
十字ボタン🔘で左右🏃♂️操作!!
←まず左移動。←←
if button(0,#b_lleft) then mario_x = mario_x-2
[もしも、◀️左ボタンがおされたら、マリオXを2つずつ減らす🏃♂️]
button(ボタン)命令は、ボタン入力に使います。🔘🔘
(かっこ)のなかの、0は、コントローラー🆔で🎮を2台以上使うときにつかう❓
#B_LLEFTはyボタン🔘のことです!これは、ボタン🆔です!
画像のように、左側はL⬅️が入って、右側はR➡️が入ってます
→そして右移動。→→コピー&ペーストで、「+とー」、「leftとright」を書き換えるといいです✨
if button(0,#b_lright) then mario_x = mario_x+2
🌱ここでちょっとひとやすみ✨SAVEの仕方☺️
ファイル📁名は、「MAIN.PRG」にして下さい‼️(メイン.プロジェクト)
🫡セーブ💽方法は、
DIRECTモードで、save”main.prg”と入力⭕️
それか、
ctrl(コントロールキー) + s でできます!ちなみにロードは、+ Lです。
*他のプログラム作ってたりしてると、「使用するプロジェクト⚙️」が変わってたりするのでよく確認しよう🙋♀️
LOADの仕方
①まず、作品を実行。これで読み込めました😃
(プラス➕ボタンかF5で終わって、
Bボタン連打かescで、プログラム画面へ!!)
定数をつかおう😐
「mario_speed=2」これは、マリオの移動速度を2と、あらかじめ定義しています。
定数とは、最初に決めておいた、後から変更できない数です?(説明会ってるのかわからない😑)
例えばこれ*画像↑*なら、
マリオスピードが2になってるけど、4とか333とかに変えたい❗️となったとき、「2行以上プログラムかえるのめんどくさい😵💫」という風になるので定数を使います。つまり長〜〜いプログラム書く人がよく使います❤️
const という命令もあります。#をつける事によって、グレー色🩶になり、定数か、変数か見分けがつきます。🤗
今更な、
床の当たり判定___________
IF MARIO_Y>176 THEN MARIO_Y=176:G=0
マリオYが、176座標超えないようにしてます。(176は、⬜︎🧱多分11マス分)
:(コロン)を使って区切れば、1行に何個も書けます🤗
g=0は、マリオYに足されてるので、つまりマリオYが無限♾️に増え続け、
IF MARIO_Y>400 THEN BEEP 36 END
↑この行のせいで、何秒かたつとマリオYが400超えて、終わってしまう😔ので😃g=0の、登場!!。。。
あれ、、?🧐「スーパーマリオを作りたい」というタイトル記事だけど、どこまで再現するのかを、決めてない。💬マリオメーカーみたいにするのか、1−1再現するのか、
慣性を付けたい!🙋♂️💨。初代マリオみたいにすべるように
これブロックの当たり判定が難しくなりそうな?知らんけど😼ロマンだ⭐️ってことで、AIに書いてもらった!🖥️🤖💬
変数名の英語わからん😔⌨️
摩擦f、加速度A(vは、みんなが何かよく使ってるので、真似しただけ)
英単語わからないと、プログラミングは、不便です👿‼️
✍️*画像*分からないところは、スピードが自由に変更出来ないところと、
変数vとsの意味。
↑↑はとりあえず置いといて、🥱気分転換に🏃♂️➡️マリオのドット絵を描いて行こう〜〜🤩
⌨️f11?押して「GAHAKU」を開きます!
今までこのキャラクター使ってたので、そこに書きます🎨
使い方は、慣れて下さい🙏!!!!斜線が入ったカラーが、透明になります🫥ボタン操作で描く方が描きやすいです🤨多分。
(マリオのドット絵って、12×16だったんだ?!まあえっか😆ジャンプのときは、16×16だし!!)
⒌セーブします。(右上↗️の所)
⒍ LOADGで、描いたスプライトを読み込みます😷これで操作キャラ🏃♀️➡️がマリオになった。
(余談ですが、grpは、グラフィックのことです。なんか、prgとかpgr、rpg、rgbとかややこしくないですか?🙃🙁☹️🙀🗯️。)
ブロックも描こう!🧱
やっぱ、絵の容量少なくする!😝
#1では、後………
ジャンプ、ブロック判定、一面マップ、歩くアニメーション、メロディ(MML)、マリオ絵、予定。
#2は、スクロールする予定