static void Main() { string optionPath = System.IO.Directory.GetCurrentDirectory() + "\\Option.txt"; if (System.IO.File.Exists(optionPath)) { Sauvegarde.ChargerOption(optionPath); } else { Sauvegarde.SauvegarderOption(optionPath); } Sauvegarde.ChargerMonde(System.IO.Directory.GetCurrentDirectory() + "\\Mon_Monde"); if (Sauvegarde.monde == null) { Memoire.CreateWorld(); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Memoire.form = new Minecrafting(); EcranDeJeu.ChangerEcran(Ecrans.Jeu, null); EcranDeJeu.Afficher(Sauvegarde.joueur, Sauvegarde.monde); Application.Run(Memoire.form); }
/// <summary> /// /// </summary> /// <param name="nx"></param> /// <returns> true si le joueur est bloquee</returns> private bool BougerThread(float nx, int ny) { //nx /= 1.25f; bool a = Sauvegarde.joueur.Bouger(nx, ny, Sauvegarde.monde); if (Sauvegarde.joueur.Vie <= 0) { Memoire.CreateWorld(); return(true); } return(a); }
private void timer1_Tick(object sender, EventArgs e) { //20 tick second if (Sauvegarde.joueur.Faim == 0) { if (Sauvegarde.joueur.Vie == 0) { Memoire.CreateWorld(); return; } else { Sauvegarde.joueur.Vie -= 0.01f; } } else { Sauvegarde.joueur.Faim -= 0.01f; } bool actu = false; foreach (Entite ent in Sauvegarde.monde.Entites) { if (ent.Comportement(Sauvegarde.monde)) { actu = true; } } if (EcranDeJeu.Ecran == Ecrans.Jeu) { //des fois il faisait des erreur et crashait try { EcranDeJeu.ActuHotBarre(); } catch (Exception) { } } if (actu) { Actualiser(); } }
private void Form1_MouseDown(object sender, MouseEventArgs e) { if (EcranDeJeu.Ecran == Ecrans.Jeu) { int w = (Memoire.form.ClientSize.Width / (16 * Sauvegarde.zoom_Block)) * 16 * Sauvegarde.zoom_Block; int h = (Memoire.form.ClientSize.Height / (16 * Sauvegarde.zoom_Block)) * 16 * Sauvegarde.zoom_Block; int x = (int)Math.Round(Sauvegarde.joueur.X - (w / 2f - e.X) / (16f * Sauvegarde.zoom_Block)); int y = (int)Math.Round(Sauvegarde.joueur.Y + (h / 2f - e.Y) / (16f * Sauvegarde.zoom_Block)); Block block = Sauvegarde.monde.GetBlock(x, y, false); if (block != null) { if (!EcranDeJeu.CanSeeBlock(x, y, Sauvegarde.monde)) { block = null; } } Entite ent = Sauvegarde.monde.GetEntite(x, y); bool doBlock = true; Item item = Sauvegarde.joueur.Barre.GetItem(Sauvegarde.joueur.Maindroite); if (item != null) { if (e.Button == MouseButtons.Right) { Tuple <bool, Tuple <Ecrans, object> > b = item.CliqueDroite(Sauvegarde.joueur, x, y, block, ((x == Sauvegarde.joueur.X && y == Sauvegarde.joueur.Y) ? Sauvegarde.joueur : ent), Sauvegarde.monde); doBlock = b.Item1; if (item.Quantite <= 0) { Sauvegarde.joueur.Barre.SetItem(Sauvegarde.joueur.Maindroite, null); } if (b.Item2 != null) { EcranDeJeu.ChangerEcran(b.Item2.Item1, b.Item2.Item2); } else { Actualiser(); EcranDeJeu.ActuHotBarre(); } } if (e.Button == MouseButtons.Left) { Tuple <bool, Tuple <Ecrans, object> > b = item.CliqueGauche(Sauvegarde.joueur, x, y, block, ((x == Sauvegarde.joueur.X && y == Sauvegarde.joueur.Y) ? Sauvegarde.joueur : ent), Sauvegarde.monde); doBlock = b.Item1; if (b.Item2 != null) { EcranDeJeu.ChangerEcran(b.Item2.Item1, b.Item2.Item2); } else { Actualiser(); EcranDeJeu.ActuHotBarre(); } } } if (ent != null && doBlock) { if (e.Button == MouseButtons.Right) { Tuple <Ecrans, object> temp = ent.CliqueDroite(Sauvegarde.joueur); if (temp != null) { EcranDeJeu.ChangerEcran(temp.Item1, temp.Item2); doBlock = false; } } if (e.Button == MouseButtons.Left) { if (ent.CliqueGauche(Sauvegarde.joueur, 1, Sauvegarde.monde)) { if (!Sauvegarde.monde.Entites.Contains(Sauvegarde.joueur)) { Memoire.CreateWorld(); return; } Actualiser(); EcranDeJeu.ActuHotBarre(); } } } if (block != null && doBlock) { if (e.Button == MouseButtons.Left) { if (block.Detruire(Sauvegarde.joueur)) { Sauvegarde.joueur.Faim -= 0.1f; Sauvegarde.monde.SetBlock(x, y, null); Entite[] ents = Sauvegarde.monde.Entites.ToArray(); foreach (Entite enti in ents) { int i = -3; while (true) { Block b = Sauvegarde.monde.GetBlock((int)enti.X, (int)enti.Y - 1, false); if (b == null || b.CanPassThrough(enti, true)) { i++; enti.Bouger(0, -1, Sauvegarde.monde); } else { break; } } if (i > 0) { enti.Vie -= i; if (enti.Vie <= 0) { if (enti == Sauvegarde.joueur) { Memoire.CreateWorld(); return; } Sauvegarde.monde.Entites.Remove(enti); } } } Actualiser(); EcranDeJeu.ActuHotBarre(); } } if (e.Button == MouseButtons.Right) { Tuple <bool, Tuple <Ecrans, object> > invs = block.CliqueDroit(Sauvegarde.joueur); if (invs != null) { if (invs.Item1) { if (invs.Item2 != null) { EcranDeJeu.ChangerEcran(invs.Item2.Item1, invs.Item2.Item2); } Actualiser(); if (EcranDeJeu.Ecran == Ecrans.Jeu) { EcranDeJeu.ActuHotBarre(); } } } } } } }