【发布时间】:2018-07-02 17:25:07
【问题描述】:
我正在从事一个 AI 项目,并正在尝试构建一个视频游戏选择器。
用户将输入他们想要玩的游戏的类型、模式、评级和平台。然后程序将接受该输入,然后使用一些尚未确定的逻辑在 gameList 数组中选择符合该条件的游戏。然后,它会从 gameList 数组中随机选择一个符合条件的游戏,并将随机选择的游戏作为建议输出给用户玩。
我在尝试提出使用用户输入来确定哪些游戏符合该标准的最佳方法时遇到了问题。
我目前的方法没有利用任何特殊的人工学习或机器学习概念来解决问题。我对 Java 比较陌生,我只是想拼凑出如何最好地解决这个问题。
如果有人对更好的方法有任何想法,那么我目前有或更好和更简单的方法来做这将非常有帮助!
这是我目前拥有的代码(其中一些来自之前的作业,因此请忽略 printPeas() 和其他与数组无关的东西。不幸的是,该代码目前无法正常工作:
package Games;
import java.util.Scanner;
public class Games
{
String _gameType;
String _genreType;
String _gameMode;
String _gameRating;
String _tType;
public static Scanner input = new Scanner(System.in);
public Games(String type)
{
_gameType = type;
System.out.println("Suggested type of game is: " + _gameType);
}
public Games()
{
_gameType = "Sports";
System.out.println("Suggested type of game is: " + _gameType);
}
public void typeInput(String tType)
{
_tType = tType;
System.out.println("Type of Game selected: " + _tType);
}
public void genreInput(String gType)
{
_genreType = gType;
System.out.println("Type of Genre selected: " + _genreType);
}
public void modeInput(String gMode)
{
_gameMode = gMode;
System.out.println("Type of Game Mode selected: " + _gameMode);
}
public void ratingInput(String gRating)
{
_gameRating = gRating;
System.out.println("Type of Rating selected: " + _gameRating);
}
public void printPeas()
{
String agent = "Agent = Video Game Seletor.";
String perfmeasure = "P = If it meets the users information being input.";
String environment = "E = All games within a certain location.";
String actuators = "A = Library of games to select from, and the display of which game was selected.";
String sensors = "S = Keyboard input.";
System.out.println(agent);
System.out.println(perfmeasure);
System.out.println(environment);
System.out.println(actuators);
System.out.println(sensors);
}
}
package Games;
import java.util.ArrayList;
import java.util.Random;
public class Game
{
public static String _genreType;
public static String _gameMode;
public static String _gameRating;
public static String _gameName;
public void setGame(String genre, String mode, String rating)
{
_genreType = genre;
_gameMode = mode;
_gameRating = rating;
_gameName = "";
Random random = new Random();
String gameList[] = {"NHL '18", "Madden '18", "Call of Duty: WW2", "GTA V", "Counter-Strike: Global Offsnsive",
"World of Warcrat", "PUBG", "Assassin's Creed Origins", "Hearthstone", "Battlefield 4"};
String genreList[] = {"Action", "Sports", "Racing", "MMORPG", "Strategy", "Fighting", "Fantasy"};
String modeList[] = {"Multiplayer", "Online", "Campaign"};
String ratingList[] = {"Everyone", "E10+", "Teen", "Mature"};
String platformList[] = {"PC", "PS4", "Xbox"};
for(int i=0; i<gameList.length; i++) //trying to have it pull a random game name matching type, genre, mode and rating
{
if(genre == genreList[i])
{
_genreType = genre;
}
if(mode == modeList[i])
{
_gameMode = mode;
}
System.out.println(gameList[random.nextInt(gameList.length)]);
}
}
}
package Games;
import java.util.Scanner;
public class StartSelector
{
public static String _gameType;
public static String _genreType;
public static String _gameMode;
public static String _gameRating;
public static Scanner userInput = new Scanner(System.in);
public static void main(String[] args)
{
String gameType = _gameType, genreType = _genreType, gameMode = _gameMode, gameRating = _gameRating;
Games gameType1 = new Games();
gameType1.printPeas();
Games gameType2 = new Games("Action");
gameType2.printPeas();
Games gameSelect = new Games();
System.out.println("Please enter the Genre Type: ");
genreType = userInput.next();
gameSelect.genreInput(genreType);
System.out.println("Please enter the Game Type: ");
gameType = userInput.next();
gameSelect.typeInput(gameType);
System.out.println("Please enter the Game Mode: ");
gameMode = userInput.next();
gameSelect.modeInput(gameMode);
System.out.println("Please enter the Game Rating: ");
gameRating = userInput.next();
gameSelect.ratingInput(gameRating);
userInput.close();
System.out.println("You have selected a " + genreType + " "
+ gameType + " " + gameMode + " " + gameRating
+ " game to play.");
gameType1.setGame("Action", "Online", "Mature", "GTA V");
}
}
【问题讨论】:
-
"所以忽略 printPeas() 和其他不重要的东西" 你的工作是将代码减少到重现问题所需的代码。 “代码当前不工作” 您需要确切地解释它是如何不工作的。错误?例外?输出错误?最后,你应该问一个具体的问题,而不是一个笼统的“我应该怎么做?”
-
你有什么问题?您在哪里需要帮助?
-
这个网站确实接受模糊的问题,询问“关于更好方法的任何想法” 等。你可以尝试在softwareengineering.stackexchange.com 上提问,但即使在那里你也需要更准确地说明您的问题是什么,以便有意义地回答(而不是“像讨论一样”)。
标签: java arrays random machine-learning artificial-intelligence