• ベストアンサー

javascriptをやっているのですが型の不一致: int から b

javascriptをやっているのですが型の不一致: int から boolean には変換できません。とエラーが出てるんですが治し方がわかりません。どなたか教えていただけないでしょうか? エラー部分はここです↓ if(dice=0){ dx=+2; }else if(dice=1){ dx=-2; }else if(dice=2){ dx=0;

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.1

比較は「==」(イコール2つ)じゃない? 1つだと代入になるから、結果はint が返っている。 if(dice==0){ dx=+2; }else if(dice==1){ dx=-2; }else if(dice==2){ dx=0; }

Hiroki-1229
質問者

お礼

ネットが止まってて返信が遅れてしまいすいませんでした。 本当にありがとうございました。

関連するQ&A

  • 型が一致しません

    特定のセルでダブルクリックすると「〇」が入り,再度ダブルクリックすると「〇」が消えるコードを調べ,以下のものです。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Const rng As String = "A1:B3" '処理対象のセル範囲 If Not Application.Intersect(Target, Range(rng)) Is Nothing Then If Target.Value = "" Then Target.Value = "○" Else Target.ClearContents End If End If End Sub 試してみましたが,「実行時エラー13 型が一致しません」というものが出て,デバックというところをクリックすると,If Target.Value = "" Thenのところが黄色くなり矢印が出ていたのでここが問題かなと思うのですが,どのように修正すればいいのか分かりません。教えていただけると助かります。

  • unsigned int型と int型の型変換の上位性

    if(-10<1u)の条件判定はunsigned型で評価され偽となります。 int型 unsigned int型とも32ビットで考えたとき、 1u = 0x00000001 -10 = 0xfffffff6で10進法では4294967286になります。 条件判定をunsigned型で考えれば確かに-10<1uは偽になり int型で考えれば-10<1uは真になります。 「通常の算術変換」によれば、「一方のオペランドがunsigned int型をもつ時、他のオペランドをunsigned int型に型変換するとあります。」 よって、if(-10<1u)の条件判定はunsigned型で評価され偽となりますが、 「一方のオペランドがint型をもつ時、他のオペランドをint型に型変換する。」では何故いけないのでしょうか? 宜しく願います。

  • 実行時エラー’13’ 型が一致しません VBA

    セルに以下の文字列が入っています。 A1=10(451 A2=452 そしてVBAにて、以下のプログラムを実行すると、「実行時エラー’13’ 型が一致しません」というエラーになってしまいました。 原因はA1に「( 」があるので文字列だからだと思うのですが、「IF 条件文」が成立しないことは満たすのでElse以下を実行されるのを期待していたのですが。 アドバイスをお願いします。 また、そもそも変数を宣言してないので「型が一致しない」というエラーの意味がわからないのですが。 If Cells(1, 1) - Cells(2, 1) = 1 Then Cells(3, 1) = 1 Else Cells(3, 1)="c" End If

  • 型が一致しません

    下記はセルが0の時、行全体を表示しないにするようにするVBAですが、型が一致しませんとエラーになります、どこを直せばいいのですか。 Dim I As Integer Sub Macro4() For I = 4 To 76 If Cells(I, 8) = 0 Then Rows("I:I").Select Selection.EntireRow.Hidden = True End If Next I End Sub

  • 「型が一致しません」のエラーが出るのですが

    htmlファイルのformに入力されたものを、aspで処理したいのですが、 エラーが出て困っています。 html内には   <INPUT TYPE=text NAME=year VALUE="" SIZE=3>年   <INPUT TYPE=text NAME=month VALUE="" SIZE=3>月   <INPUT TYPE=text NAME=day VALUE="" SIZE=3>日 があり、 aspでは  YEAR=Request.Form("year")  MONTH=Request.Form("month")  DAY=Request.Form("day") ここで、フォームの"month"に6が入力されているときのみ、 YEARに+1925し、ほかの時には+1988したいんです。そこで Dim NEN NEN=YEAR     If month="6" Then       NEN=DateAdd("yyyy",NEN,1925)      Else     NEN=DateAdd("yyyy",NEN,1988)     End If としてみたのですが、「型が一致しません」というエラーが出てしまいます。 おそらく最初にYEARに入っている(フォームから戻ってくる)値が文字列なので、それでほかの代数?に入れても文字列として処理されてしまって、1925などの数字を足すことができないのだろうと思うんですが…それであっていますでしょうか。だとしたら、型を一致させたいんですがどうしたらいいでしょうか? ものすごく醜い感じになってしまっていると思います…すみませんが、 よろしくお願いします。

  • 型が一致しません

    クラスのメソッド(VBで作成したActiveXDLL)を実行する時、 型が一致しませんというエラーがでます。 クラスのパラメータをリテラルで埋め込むと正常に実行され、 変数を用いるとエラーとなります。 何かお気づきの方、教えてくれたら幸いです << asp側 >> Set SxeObj = Server.CreateObject("sxejancheck.Jancheck") 下の書き方だとOK ReturnResult = SxeObj.CheckJan ("000001", "1111111111111") 下の書き方だと駄目 pSellerCD = "000001" pGtinCode = "1111111111111" ReturnResult = SxeObj.CheckJan (pSellerCD , pGtinCode) VB(DLL側) Public Function CheckJan(pSellerCD As String, pGtinCode As String) As Boolean 環境はIE5.5+IIS5.0+WIN2000です。

  • 式の型は配列型で int に解決済み。が解けませ。

    こんにちは、学校の課題で重力3目並べを作っていますが、式の型、int型、配列型というところでまったくつまずいてしまっています。どうか課題提出できますようお助けいただけますでしょうか。お願いいたします。私はJUNO eclipsをつかっております。 エラーは、34,50,53,66,118行目で”式の型は配列方でINTに解決済みである必要があります”です。 (申し訳ありません。文字数ぎりぎりで詰めて質問させていただきした。読みづらですがご容赦ください。 package Colonne5; public class Colonne5 { final static int jouer1 = 0; final static int jouer2 = 1; final static char [] pion = new char [] {'*','0', ' '}; final static int vide = 2; static final int PionEtoile = 1; static final int PionRond = -1; final static int Dwidth = 5; final static int Dheight = 5; final static int PreCOL = 0; final static int DerCOL = Dwidth - 1; final static int Hautligne = Dheight - 1; static int Basligne = 0; final static int H = 0 ; final static int V = 1 ; final static int[] HOR = new int[] {1, 0} ; final static int[] VER = new int[] {0, 1} ; final static int[] UP = new int[] {1, 1} ; final static int[] DOWN = new int[] {1, -1} ; final static int[][] DIRECTION = new int[][] {HOR, VER, UP, DOWN} ; private static int[][] damier ; // grid private static int name ; // player name private static char player ; // turn of gamer private static int result ; private static int impactLine ; public Colonne5 (int john){ damier = new int[Dwidth][Dheight]; for (int i = 0 ; i < Dwidth; i++) { for (int j = 0; j < Dheight; j++) { damier[i][j] = vide; } } this.name = john; player = jouer1; result = vide; } private boolean Libre(int column){ //グリッドが空いているか判断 return damier[column][Hautligne]==vide; } private boolean damierRempli() { int column = PreCOL; while (column <= DerCOL) { if (Libre(column)) return true ; column++ ; } return false ; } private void jouerCoup() throws IOException { //ゲーム開始 while (result == vide && damierRempli()) { afficher() ; int column =name[player]; System.out.print("Enter " + (PreCOL + 1) + " to " +(DerCOL +1) + " ?") ; System.in.read(); sommetColonne(column) ; if (coupGagnant(player, impactLine)) result = player ; else demanderCoup() ; } afficher() ; if (result == vide) System.out.print(" partie nulle ") ; else System.out.println(name[result] + " gagne") ; } private boolean coupGagnant (int column, int ligne) { //勝者判断 int i = 0 ; while (i < DIRECTION.length) { if (coupGagnant(column, ligne, DIRECTION[i])) return true ; i++ ; } return false ; } private static boolean coupGagnant(int column, int ligne ,int[] dir) { int nextColumn = column + dir[H] ; int nextLine = ligne + dir[V] ; int forward = 0 ; while (damier[nextColumn][nextLine] == player) { nextColumn += dir[H] ; nextLine += dir[V] ; forward++ ; } nextColumn = column - dir[H] ; nextLine = ligne - dir[V] ; int backward = 0 ; while (damier[nextColumn][nextLine] == player) { nextColumn -= dir[H] ; nextLine -= dir[V] ; backward++ ; } return backward + 1 + forward >= 3 ; } private static int demanderCoup() { //どちらのプレイヤーの順番か判断 if(player==jouer1){ player = jouer2; } else player = jouer1; return player; } private void sommetColonne(int column) { //現在の駒の一番上を取得判断 if(!Libre(impactLine)) throw new RuntimeException(" colonne pleine ") ; impactLine = Hautligne ; while (impactLine > Basligne && damier[Dheight-1][impactLine-1] == vide) impactLine-- ; damier[Basligne][impactLine] = player ; } private void afficher() { //ゲームの表示 for (int column = PreCOL ; column <= DerCOL ; column++) System.out.print("| " + (column + 1) + " "); System.out.println("|"); for (int line = Hautligne ; line >= Basligne ; line--) { for (int column = PreCOL ; column <= DerCOL ; column++) System.out.print("| " + pion[damier[column][line]] + " ") ; System.out.println("|"); } } public static void main(String[] args) { Colonne5 joue = new Colonne5(name) ; joue.jouerCoup(); } }

  • 型が一致しない というエラー

    Private Sub Worksheet_Change(ByVal Target As Range) If Target = Range("B1") Then Range("B3:B8").Select Selection.ClearContents End If End Sub というコードを書いています。 B3~B8は「数字」という書式です。 型が一致しない13番のエラーが出ます。 原因と対処法を教えてください。 宜しくお願いします。

  • JavaのObjectからintへの型変換について

    JavaのObject[][]からint[][]への型変換について、質問があります。 Jtableの表の中身を構成する要素【Object[][]】を取り出し、一部をint[][]として数字の条件と比較したいと考えております。 Object型の配列を簡単にintに変換できる方法は例えばどの様なものがあるのでしょうか? 教えていただけるとありがたいです。

    • ベストアンサー
    • Java
  • strchr() の第2引数はなぜ int 型なのでしょうか

    もしかすると、ちょい前の質問(https://okauth.okwave.jp/qa4151232.html)と同じことを聞いているような気もしますが、気にせずポスト。 その質問を読んだ時に strchr() のマニュアルを見たわけなんですが、そのプロトタイプ宣言は char* strchr(const char* s, int c); なんですね。どうして第 2 引数の型が int なのでしょう?「文字」c を検索するんだから普通に考えれば char ではないかと思うのですが、誰か教えて下さい。 ソースはこんな感じだったので、int である必要はないように思えるのですがどうなんでしょうか? 負数を与えたときに「何らかの動作」を期待してのことなのでしょうか? char* strchr(const char* s, int c) {  char ch;  ch = c; /* <= 結局 char 型にしている */  for ( ; ; ++s) {   if ( *s == ch ) {    return (char*)s;   }   if ( *s == '\0' ) {    return NULL;   }  } }