public override bool UpdateNewFormula(Formula formula) { if (formula.atomCount[(int)Symbol.H] > 0) { currentValue = Math.Min(currentValue + formula.score * 0.01f, pHscale.MaxPhValue); return true; } return false; }
public override bool UpdateNewFormula(Formula formula) { if (formula.strFormula == tutFormula) { if (index == instructions.Count) IsLevelUp = true; else NextMsg(); return true; } return false; }
public override bool UpdateNewFormula(Formula formula) { if (formula != null && formula.numberOfRings > 0) { numberOfRings += 1; if (numberOfRings == totalRings) IsLevelUp = true; return true; } return false; }
public override bool UpdateNewFormula(Formula formula) { for (int i = 0; i < reactFor.Count; i++) { if (reactFor[i].strFormula == formula.strFormula && ticked[i] == false) { tickPos.Add(new Vector2(200 + 150 * i, 500)); ticked[i] = true; if (tickPos.Count == reactFor.Count) GetNewReactionFormulas(); return true; } } return false; }
public override bool UpdateNewFormula(Formula formula) { int c = 0; for (int i = 0; i < formula.atomCount.Length; i++) c += formula.atomCount[i]; if (c == MaxAtoms) { count += 1; if (count == maxCount) IsLevelUp = true; return true; } return false; }
public override bool UpdateNewFormula(Formula formula) { int total = 0; for (int i = 0; i < formula.atomCount.Length; i++) { total += formula.atomCount[i]; } if (total >= a) { if (a >= max) { IsLevelUp = true; return true; } a += 2; return true; } return false; }
void CheckMolecularity(GameTime gameTime) { foreach (Atom a in atoms) { if (a.IsMolecularityChecked) continue; bool canBeMolecule = true; int twiceNumberOfBonds = 0, numberOfRings = 0; int[] atomCount = new int[gameContent.symbolCount]; Vector2 averagePosition = new Vector2(); List<Atom> molecule = new List<Atom>(); molecule.Add(a); for (int i = 0; i < molecule.Count; i++) { molecule[i].IsMolecularityChecked = true; if (molecule[i].eye != EyeState.Sleep) canBeMolecule = false; twiceNumberOfBonds += molecule[i].bondedAtoms.Count; atomCount[(int)molecule[i].symbol] += 1; averagePosition += molecule[i].body.Position; foreach (Atom em in molecule[i].bondedAtoms) { if (molecule.IndexOf(em) > i) numberOfRings += 1; if (!em.IsMolecularityChecked && !molecule.Contains(em)) molecule.Add(em); } } // Form a molecule if (canBeMolecule) { Cue cue = gameContent.soundBank.GetCue("bop"); cue.Play(); averagePosition *= (float)gameContent.scale / molecule.Count; Formula f = new Formula(atomCount, twiceNumberOfBonds, numberOfRings, levelComponent != null? levelComponent.bonusType : BonusType.None, averagePosition, gameContent); formulas.Add(f); // Destroy foreach (Atom am in molecule) am.Remove(); if (levelComponent != null) { if (levelComponent.UpdateNewFormula(f)) Score += f.score; else f.strScore = ""; } } } }
public virtual bool UpdateNewFormula(Formula formula) { return false; }
public override bool UpdateNewFormula(Formula formula) { currentTemp = Math.Max(currentTemp - formula.score * 1, 0); return true; }