私はいくつかの助けを得ることを望んでいた。私は戦艦のjavaゲームを持っていて、プレイヤーに終了時に再びプレイするオプションを与えたいと思っていましたが、実際にどのようにしたらいいかわかりません。どんな助けも素晴らしいでしょう!Javaプログラムを再起動
public class Battle {
public static void main(String[] args) throws IOException{
int[][] board = new int[5][5];
int[][] ships = new int[3][2];
int[] shoot = new int[2];
int size;//for the fleet, under construction!
int health= 3;
int attempts=0,
shotHit=0;
boolean sendout = false;
//reads the rules
File myFile = new File ("Rules.txt");
Scanner inputFile = new Scanner(myFile);
while (inputFile.hasNext())
{
String str = inputFile.nextLine();
System.out.println(str);
}
inputFile.close();
Scanner position = new Scanner(System.in);
whatShip ship = new whatShip(health);
health = ship.WhatShip(health);
System.out.println("\n");
System.out.println("Enter the name of your vessel:");
String name = position.nextLine();
//intro read
System.out.println("\n");
System.out.println("INTRO");
System.out.println("\n");
System.out.println("Onbard the "+name);
File myFile1 = new File ("Intro.txt");
Scanner inputFile1 = new Scanner(myFile1);
while (inputFile1.hasNext())
{
String str = inputFile1.nextLine();
System.out.println(str);
}
inputFile1.close();
System.out.println("\n");
int row = entryIntMinMax("Enter "+name+"'s longitude, row", 1, 5);
int col = entryIntMinMax("Enter "+name+"'s latitude, column",1,5);
System.out.println("ALL HANDS, MAN YOUR STATIONS");
initBoard(board);
initShips(ships);
System.out.println();
do{
showBoard(board);
shoot(shoot);
attempts++;
if(hit(shoot,ships)){
hint(shoot,ships,attempts);
shotHit++;
}
else
hint(shoot,ships,attempts);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
health =enemyShoot(row, col, health);
changeboard(shoot, ships, board);
}
while(shotHit!=3);
System.out.println("\n\n Enemy fleet destroyed sir! You sunk 3 ships in "+attempts+" attempts");
showBoard(board);
}
これは私の主な方法です。どんな批判も素晴らしいだろう!
私はすべてのものを大きな単一の 'main'メソッドに書くのではなく、' Object'を作成し、 'methods'と' variables'を使ってstart、pause、endを作成します。ゲームを再開したり、好きなもののステータスを設定することができます。プロセス全体を再起動するために、どこかで 'main'を呼び出しているのは、おそらくあなたが望むものではなく、現在しなければならないことです。 – SomeJavaGuy
@ KevinEscheはい私はそれをアップグレードし、すべてをメソッドに移すことに取り組んでいます。主なものは150行以上のコードでした。しかし、私は技術者にゲームを再開する方法を知らせる方法を知らない。 – ChunkierLizard
ゲームが終了すると、次のラウンドを求める質問が表示されます。答えが "はい"ならば、あなたは 'main(args);'を呼んでもう一度実行することができます。メソッドで作業したい場合は、ループでゲームを実行し、最後にメソッドを呼び出して再起動します。その方法でいくつかの条件を設定し、答えに応じて、ループが続くかどうか – XtremeBaumer