- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我必须实现纸牌游戏 war 。我一切都很顺利,除了当循环达到其中一张牌(数组列表)的大小时停止之外。我想要它做的是循环,直到其中一张牌是空的。并指导我如何做到这一点?我知道我的代码可以缩短,但我现在不需要担心这一点。这是我的代码:
import java.util.*;
import java.lang.*;
public class lab9_11{
public static void main(String args[]){
System.out.printf("\n");
System.out.printf("\n");
System.out.printf("\\ / /\\ |\\ |\n");
System.out.printf(" \\ / \\ / /__\\ |/ |\n");
System.out.printf(" \\/ \\/ / \\ |\\ o\n");
System.out.printf("\n");
System.out.printf("Lets play a game of war.\n");
System.out.printf("Type 1 to begin or 0 to exit.\n");
Scanner keyboard = new Scanner(System.in);
int initial = keyboard.nextInt();
if (initial > 1){
System.out.printf("You can't read, so you shouldn't play this.\n");
System.exit(-1);
}
if (initial == 0){
System.exit(-1);
}
else {
System.out.printf("Okay, lets play!\n");
System.out.printf("\n");
}
System.out.printf("Here is a deck of 52 cards -> []:\n");
int deck[] = new int[52];
deck[0] = 2; //0-12 = hearts
deck[1] = 3;
deck[2] = 4;
deck[3] = 5;
deck[4] = 6;
deck[5] = 7;
deck[6] = 8;
deck[7] = 9;
deck[8] = 10;
deck[9] = 11; //jack of hearts
deck[10] = 12; //queen of hearts
deck[11] = 13; //king of hearts
deck[12] = 14; //ace of hearts
deck[13] = 2; //13-25 = spades
deck[14] = 3;
deck[15] = 4;
deck[16] = 5;
deck[17] = 6;
deck[18] = 7;
deck[19] = 8;
deck[20] = 9;
deck[21] = 10;
deck[22] = 11; //jack of spades
deck[23] = 12; //queen of spades
deck[24] = 13; //king of spades
deck[25] = 14; //ace of spades
deck[26] = 2; //0-12 = diamonds
deck[27] = 3;
deck[28] = 4;
deck[29] = 5;
deck[30] = 6;
deck[31] = 7;
deck[32] = 8;
deck[33] = 9;
deck[34] = 10;
deck[35] = 11; //jack of diamonds
deck[36] = 12; //queen of diamonds
deck[37] = 13; //king of diamonds
deck[38] = 14; //ace of diamonds
deck[39] = 2; //39-51 = clubs
deck[40] = 3;
deck[41] = 4;
deck[42] = 5;
deck[43] = 6;
deck[44] = 7;
deck[45] = 8;
deck[46] = 9;
deck[47] = 10;
deck[48] = 11; //jack of clubs
deck[49] = 12; //queen of clubs
deck[50] = 13; //king of clubs
deck[51] = 14; //ace of clubs
System.out.printf("First, lets shuffle it into 2 decks of 26.\n");
Random rangen = new Random(); //Random number generator
for (int i=0; i < deck.length; i++) { //shuffles the deck
int randomPosition = rangen.nextInt(deck.length);
int temp = deck[i];
deck[i] = deck[randomPosition];
deck[randomPosition] = temp;
}
int[] player1 = new int[26]; //initializes 1st player's deck
int[] player2 = new int[26]; //initializes 2nd player's deck
System.arraycopy(deck, 0, player1, 0, player1.length); //takes 26 cards and puts into player1's deck.
System.arraycopy(deck, player1.length, player2, 0, player2.length);//takes the other 26 and puts into player2's deck.
System.out.printf(".\n");
System.out.printf(".\n");
System.out.printf("Here's your deck. --> [?]\n");
System.out.printf(".\n");
System.out.printf(".\n");
System.out.printf("Here's your opponent's deck. --> [?]\n");
System.out.printf(".\n");
System.out.printf(".\n");
System.out.printf("Okay, lets begin!\n");
System.out.printf("\n");
System.out.printf("\n");
System.out.printf("Type 1 to flip your cards.\n");
System.out.printf("Which ever player holds all the cards by the end wins.\n");
int q = keyboard.nextInt();
if (q == 1){
System.out.printf("Lets see...\n");
}
if (q != 1){
System.out.printf("That wasn't one... type the number '1' or else the game will end because you are stupid.\n");
int q2 = keyboard.nextInt();
if (q != 1) {
System.exit(-1);
}
}
List<Integer> player1List = new ArrayList<Integer>();//converts array1 into arraylist1
for (int i = 0; i < player1.length; i++)
{
player1List.add(player1[i]);
}
System.out.println(player1List);
List<Integer> player2List = new ArrayList<Integer>();//converts array2 into arraylist2
for (int i = 0; i < player2.length; i++)
{
player2List.add(player2[i]);
}
System.out.println(player2List);
for (int i = 0; i < player1List.size(); i++){
if (player1List.get(i) < player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("Player 2 wins round!\n");
player2List.add(player1List.get(i));
player1List.remove(player1List.get(i));
}
if (player1List.get(i) < player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("Player 1 wins round!\n");
player1List.add(player2List.get(i));
player2List.remove(player2List.get(i));
}
if (player1List.get(i) == player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("It's a tie, cards return to your deck.\n");
}
}
if (player1List.isEmpty() || player2List.isEmpty()){
if (player1List.isEmpty()) {
System.out.printf("Player 2 WINS THE GAME!!!!!!\n");
}
if (player2List.isEmpty()) {
System.out.printf("Player 1 WINS THE GAME!!!!!!\n");
}
}
System.out.println(player1List);
System.out.println(player2List);
/*
System.out.printf("test.\n");
System.out.printf("test1111.\n");
for(int i = 0; i < player1.length; i++){
System.out.println(player1[i]);
}
System.out.printf("test.\n");
System.out.printf("test222.\n");
for(int i = 0; i < player2.length; i++){
System.out.println(player2[i]);
}
System.out.printf("test.\n");
System.out.printf("test11.\n");
for(int i = 0; i < win1.length; i++){
System.out.println(win1[i]);
}
System.out.printf("test.\n");
System.out.printf("test22.\n");
for(int i = 0; i < win2.length; i++){
System.out.println(win2[i]);
}
*/
System.out.printf("\n");
System.out.printf("\n");
}
}
这是我缩小范围的 for 循环。我需要它,因此它会循环直到其中一个数组列表为空。
for (int i = 0; i < player1List.size(); i++){
if (player1List.get(i) < player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("Player 2 wins round!\n");
player2List.add(player1List.get(i));
player1List.remove(player1List.get(i));
}
if (player1List.get(i) < player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("Player 1 wins round!\n");
player1List.add(player2List.get(i));
player2List.remove(player2List.get(i));
}
if (player1List.get(i) == player2List.get(i)){
System.out.printf("Player 1: %d\n", player1List.get(i));
System.out.printf("Player 2: %d\n", player2List.get(i));
System.out.printf("It's a tie, cards return to your deck.\n");
}
}
if (player1List.isEmpty() || player2List.isEmpty()){
if (player1List.isEmpty()) {
System.out.printf("Player 2 WINS THE GAME!!!!!!\n");
}
if (player2List.isEmpty()) {
System.out.printf("Player 1 WINS THE GAME!!!!!!\n");
}
}
最佳答案
我建议使用 Queue对于您的牌组,因为您需要将(提供)牌放在牌组的一侧(底部)并从顶部(直到我从维基百科条目中了解到有关此游戏的信息)。 LinkedList
是Queue
的一个很好的实现。代码可以是这样的:
while(!deck1.isEmpty() && !deck2.isEmpty()) {
int card1 = deck1.poll();
int card2 = deck2.poll();
if(card1 < card2) {
deck2.offer(card2);
deck2.offer(card1);
}
if(card2 < card1) {
deck1.offer(card1);
deck1.offer(card2);
}
if(card1 == card2) {
deck1.offer(card1);
deck2.offer(card2);
}
}
关于Java纸牌游戏。 ( war 游戏),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764525/
当我尝试从 netbeans 构建 ear 项目时,为什么 maven ear 插件会运行 war:war(插件目标) 我的过程: 我右键单击 ear 项目(其中列出了 war 依赖项)并首先清理,然
在 Java EE 环境下,我构建了一个包含多个 JSP 文件的网页。让我们假设包含的 JSP 之一是 header.jsp。可以与 Stackoverflow 使用的非常相似,显示有关用户、链接等的
我想知道使用 maven package phase 创建的 war 文件是否等同于使用 maven war plugin war:war goal 创建的 war 文件。 假设我们有一个像这样的 p
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我想根据配置文件(dev 或 prod)配置属性文件,但是属性文件的位置未正确构造。我在 SO 上找到了类似问题的答案,但这些答案都没有帮助解决这个问题。 我收到的错误如下: Error loadin
我想知道部署的“WAR”文件会分解到 JBoss 7 中的哪个位置?在 JBoss 4.3 中,它会在“tmp”文件夹中的某处爆炸,但我无法找到它在 JBoss 7 中爆炸到的位置。谢谢 最佳答案 它
我想创建一个多模块项目,其中多个模块属于 war 类型。例如 somejars servletsAndJsps springMVCapp angularJsApp 其中 3 个可以作为 WAR 应用程
我必须在单元测试期间测试托管在 Tomcat 上的 Web 服务的代码覆盖率。我将进行手动测试意味着我将在我的 http 请求中传递不同的参数值,并且需要为发送到服务器的每个请求的每个测试用例提供覆盖
我是一个 Jboss Wildfly 8.2 实例我有一个 webapp ROOT.war和另一个 OTHER.war我需要类(class) OtherXYZ.class那是里面 OTHER.war能
因此,在 VPS Ubuntu 服务器上尝试使用 Maven 进行全新安装时出现此错误。 我已经安装了必要的元素来制作它,但仍然无济于事。 root@iHRS:~/hapi-fhir-jpaserve
健身download page只有 standalone.jar 选项,这也是说明的目的。 是否有可能在单独的应用程序服务器上安装 FitNesse,例如 Tomcat?没有直接下载任何 war /耳
我想在 JBoss 4.2 中部署一场 war ,但我无法控制它的目录,所以我无法替换 jsf-impl.jar和 jsf-api.jar . 我的问题是:如何配置war才能依赖于jsf-impl.j
我想在将 war 任务输出部署到存储库之前设置它的文件名。 例如项目名称是 abc最初它会导致 abc-1.0.0-SNAPSHOT.war 但我希望应该有两个生成的内容相同的 war 文件: def
我有一个 Maven pom,它使用 war 。但实际上,我不想构建 war 文件,我只想收集所有依赖的 jar 并创建一个完整的部署目录。 所以我正在运行 war:exploded生成部署目录的目标
注意:我无法将它们打包到 EAR 中。这里有一些限制。 我有 2 个 war 文件。 help.war 和 helpConnect.war 两者都放置在 GlassFish 服务器的同一域中。 从 h
我有一个项目,其中 3 个 war-modules 被打包在一个 ear-module 中。我的问题是每个库 jar 都包含在每个 war 模块以及 ear 模块中,这使得生成的 ear 文件非常大(
我有一个在 artifactory 中发布的第三方打包 war 。我需要创建一个 gradle 作业,它将从 artifactory 中获取 war,将其分解到一个临时目录,将一些自定义库(jars)
我们有一个运行当前 Web 服务的 Apache tomcat 服务器。我们试图部署第二个版本(进行了一些调整),但是当我们复制 war 文件时,第一个版本停止工作。为什么?? 最佳答案 您的 Web
我有几个 tomcat 应用程序,使用 .war 文件部署在 tomcat 中。尽管这些 war 彼此独立,但它们都是更大概念/应用程序的一部分,而且经常,一场 war 需要调用另一场 war 的代码
过去,Web 应用程序的静态资源始终位于 src/main/webapp 下。 最近,Spring Initializr为我创建了一个新的项目布局,因此发现资源应该位于src/main/resourc
我是一名优秀的程序员,十分优秀!