好的,这就是我的代码现在如何查找我的地图
let r58 = {id=58;item=pot2;n=0;e=0;s=51;w=0;complete=false}
let r59 = {id=59;item=m13;n=60;e=0;s=55;w=0;complete=false}
let row11 = [r58;r59]
let r60 = {id=60;item=m8;n=61;e=0;s=59;w=0;complete=false}
let r61 = {id=61;item=m9;n=0;e=0;s=60;w=0;complete=false}
let row12 = [r60;r61]
let roomlist = List.concat[row1;row2;row3;row4;row5;row6;row7;row8;row9;row10;row11;row12]
roomlist
id是对房间本身的引用,该项目属于object类型,可以容纳魔药,或者怪物等.NESW适用于房间所在的位置。但是我不知道如何处理它,当它们进入一个房间,应该找到并处理存储的对象类型。炸弹,怪物和物品的存储方式如下:
let bomb9 = {name="End point grenade";bVal=99.0;dType=General;info="Banned
from use by enforcers of your rank for obvious reasons, a smaller, compact
version of what they called a 'nuclear bomb' in the
days of old";iSpace=2};
let bomb0 = {name ="Clairvoyance";bVal=0.0;dType=General;info="Its explosion
reveals the truth behind items";
iSpace=1}
let bombinit =
let bomblist = [bomb1;bomb2;bomb3;bomb4;bomb5;bomb6;bomb7;bomb8;bomb9;bomb0]
bomblist
因此他们都有自己的名单,我有一个怪物,炸弹,药水和房间的清单。 然而,我的讲师说我应该使用房间的字典,看起来像这样:
(frontOfHouse, {id=1; item=m1; n=backOfHouse;e=null;s=null;w=null;complete=false};
(backOfHouse, {id=2; item=bomb1; n=frontOfHouse; e=null;s=null;w=null;complete=false
但是我不知道这比使用列表中的一组房间更好,以允许用户横穿地图。 任何帮助或建议都会非常感激,因为我不习惯f#,如果有人想帮助更多,看到我的整个代码只是给我一个喊叫。
非常感谢