###前提・実現したいこと
今、ちょっとしたゲームを作成していて、デッキを作成していてそのデッキをマップ内の場所のクエストに参加させるコードを作成したいと考えています。
こちら側でデッキ選択とマップ選択をしたいと思っています。
実行結果の希望例を出しておきます。
”第一部隊は函館の出陣先に向かった。”
String s1 = new java.util.Scanner(System.in).nextLine();
この定型文を使えばいいのかなと考えていますが、私の知識ではこれ以上は分かりません。
###発生している問題・エラーメッセージ
System.out.println(デッキA + "は" + new java.util.Scanner(System.in).nextLine());
エラーメッセージ
非 static フィールド デッキA を static 参照できません
初心者の馬鹿な考えでこんな風に合体させたら動くんじゃないかなと試したら上記のエラーメッセージが出ました。
###該当のソースコード
System.out.println(第一部隊 + "は" + new java.util.Scanner(System.in).nextLine());
初心者の馬鹿な考えでこんな風に合体させたら動くんじゃないかなと試したら上記のエラーメッセージが出ました。
###試したこと
System.out.printlnの文中に組み込めないのかなとサイトを見ていますが、私が探し求める解決方法がありません。
###補足情報(言語/FW/ツール等のバージョンなど)
eclipseを使用しています。
javaの勉強を始めてからまだ半年しか経っておらず、まだまだ私自身の知識不足があると思いますが、教えていただけたらと思います。
よろしくお願いします。
修正を致しました。
public static void Honmaru = main (String[] args) { Honmaru h = new A(); h.player = "プレイヤー名"; h.home = "自分の家"; h.call1 = "デッキA"; h.call2 = "デッキB"; h.call3 = "デッキC"; h.call4 = "デッキD"; h.map1の1 = "マップ1-1"; h.map1の2 = "マップ1-2"; h.map1の3 = "マップ1-3"; h.map1の4 = "マップ1-4"; h.map2の1 = "マップ2-1"; h.map2の2 = "マップ2-2"; h.map2の3 = "マップ2-3"; h.map2の4 = "マップ2-4";
省略(以下はマップが7-4まで続きます。)
h.ss0 = ("キャラ1"); h.ss1 = ("キャラ2"); h.ss2 = ("キャラ3"); h.ss3 = ("キャラ4"); h.ss4 = ("キャラ5"); h.ss5 = ("キャラ6"); h.ss6 = ("キャラ7"); h.ss7 = ("キャラ8"); h.ss8 = ("キャラ9"); h.ss9 = ("キャラ10"); h.ss10 = ("キャラ11"); h.ss11 = ("キャラ12"); h.ss12 = ("キャラ13"); h.ss13 = ("キャラ14"); h.ss14 = ("キャラ15"); h.ss15 = ("キャラ16"); h.ss16 = ("キャラ17"); h.ss17 = ("キャラ18");
省略(全キャラの名前が同じように定義されています。)
String s1 = new java.util.Scanner(System.in).nextLine(); String s2 = new java.util.Scanner(System.in).nextLine(); String s3 = new java.util.Scanner(System.in).nextLine(); String s4 = new java.util.Scanner(System.in).nextLine(); String s5 = new java.util.Scanner(System.in).nextLine(); String s6 = new java.util.Scanner(System.in).nextLine(); System.out.println( s1 + "をリーダーに指名した。"); System.out.println(デッキA + "は" + new java.util.Scanner(System.in).nextLine());
エラーが出ている近くの部分まで載せます。
エラーが出ているのは最後の行のみです。
public static mainメソッドの「外側」との話だったのですが、privateに変わっていて、表示が隠れてしまっており、表示されません。
public class toukendanshi = B { String ss0; String ss1; String ss2; String ss3; String ss4; String ss5; String ss6; String ss7; String ss8; String ss9; String ss10; String ss11; String ss12; String ss13; String ss14; String ss15; String ss16; String ss17;
オブジェクト指向を使っての作成なので別クラスの最初の部分を掲載致します。
元々、このゲームは前に作ったものをもっと高度なものにしようと思い、新しくフォルダも作成し、作り始めたものです。
前に作ったものはこのようなエラーがなかったので正直訳が分かりません。
デッキには1体から6体までキャラクターをデッキに組めます。
オブジェクト指向で作成を考えているので、Aというクラスは要はゲームのシナリオ?的な意味でBというクラスはそのシナリオに必要な例えばキャラクターだけのクラスといったところですかね。
分かりにくくてすいません。
改めてよろしくお願い致します。
public static void Honmaru = A(String[] args) { Honmaru h = new Honmaru(); h.Saniwa = "審神者"; h.home = "本丸"; h.call1 = "第一部隊"; h.call2 = "第二部隊"; h.call3 = "第三部隊"; h.call4 = "第四部隊"; h.Senti = "出陣先"; h.map1の1 = "函館"; h.map1の2 = "会津"; h.map1の3 = "宇都宮"; h.map1の4 = "鳥羽"; h.map2の1 = "鳥羽"; h.map2の2 = "江戸"; h.map2の3 = "江戸(元禄)"; h.map2の4 = "大阪"; h.map3の1 = "関ケ原"; h.map3の2 = "本能寺"; h.map3の3 = "越前"; h.map3の4 = "安土"; h.map4の1 = "長篠"; h.map4の2 = "三方ヶ原"; h.map4の3 = "桶狭間"; h.map4の4 = "京都(椿寺)"; h.map5の1 = "鎌倉(元弘の乱)"; h.map5の2 = "元寇(博多湾)"; h.map5の3 = "墨俣(承久の乱)"; h.map5の4 = "厚樫山"; h.map6の1 = "市中"; h.map6の2 = "三条大橋"; h.map6の3 = "池田屋二階"; h.map6の4 = "池田屋一階"; h.map7の1 = "江戸(新橋)"; h.map7の2 = "江戸(白金台)"; h.map7の3 = "江戸城下"; h.map7の4 = "江戸城内"; h.syutujin = "出陣"; h.ensei = "遠征"; h.ensenY = "遠戦弓"; h.ensenJ = "遠戦銃"; h.ensenT = "遠戦投石"; h.gassen = "白刃戦"; h.mokutan = "木炭"; h.toishi = "砥石"; h.reikyakusui = "冷却水"; h.tamahagane = "玉鋼"; h.tousou = "刀装"; h.tantou = "鍛刀"; h.ss0 = ("今剣"); h.ss1 = ("愛染国俊"); h.ss2 = ("秋田藤四郎"); h.ss3 = ("厚藤四郎"); h.ss4 = ("乱藤四郎"); h.ss5 = ("薬研藤四郎"); h.ss6 = ("五虎退"); h.ss7 = ("前田藤四郎"); h.ss8 = ("平野藤四郎"); h.ss9 = ("小夜左文字"); h.ss44 = ("博多藤四郎"); h.ss45 = ("後藤藤四郎"); h.ss46 = ("信濃藤四郎"); h.ss47 = ("不動行光"); h.ss48 = ("太鼓鐘貞宗"); h.ss49 = ("包丁藤四郎"); h.ss50 = ("毛利藤四郎"); h.ss51 = ("謙信景光"); h.sshp = 150;// 短刀のHP h.ssa1 = 10;// 短刀の攻撃① h.ssa2 = 10;// 短刀の攻撃② h.sska = 15;// 短刀の攻撃会心の一撃 h.sssp = 30;// 短刀の真剣必殺 h.sskei = 100;// 短刀の軽傷 h.sstyu = 50;// 短刀の中傷 h.ssjyu = 20;// 短刀の重傷 h.wa10 = ("堀川国広"); h.wa11 = ("にっかり青江"); h.wa12 = ("骨喰藤四郎"); h.wa13 = ("鯰尾藤四郎"); h.wa14 = ("浦島虎徹"); h.wa52 = ("物吉貞宗"); h.wa53 = ("篭手切江"); h.wahp = 200;// 脇差のHP h.waa1 = 15;// 脇差の攻撃① h.waa2 = 15;// 脇差の攻撃② h.waka = 20;// 脇差の攻撃会心の一撃 h.wasp = 35;// 脇差の真剣必殺 h.wakei = 150; h.watyu = 70; h.wajyu = 30; h.K15 = ("加州清光"); h.K16 = ("蜂須賀虎徹"); h.K17 = ("陸奥守吉行"); h.K18 = ("山姥切国広"); h.K19 = ("歌仙兼定"); h.K20 = ("大和守安定"); h.K21 = ("鳴狐"); h.K22 = ("宗三左文字"); h.K23 = ("へし切長谷部"); h.K24 = ("長曾祢虎徹"); h.K25 = ("大俱利伽羅"); h.K26 = ("同田貫正国"); h.K27 = ("和泉守兼定"); h.K54 = ("亀甲貞宗"); h.K55 = ("村正"); h.khp = 250; h.ka1 = 20; h.ka2 = 20; h.kka = 25; h.ksp = 40; h.kkei = 200; h.ktyu = 110; h.kjyu = 40; h.S28 = ("三日月宗近"); h.S29 = ("小狐丸"); h.S30 = ("鶴丸国永"); h.S31 = ("鶯丸"); h.S32 = ("一期一振"); h.S33 = ("江雪左文字"); h.S34 = ("獅子王"); h.S35 = ("山伏国広"); h.S36 = ("燭台切光忠"); h.S56 = ("明石国行"); h.S57 = ("髭切"); h.S58 = ("膝丸"); h.S59 = ("数珠丸恒次"); h.S60 = ("大典太光世"); h.S61 = ("ソハヤノツルギ"); h.S62 = ("小烏丸"); h.S63 = ("大包平"); h.S64 = ("小竜景光"); h.shp = 300; h.sa1 = 25; h.sa2 = 25; h.ska = 30; h.ssp = 45; h.skei = 250; h.styu = 130; h.sjyu = 50; h.Gs37 = ("蛍丸"); h.Gs38 = ("石切丸"); h.Gs39 = ("太郎太刀"); h.Gs40 = ("次郎太刀"); h.gshp = 350; h.gsa1 = 30; h.gsa2 = 30; h.gska = 35; h.gssp = 45; h.gskei = 280; h.gstyu = 180; h.gsjyu = 80; h.G41 = ("蜻蛉切"); h.G42 = ("御手杵"); h.G65 = ("日本号"); h.ghp = 400; h.ga1 = 35; h.ga2 = 35; h.gka = 40; h.gsp = 50; h.gkei = 320; h.gtyu = 260; h.gjyu = 140; h.Na43 = ("岩融"); h.Na66 = ("巴形薙刀"); h.nahp = 450; h.naa1 = 40; h.naa2 = 40; h.naka = 45; h.nasp = 55; h.nakei = 320; h.natyu = 280; h.najyu = 150; h.die = 0; // 全刀種共通でHPが0になったら、死ぬ。 String s1 = new java.util.Scanner(System.in).nextLine(); String s2 = new java.util.Scanner(System.in).nextLine(); String s3 = new java.util.Scanner(System.in).nextLine(); String s4 = new java.util.Scanner(System.in).nextLine(); String s5 = new java.util.Scanner(System.in).nextLine(); String s6 = new java.util.Scanner(System.in).nextLine(); System.out.println(s1 + "を部隊長に指名した。"); System.out.println(call1 + "は" + new java.util.Scanner(System.in).nextLine()); }
上のクラスの最終行でエラーが出ています。
public class Toukendanshi = B { String ss0; String ss1; String ss2; String ss3; String ss4; String ss5; String ss6; String ss7; String ss8; String ss9; String ss45; String ss46; String ss47; String ss48; String ss50; String ss51; String ss52; String ss53; int sshp; int ssa1; int ssa2; int sska; int sssp; int sskei; int sstyu; int ssjyu; String wa10; String wa11; String wa12; String wa13; String wa14; String wa52; String wa53; int wahp; int waa1; int waa2; int waka; int wasp; int wakei; int watyu; int wajyu; String K15; String K16; String K17; String K18; String K19; String K20; String K21; String K22; String K23; String K24; String K25; String K26; String K27; String K28; String K54; String K55; int khp; int ka1; int ka2; int kka; int ksp; int kkei; int ktyu; int kjyu; String S29; String S30; String S31; String S32; String S33; String S34; String S35; String S36; String S56; String S57; String S58; String S59; String S60; String S61; String S62; String S63; String S64; int shp; int sa1; int sa2; int ska; int ssp; int skei; int styu; int sjyu; String Gs37; String Gs38; String GS39; String Gs40; int gshp; int gsa1; int gsa2; int gskei; int gstyu; int gsjyu; String G41; String G42; String G65; int ghp; int ga1; int ga2; int gkai; int gsp; int gkei; int gtyu; int gjyu; String Na43; String Na66; int nahp; int naa1; int naa2; int nakai; int nasp; int nakei; int natyu; int najyu; int die; }
知っている方もいますが、刀剣乱舞のゲームを作っています。
一部の刀剣男士の数字がおかしいのはわざとなので気にしないでください。
一昨日までは
"h.S64 = ("小竜景光");"までの行全てに「"項目"は解決できないか、フィールドではありません。」と表示されて「型'Honmaru'のフィールド'項目'を作成します。」と表示されてenterを押したらpraivateになって表示がされなくなりました。
フォールディング機能自体が表示されなくなっていました。
Toukendanshiクラスは何故か3行目から表示されていて、Honmaruクラスでは177行目から表示されています。
回答3件
あなたの回答
tips
プレビュー