Hallo. Ich habe gestern Abend dieses Labyrinth nach dem TuT erstellt. Es klappt ja auch Wunderbar, aber irgendiwe will der Checkpoint nicht.
Ich habe für die Wall auch das richtige Ereignis festgelegt, aber der Cursor hüpft immer wieder zum Start?
Hier der Code:
Und jetzt zum 2. Problem. Man kann ganz einfach Cheaten indem man die Alt-Taste drückt und dann auf das Ziel drückt. Außerdem kann man einfach schnelle bewegungen machen, um aus/in dem/das Labyrinth zu gelangen. Kann man dies auch irgendwie beheben?
Ich habe für die Wall auch das richtige Ereignis festgelegt, aber der Cursor hüpft immer wieder zum Start?
Hier der Code:
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
// Dieser Sound erscheint, wenn der Spieler die Wand berührt.
System.Media.SoundPlayer startSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav");
// Dieser Sound erscheint, wenn der Spieler das Ziel erreicht.
System.Media.SoundPlayer finishSoundPlayer = new System.Media.SoundPlayer(@"C:\Windows\Media\tada.wav");
public Form1()
{
InitializeComponent();
MoveToStart();
}
private void finishLabel_MouseEnter(object sender, EventArgs e)
{
finishSoundPlayer.Play();
MessageBox.Show("Herzlichen Glückwunsch!");
Close();
}
/// <summary>
/// Setzt den Zeiger auf 10 Pixel nach unten/rechts
/// in die obere Rechte Ecke.
/// </summary>
private void MoveToStart()
{
Point startingPoint = panel1.Location;
startingPoint.Offset(140, 50);
Cursor.Position = PointToScreen(startingPoint);
}
private void Checkpoint()
{
Point checkPoint = hiddenCPLabel.Location;
Cursor.Position = PointToScreen(checkPoint);
}
/// <summary>
/// Wenn die Maus auf die Wand trifft, wird sie zurück zum Start gesetzt.
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void wall_MouseEnter(object sender, EventArgs e)
{
MoveToStart();
startSoundPlayer.Play();
}
private void wall_MouseEnterCP(object sender, EventArgs e)
{
Checkpoint();
startSoundPlayer.Play();
}
private void finishLabel_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Nur die Mitte des Kreuzes zählt! | Schnelle Bewegung und das nutzen der Alt-Taste sind verboten und verderben den Spaß am Spiel!");
MoveToStart();
}
}
}
Und jetzt zum 2. Problem. Man kann ganz einfach Cheaten indem man die Alt-Taste drückt und dann auf das Ziel drückt. Außerdem kann man einfach schnelle bewegungen machen, um aus/in dem/das Labyrinth zu gelangen. Kann man dies auch irgendwie beheben?