码迷,mamicode.com
首页 > 其他好文 > 详细

捡石子小游戏程序解析

时间:2014-10-15 02:00:59      阅读:534      评论:0      收藏:0      [点我收藏+]

标签:blog   ar   java   for   sp   div   问题   log   代码   

问题:这是我上小学的时候,数学老师给我讲的一个问题,他说学校盖房子的时候,有一堆民工在一起玩这个游戏,有三堆石子,分别是3个,5个,7个,游戏规则就是两个人轮流拿,每个人一次只能够在一堆中拿,每一次只能够拿1-3个,谁拿了最后一个石子,谁就给对方一块钱。

 


package com.hpu.bai; import java.util.Scanner; public class Cobble { public static void main(String[] args) { Cobble c = new Cobble(); c.print(); c.getCobble(); } int[] arr ={3,5,7}; int n = 15;int count =0; Scanner input = new Scanner(System.in); public int total(){ int m =0; for(int i=0;i<arr.length;i++){ m+=arr[i]; } return m; } public void print(){ for(int i=0;i<arr.length;i++){ System.out.println("第"+(i+1)+"堆还剩下"+arr[i]+"个石子##"); } } public void player(int b){ if(b%2 == 1){ System.out.println("该第一个人拿石子了"); }else{ System.out.println("该第二个人拿石子了"); } } public void getCobble(){ count++; if(n>1){ player(count); System.out.println("请输入你要在哪一堆石子中取石子"); int i = input.nextInt()-1; System.out.println("请输入你要在这堆石子中取几个"); int m = input.nextInt(); if(m>3){ System.out.println("你的输入有误,请重新输入"); count--; getCobble(); }else{ arr[i]=arr[i]-m; if(arr[i]<0){ System.out.println("石子快没了,要么你少拿点,要么你换一堆吧"); arr[i]= arr[i]+m; count--; } print(); n = total(); getCobble(); } }else{ if(count%2 ==1){ System.out.println("别拿了,第1位玩家你已经输了"); }else{ System.out.println("别拿了,第2位玩家你已经输了"); } } } }

 程序实现的关键就在与要有一个类似指针的变量来控制说明该谁拿了。当然如果把线程学好之后,这个程序还有更加可以改进的地方。java初学者QQ:623687677.大家可以互相交流,或者可以把代码运行一下。 

捡石子小游戏程序解析

标签:blog   ar   java   for   sp   div   问题   log   代码   

原文地址:http://www.cnblogs.com/neruda/p/4025502.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!