コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
はるき ◆OcUzQDWy8kwA
2018/3/6 17:32
質問
if
プチコン初心者です。自分はプログラム組むために、if使いまくってます。上級者の方はどうなんですか?

コメント

アバター
小林多喜二 2018/3/6 18:22 ◆iFgonDsIHBCI
Ifが無いと、プログラムが成立しないんじゃ無いですか?
アバター
こういち 2018/3/6 18:41 ◆ou0jbJnEJ0Kb
ENDIF
というのを使っています。
アバター
あまさとしおん 2018/3/6 18:49 ◆mzDKTVUAtwqE
IF文は絶対必要なの?と気になったらIF文禁止縛りプログラミングをやってみよう。
と、言いたいところだけど「IF文禁止縛り」だとほとんど自由に組めますよね

「FOR-NEXTで代用」という裏技がありましてね
なんだかんだで初代/mkIIのwikiに載っていたりします

http://wiki.hosiken.jp/petc/?Mame%2FKoneta#f3d85640
アバター
こういち 2018/3/6 19:03 ◆ou0jbJnEJ0Kb
確かにしおんさんの仰るとおりIFは無くてもだいたいの場合何とかなります。
IF文禁止縛りは勉強になりますよ。
ただ、速度、可読性の面でIFは優秀なので、どんどん使って良いと思います。
アバター
キルル2 2018/3/7 8:49 ◆rGE712Ruejv7
if文だけ禁止してもwhile文に完全置き換え可能だから無意味では?

【本題】
上級者さんも初心者さんもプチコンで作られたゲームにはif文が使われまくりです
私もそうです
ビバif文
アバター
Ryou Tanpo 2018/3/7 19:13 ◆AI5iRr9FjmkJ
IF 使うと返って分かりづらいと思います
また、変数の名前付けと、繰り返し処理の名前付けは、また意味が違ってくると思うのですが…

【変数の名前付け】
VAR HP ' 何のHPやねん

VAR ENEMYHP ' 敵のHPです

【処理の名前付け】
DEF SET
... ' 何をセットするんだい!?
END

DEF SETMYSCORE THESCORE
MYSCORE=THESCORE ' あ、プレイヤーのスコアをセットするのね…!
END

どうでもいいことの頭突っ込んでしまった。間違っていたらすみません

コーディングの仕方や好みは人によって異なるんでやはり速度や使い勝手考えてあとはもう適当でいいと思いますよ。多分

自分としては条件によって処理をする/変えるには IF 文で、繰り返しは WHILE や FOR など使い分けたほうが良いとは思いますけど…あくまでじぶんの意見です。
さすがに WHILE 1 - WEND と REPEAT - UNTIL 0 とかは好み

あとこれらは何にどれを使うか決めたら統一しましょうね
長文失礼しました。
アバター
でんぺん 2018/3/7 19:37 ◆HfSy5ayxtyTa
縛りでIFを使わないプログラムを組むとか1画面プログラムとか特殊な事をする場合はIFを使わないとかはあると思いますが基本的には多発する命令の一つだと思いますね。なのでIFが多いと良くない、とかそういうことはないと思います。
ただ例えばループならIFやGOTOを使っても作れますがREPEATやFORという命令があるので、それを使った方がスッキリする、みたいな事はありますね。要は適材適所というか、そんなイメージです。

プログラムとしては古くからあるアセンブラでもIFやGOTOに相当するものはありますし、基本的な命令のグループの一つじゃないかなって思います。ただGOTOは最近の言語では使わないのが主流になってますがIFはそういうことはないので、やっぱり大事な命令の一つだと思いますよ。
アバター
TERA(LL) 2018/3/8 9:20 ◆qZ/8dOT.xLxY
上級者 というか、プログラムに慣れてくると、フローチャート的なものが、コーディング前にしっかり組み立てられる様になるので、初心者に有りがちな、無意味なIF文(ここにこのIFいらなくね?)は自然に減ってくるかと。


まぁ、急な仕様変更とか思いつきで突貫工事的に拡張や追加した場合、IF文やGOTOのお世話になる(見苦しいプログラムになる)のは仕方ないかな〜。


あ、ON - GOTO -、ON - GOSUB -の存在も忘れないでやってください。
アバター
はるき 2018/3/8 16:39 ◆OcUzQDWy8kwA
そうなんですか。色々とわかりました。

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -