// ( w h -- Canvas ) public override void Execute(Interpreter interp) { IntItem h = (IntItem)interp.StackPop(); IntItem w = (IntItem)interp.StackPop(); interp.StackPush(new CanvasItem(w.IntValue, h.IntValue)); }
// ( item -- 2*item ) public override void Execute(Interpreter interp) { IntItem item = (IntItem)interp.StackPop(); IntItem result = new IntItem(2 * item.IntValue); interp.StackPush(result); }
public void TestConstruction() { IntItem val = new IntItem(100); Assert.IsNotNull(val); Assert.AreEqual(100, val.IntValue); }
IntItem AddInts(dynamic l, dynamic r) { int val = l.IntValue + r.IntValue; IntItem result = new IntItem(val); return(result); }
// ( y max-int -- flipped-y ) public override void Execute(Interpreter interp) { IntItem maxVal = (IntItem)interp.StackPop(); IntItem value = (IntItem)interp.StackPop(); int result = maxVal.IntValue - 1 - value.IntValue; interp.StackPush(new IntItem(result)); }
// ( Canvas x y -- color ) public override void Execute(Interpreter interp) { IntItem y = (IntItem)interp.StackPop(); IntItem x = (IntItem)interp.StackPop(); CanvasItem canvas = (CanvasItem)interp.StackPop(); interp.StackPush(new Vector4Item(canvas.PixelAt(x.IntValue, y.IntValue))); }
public void TestAddIntItemAndDoubleItem() { IntItem val1 = new IntItem(1); DoubleItem val2 = new DoubleItem(3.4); DoubleItem s = AddDoubles(val1, val2); Assert.AreEqual(4.4, s.DoubleValue, 0.01); }
public void TestAddTwoIntItems() { IntItem val1 = new IntItem(1); IntItem val2 = new IntItem(2); IntItem s = AddInts(val1, val2); Assert.AreEqual(3, s.IntValue); }
public void TestAddIntItemAndDoubleItem() { IntItem val1 = new IntItem(1); DoubleItem val2 = new DoubleItem(3.4); IntItem s = AddInts(val1, val2); Assert.AreEqual(4, s.IntValue); }
static Item _GetIntItem(int inItemNameTextID, PlayerPersistentInfoData inPlayerData, List <FriendInfo> inFriendsData, E_Better inBetter, IntExtractor inExtractor) { IntItem item = new IntItem(); item.m_NameIndex = inItemNameTextID; return(_GetIntItem(item, inPlayerData, inFriendsData, inBetter, inExtractor)); }
static void Main(string[] args) { // json string var json = "[{\"value\":5,\"type\":\"int\",\"name\":\"bar\"},{\"value\":\"some thing\",\"type\":\"string\",\"name\":\"foo \"},{\"value\":2,\"type\":\"int\",\"name\":\"baz\"}]"; // The above is deserialized into a list of Items, instead of a hetrogenous list of // IntItem and StringItem var result = JsonConvert.DeserializeObject <List <Item> >(json, new JsonItemConverter()); if (result != null) { foreach (var r in result) { switch (r) { case IntItem i: Console.WriteLine($"{i.Name}={i.Value} of type {i.ValueType}"); break; case StringItem s: Console.WriteLine($"{s.Name}:{s.Value} of type {s.ValueType}"); break; default: throw new ArgumentException( message: "Unexpected type", paramName: nameof(r)); } } } ; var formattedJson = JsonConvert.SerializeObject(result, Formatting.Indented); Console.WriteLine($"as json {formattedJson}"); var testData = new List <Item>(); var sitem = new StringItem(); testData.Add(sitem); var iitem = new IntItem(); testData.Add(iitem); var formattedJson2 = JsonConvert.SerializeObject(testData, Formatting.Indented); Console.WriteLine($"as json {formattedJson2}"); }
// ( double max-int -- int ) public override void Execute(Interpreter interp) { IntItem maxVal = (IntItem)interp.StackPop(); DoubleItem value = (DoubleItem)interp.StackPop(); int intValue = value.IntValue; if (intValue < 0) { intValue = 0; } if (intValue > maxVal.IntValue - 1) { intValue = maxVal.IntValue - 1; } interp.StackPush(new IntItem(intValue)); }
static Item _GetIntItem(IntItem inItem, PlayerPersistentInfoData inPlayerData, List <FriendInfo> inFriendsData, E_Better inBetter, IntExtractor inExtractor) { IntItem item = inItem; item.m_PlayerValue = -1; item.m_SecondValue = -1; return(item); /* * IntItem item = inItem; * item.m_PlayerValue = inExtractor(inPlayerData); * item.m_SecondValue = -1; * * foreach(FriendInfo fi in inFriendsData) * { * int friendValue = inExtractor(fi.m_PPIData); * if(friendValue > item.m_SecondValue) * { * item.m_SecondValue = friendValue; * item.m_SecondValueFriendName = fi.m_Name; * } * } * * if(inBetter != E_Better.None && inFriendsData.Count > 0) * { * item.m_HighlightPlayer = (inBetter == E_Better.Bigger && item.m_PlayerValue > item.m_SecondValue) || * (inBetter == E_Better.Smaller && item.m_PlayerValue < item.m_SecondValue); * item.m_HighlightFriend = (inBetter == E_Better.Bigger && item.m_PlayerValue < item.m_SecondValue) || * (inBetter == E_Better.Smaller && item.m_PlayerValue > item.m_SecondValue); * } * * return item; */ }
StackItem multiply(IntItem l, IntItem r) { return(new IntItem(l.IntValue * r.IntValue)); }
StackItem minus(IntItem l, IntItem r) { return(new IntItem(l.IntValue - r.IntValue)); }
StackItem negate(IntItem item) { return(new IntItem(-item.IntValue)); }
StackItem plus(IntItem l, IntItem r) { return(new IntItem(l.IntValue + r.IntValue)); }