質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

1回答

859閲覧

processing について

0pfrn

総合スコア8

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2021/11/08 14:07

前提・実現したいこと

processingを使用してミニゲームをつくろうとしていましたが、どこが間違っているのかわかりませんでした。
「プログラミングとゲームの杜」のブロック崩しを参考にしました。

発生している問題・エラーメッセージ

expecting }, found 'else'

該当のソースコード

Java

1void draw(){ 2 background(0); 3 if(gseq==0);{ 4 gameTitle(); 5 }else if(gseq==1){ 6 gamePlay(); 7 }else{ 8 gameOver(); 9 } 10}

試したこと

else if の行が間違っているのはわかっていますがカッコの数もあっているのでわかりませんでした

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

if文の構文は
if(論理型の値を持つ式)文 else 文
です。else以下はオプションで省略可能です。

'文'は、いくつかのパターンがありますが、例えば
式;
というのが文の形式の一つです。ここで、式がなにもない、空の場合
;
も何もしないですが文であって、「空文」と呼ばれます。

if文とは全く別の話として、{ }ブロックで0個以上の文を囲むとそれを一つの文として扱う、というルールがあります。

以上の知識を持った上で、

Processing

1 if(gseq==0);{ 2 gameTitle(); 3 }else if(gseq==1){

この部分をよ~くみてください。穴のあくほど。

if: キーワードですね
(eseg==0) :論理値を持つ式がカッコ内にかかれています。
; :空文です。

ここまでで、if(式)文が完結してしまいました。なのでif文はここで終了しています。

{ gameTitle(); } :ブロックで囲まれた一つの文です。
else : ここまででif(論理式)文 文 elseとなっていて、文法に合致しません(このelseには対応するifがありません)。

まぁ、初心者あるあるな間違いなので、なんどか痛い目をみるわけですが(私もかつてはやりましたが)
カッコのあとになんでもかんでも;を付けてはいけません。ifのあとのカッコは関数のカッコとは違います。

きっと

Processing

1 if(gseq==0){ 2 gameTitle(); 3 }else if(gseq==1){

しなきゃいけなかったのでしょう。

投稿2021/11/08 14:29

thkana

総合スコア7703

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0pfrn

2021/11/08 14:34

見逃していました、ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問