using System; using System.Collections.Generic; using System.Text; using DarkWynter.Game.Globals; using System.ComponentModel; using System.Data; using System.Drawing; using System.Windows.Forms; using System.Xml; using DarkWynter.Engine.Globals; using DarkWynter.Game.Controllers; using DarkWynter.Engine.Utilities; using Microsoft.Xna.Framework; using System.Diagnostics; namespace DarkWynter.App.ChallengeSet { public class ChallengeAbstract { public int id; // G2L Dialogue counter public List challengeDialogue = new List(); // G2L Dialogue counter public int dialogueCounter = 0; public int dialogueMax = 0; // Scaffolding code for the problem 1 set public string challengeSource = @" using System; class Test { public static void MyFunction() { // Insert student code here } }"; // Output variable to catch the Console redirect public string outputSource = ""; public ChallengeAbstract(XmlNode problemNode) { dialogueMax = problemNode.ChildNodes.Count; } #region Virtual Functions public virtual string GetScaffolding() { return challengeSource; } public virtual bool ValidateStudentCode(string studentCode, string studentOutput) { return true; } public virtual bool RunVizualization() { dialogueCounter = 0; return true; } #endregion #region Utility Functions public void NonControllerBasedTerrainMod(TerrainModRequest request) { GameController.NonControllerBasedTerrainMod(request); } public virtual bool setExpPoints() { // Update G2L experience points if (Statics_Game.GameSettings.triesNumber < Statics_Game.GameSettings.sMRows) { Statics_Game.GameSettings.experiencePoints += Statics_Game.GameSettings.scoringMetric [ Statics_Game.GameSettings.triesNumber, Statics_Game.GameSettings.currentChallengeNumber ]; Statics_Game.GameSettings.triesNumber = 0; } else { Statics_Game.GameSettings.experiencePoints += 0; } return true; } #endregion } }