农场游戏开发记录三

昨天忙着给女儿做手工没有更新,今天写了两个小时。纠结仓库存储的增删改查的表现形式。复习了数组的操作,复习了get()和set()方法。是今天的收获。关于游戏今天的主要进展是完成了仓库类的方法编写,完成了产品类的方法编写。

package code;
//仓库类,包含入库出库操作。
public class Storage {
	// 用产品类数组处理仓库存储
	Products[] storageProduct = new Products[20];

	public Storage() {

	}
//库存增加的操作,即收获。这里主要是要分析,已有的农产品只增加数量,没有的才增加一个数组元素。如果中间有空的产品对象(因为出库操作变空),优先填补空的位置。
	public void addStorage(Products pdcts) {
		int i = storageProduct.length;
		int j = 0;
		int num = 0;
		for (; j < i; j++) {
			if (storageProduct[j].getProductName() == pdcts.getProductName()) {
				num = storageProduct[j].getProductNum() + pdcts.getProductNum();
			storageProduct[j].setProductNum(num);
			break;
			}
		}
		if (j == i) {
			for (j = 0; j < i; j++) {
		
			if (storageProduct[j].getProductName() == null) {
				storageProduct[j] = pdcts;
				break;
			}
		}
	}
		if (j == i)
			storageProduct[i] = pdcts;
	}
//出库操作,即卖出。如果卖剩0个,即要替换成无参构造函数对象。
	public void minusStorage(Products pdcts) {
		int i = storageProduct.length;
		int num = 0;
		for (int j = 0; j <= i; j++) {
			if (storageProduct[j].getProductName() == pdcts.getProductName())
				num = storageProduct[j].getProductNum() - pdcts.getProductNum();
			
			if (num == 0)
				storageProduct[j] = new Products();
			else
				storageProduct[j].setProductNum(num);
		}
	}

}

package code;
//代表农产品的类,主要是包含名称和数量两个要素,私有化,使用了get和set方法
public class Products {
	private String productsName;
	private int productsNum;
	
	public Products(String name, int num) {
		productsName = name;
		productsNum = num;
	}
	
	public Products() {
	
	}
	
	public void minusproduct(String name,int num) {
		//销售农产品的方法,暂时不用在这里。
		
	}
	
	public void demonstrateproduct() {
		//显示有多少农产品,这个功能应该移去仓库类。
	}
	public String getProductName() {
		return productsName;
	}
	public int getProductNum() {
		return productsNum;
	}
	public void setProductName(String str) {
		productsName = str;
	}
	public void setProductNum(int num) {
		productsNum = num;
	}
}

忙了半天才发现没写多少代码,实现的功能更是少的可怜。继续加油吧。


版权声明:本文为canrenzhi原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。