Diskuze: Nefungující časovač
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


rawen:21.1.2015 15:33
Třeba ti ten časovač jen dojel, ale těžko takhle říct, zkus sem hodit
kousek kódu.
Jan Vargovský:21.1.2015 15:34
Můžeš někde upnout ten projekt? Rád bych se na něj podíval.
anticary:21.1.2015 16:39
Tady je ten kód... promiň že je tak dlouhý, ale nevím co s mim
problémem může být spojené ... A něco může být napsáno špatně... programuji asi
měsíc(vím že už jsem tu zaregistrovaný déle, ale začal jsem teprve
nedávno) a spoustu věcí jsem si musel vymyslet...
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 NajdiFerdu
{
enum Smer
{
Nahoru, Dolu, Doprava, Doleva
}
public partial class Form1 : Form
{
public Form1()
{
GeneratorMapy();
InitializeComponent();
Hrac = new PostavaHrace(G_hrac_pravo);
Klon = new DuplikatHrace(G_hrac2_pravo);
}
Image G_hrac_levo = NajdiFerdu.Properties.Resources.hrac_levo;
Image G_hrac_pravo = NajdiFerdu.Properties.Resources.hrac_pravo;
Image G_hrac2_levo = NajdiFerdu.Properties.Resources.hrac_levo1;
Image G_hrac2_pravo = NajdiFerdu.Properties.Resources.hrac_pravo1;
Image G_trava = NajdiFerdu.Properties.Resources.trava;
Image G_strom = NajdiFerdu.Properties.Resources.strom;
Image G_konec_trava = NajdiFerdu.Properties.Resources.konec_trava;
Image G_kerbal_trava = NajdiFerdu.Properties.Resources.kerbal_trava;
Image G_zed_laborator = NajdiFerdu.Properties.Resources.zed_laborator;
Image G_zed_laborator2 = NajdiFerdu.Properties.Resources.zed_laborator2;
Image G_zed_laborator3 = NajdiFerdu.Properties.Resources.zed_laborator3;
Image G_cesta_laborator = NajdiFerdu.Properties.Resources.podlaha_laborator;
Image G_cesta_laborator2 = NajdiFerdu.Properties.Resources.podlaha_laborator2;
Image G_konec_laborator = NajdiFerdu.Properties.Resources.podlaha_laborator_konec;
Image G_kerbal_laborator = NajdiFerdu.Properties.Resources.podlaha_laborator_kerbal;
Image G_srdce_plne = NajdiFerdu.Properties.Resources.Srdicko;
Image G_srdce_polo = NajdiFerdu.Properties.Resources.Srdicko_pulka;
Image G_srdce_prazd = NajdiFerdu.Properties.Resources.Srdicka_zadne;
Image G_kerbal = NajdiFerdu.Properties.Resources.kerbal;
private void Form1_Load(object sender, EventArgs e)
{
this.ClientSize = new Size(1000, 700);
this.Location = new Point(10, 10);
}
PostavaHrace Hrac;
DuplikatHrace Klon;
const int SirkaPolicka = 50;
const int VyskaPolicka = 50;
const int SirkaMapy = 19;
const int VyskaMapy = 13;
const int SirkaObrazku = 25;
const int VyskaObrazku = 25;
int level = 1;
int kapitola = 2;
float zivoty = 10;
int kerbal = 0;
bool aktivaceKlona = true;
enum StavPolicek
{
zed, cesta, dvere, konec, kerbal, prechod_zed, prechod_cesta, dvere_prechod, konec_prechod, kontrolak
}
enum Cesta
{
nahoru, dolu, doprava, doleva, konec
}
enum StavTextur
{
zed1, zed2, zed3, cesta1, cesta2
}
StavPolicek[,] Mapa = new StavPolicek[SirkaMapy, VyskaMapy];
Cesta[,] MapaCesty = new Cesta[SirkaMapy, VyskaMapy];
StavTextur[,] MapaTex = new StavTextur[SirkaMapy, VyskaMapy];
Random gen = new Random();
private void GeneratorMapy()
{
for (int x = 0; x < SirkaMapy; x++)
{
for (int y = 0; y < VyskaMapy; y++)
{
Mapa[x, y] = StavPolicek.zed;
}
}
switch (level)
{
case 1:
Level1();
break;
case 2:
Level2();
break;
case 3:
Level3();
break;
}
GeneratorTextur();
}
int random_tex;
private void GeneratorTextur()
{
for (int x = 0; x < SirkaMapy; x++)
{
for (int y = 0; y < VyskaMapy; y++)
{
if (Mapa[x, y] == StavPolicek.zed)
{
random_tex = gen.Next(0, 101);
if (random_tex >= 0 && random_tex <= 60)
MapaTex[x, y] = StavTextur.zed1;
if (random_tex > 60 && random_tex <= 90)
MapaTex[x, y] = StavTextur.zed2;
if (random_tex > 90)
MapaTex[x, y] = StavTextur.zed3;
}
if (Mapa[x, y] == StavPolicek.cesta)
{
random_tex = gen.Next(0, 101);
if (random_tex >= 0 && random_tex <= 70)
MapaTex[x, y] = StavTextur.cesta1;
if (random_tex > 70)
MapaTex[x, y] = StavTextur.cesta2;
}
}
}
}
private void VykresleniMapy(Graphics g)
{
for (int x = 0; x < SirkaMapy; x++)
{
for (int y = 0; y < VyskaMapy; y++)
{
switch (Mapa[x, y])
{
case StavPolicek.zed:
switch (kapitola)
{
case 1:
g.DrawImage(G_strom, x * SirkaPolicka, y * VyskaPolicka);
break;
case 2:
switch (MapaTex[x, y])
{
case StavTextur.zed1:
g.DrawImage(G_zed_laborator, x * SirkaPolicka, y * VyskaPolicka);
break;
case StavTextur.zed2:
g.DrawImage(G_zed_laborator2, x * SirkaPolicka, y * VyskaPolicka);
break;
case StavTextur.zed3:
g.DrawImage(G_zed_laborator3, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
}
break;
case StavPolicek.cesta:
switch (kapitola)
{
case 1:
g.DrawImage(G_trava, x * SirkaPolicka, y * VyskaPolicka);
break;
case 2:
switch (MapaTex[x, y])
{
case StavTextur.cesta1:
g.DrawImage(G_cesta_laborator, x * SirkaPolicka, y * VyskaPolicka);
break;
case StavTextur.cesta2:
g.DrawImage(G_cesta_laborator2, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
}
break;
case StavPolicek.konec:
switch (kapitola)
{
case 1:
g.DrawImage(G_konec_trava, x * SirkaPolicka, y * VyskaPolicka);
break;
case 2:
g.DrawImage(G_konec_laborator, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
case StavPolicek.kerbal:
switch (kapitola)
{
case 1:
g.DrawImage(G_kerbal_trava, x * SirkaPolicka, y * VyskaPolicka);
break;
case 2:
g.DrawImage(G_kerbal_laborator, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
case StavPolicek.prechod_zed:
switch (kapitola)
{
case 1:
switch (MapaTex[x, y])
{
case StavTextur.zed1:
g.DrawImage(G_zed_laborator, x * SirkaPolicka, y * VyskaPolicka);
break;
case StavTextur.zed2:
g.DrawImage(G_zed_laborator2, x * SirkaPolicka, y * VyskaPolicka);
break;
case StavTextur.zed3:
g.DrawImage(G_zed_laborator3, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
case 2:
g.DrawImage(G_trava, x * SirkaPolicka, y * VyskaPolicka);
break;
}
break;
}
}
}
}
private void VykresleniHrace(Graphics g)
{
Image obrazekKvykresleni;
Image obrazekKvykresleni2;
switch (Hrac.SmerHrace)
{
case Smer.Doprava:
obrazekKvykresleni = G_hrac_pravo;
break;
case Smer.Doleva:
obrazekKvykresleni = G_hrac_levo;
break;
case Smer.Nahoru:
obrazekKvykresleni = G_hrac_pravo;
break;
case Smer.Dolu:
obrazekKvykresleni = G_hrac_pravo;
break;
default:
obrazekKvykresleni = G_hrac_pravo;
break;
}
if (aktivaceKlona == true)
{
switch (Klon.SmerHrace)
{
case Smer.Doprava:
obrazekKvykresleni2 = G_hrac2_pravo;
break;
case Smer.Doleva:
obrazekKvykresleni2 = G_hrac2_levo;
break;
case Smer.Nahoru:
obrazekKvykresleni2 = G_hrac2_pravo;
break;
case Smer.Dolu:
obrazekKvykresleni2 = G_hrac2_pravo;
break;
default:
obrazekKvykresleni2 = G_hrac2_pravo;
break;
}
Bitmap bitmapa2 = (Bitmap)obrazekKvykresleni2;
bitmapa2.MakeTransparent(Color.Magenta);
g.DrawImage(obrazekKvykresleni2, Klon.X * SirkaPolicka, Klon.Y * VyskaPolicka);
}
Bitmap bitmapa = (Bitmap)obrazekKvykresleni;
bitmapa.MakeTransparent(Color.Magenta);
g.DrawImage(obrazekKvykresleni, Hrac.X * SirkaPolicka, Hrac.Y * VyskaPolicka);
}
private void VykresleniZivotu(Graphics g)
{
int y = 650;
int x = 10;
while (x < 260)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
x = 10;
if (zivoty == 10)
{
while (x < 260)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
}
if (zivoty == 9.5)
{
while (x < 235)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
}
if (zivoty == 9)
{
while (x < 235)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 8.5)
{
while (x < 210)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 8)
{
while (x < 210)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 7.5)
{
while (x < 185)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 7)
{
while (x < 185)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 6.5)
{
while (x < 160)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 6)
{
while (x < 160)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 5.5)
{
while (x < 135)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 5)
{
while (x < 135)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 4.5)
{
while (x < 110)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 4)
{
while (x < 110)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 3.5)
{
while (x < 85)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 3)
{
while (x < 85)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 2.5)
{
while (x < 60)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 2)
{
while (x < 60)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 1.5)
{
while (x < 35)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 1)
{
while (x < 35)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 0.5)
{
while (x < 10)
{
g.DrawImage(G_srdce_plne, x, y);
x += 25;
}
g.DrawImage(G_srdce_polo, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
g.DrawImage(G_srdce_prazd, x, y);
}
if (zivoty == 0)
{
while (x < 260)
{
g.DrawImage(G_srdce_prazd, x, y);
x += 25;
}
}
Bitmap srdce1 = (Bitmap)G_srdce_plne;
Bitmap srdce2 = (Bitmap)G_srdce_polo;
Bitmap srdce3 = (Bitmap)G_srdce_prazd;
srdce1.MakeTransparent(Color.Magenta);
srdce2.MakeTransparent(Color.Magenta);
srdce3.MakeTransparent(Color.Magenta);
this.Invalidate();
}
private void VykresleniTextu(Graphics g)
{
Font pismo = new Font("Arial", 9);
g.DrawString("" + kerbal, pismo, Brushes.Black, 951, 1);
}
//LEVELY
private void Level1()
{
int y = 1;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[4, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[16, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.konec;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[16, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.kerbal;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[4, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[8, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[4, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[12, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
Mapa[16, y] = StavPolicek.cesta;
Mapa[17, y] = StavPolicek.cesta;
}
private void Level2()
{
Hrac.X = 1;
Hrac.Y = 1;
int y = 1;
for (int x = 1; x < SirkaMapy - 2; x++)
{
Mapa[x, y] = StavPolicek.cesta;
}
Mapa[17, y] = StavPolicek.konec;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[2, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.kerbal;
Mapa[3, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.kerbal;
Mapa[7, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.kerbal;
Mapa[11, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.kerbal;
Mapa[15, y] = StavPolicek.cesta;
y++;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
Mapa[3, y] = StavPolicek.cesta;
Mapa[5, y] = StavPolicek.cesta;
Mapa[6, y] = StavPolicek.cesta;
Mapa[7, y] = StavPolicek.cesta;
Mapa[9, y] = StavPolicek.cesta;
Mapa[10, y] = StavPolicek.cesta;
Mapa[11, y] = StavPolicek.cesta;
Mapa[13, y] = StavPolicek.cesta;
Mapa[14, y] = StavPolicek.cesta;
Mapa[15, y] = StavPolicek.cesta;
}
private void Level3()
{
int y = 1;
Mapa[1, y] = StavPolicek.cesta;
Mapa[2, y] = StavPolicek.cesta;
}
private bool ZkontrolujPolicko(int x, int y)
{
return Mapa[x, y] != StavPolicek.zed & Mapa[x, y] != StavPolicek.prechod_zed;
}
private void PruchodKlona()
{
switch (MapaCesty[Klon.X, Klon.Y])
{
case Cesta.nahoru:
Klon.Y--;
break;
case Cesta.dolu:
Klon.Y++;
break;
case Cesta.doleva:
Klon.X--;
break;
case Cesta.doprava:
Klon.X++;
break;
}
}
private void Form1_Paint_1(object sender, PaintEventArgs e)
{
VykresleniMapy(e.Graphics);
VykresleniHrace(e.Graphics);
VykresleniZivotu(e.Graphics);
VykresleniTextu(e.Graphics);
}
private void Form1_KeyDown_1(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.W://NAHORU
if (Hrac.Y - 1 < VyskaMapy && ZkontrolujPolicko(Hrac.X, Hrac.Y - 1))
{
Hrac.Y--;
}
break;
case Keys.S://DOLU
if (Hrac.Y + 1 < VyskaMapy && ZkontrolujPolicko(Hrac.X, Hrac.Y + 1))
{
Hrac.Y++;
}
break;
case Keys.D://DOPRAVA
if (Hrac.X + 1 < SirkaMapy && ZkontrolujPolicko(Hrac.X + 1, Hrac.Y))
{
Hrac.X++;
}
break;
case Keys.A://DOLEVA
if (Hrac.X - 1 < SirkaMapy && ZkontrolujPolicko(Hrac.X - 1, Hrac.Y))
{
Hrac.X--;
}
break;
case Keys.P:
if (aktivaceKlona == false)
aktivaceKlona = true;
if (aktivaceKlona == true)
aktivaceKlona = false;
PochodKlona.Enabled = true;
break;
case Keys.Control:
Klon.X = Hrac.X;
Klon.Y = Hrac.Y;
break;
}
if (e.Control)
{
MapaCesty[Hrac.X, Hrac.Y] = Cesta.konec;
switch (e.KeyCode)
{
case Keys.W://NAHORU
if (Hrac.Y - 1 < VyskaMapy && ZkontrolujPolicko(Hrac.X, Hrac.Y - 1))
{
MapaCesty[Hrac.X, Hrac.Y] = Cesta.nahoru;
}
break;
case Keys.S://DOLU
if (Hrac.Y + 1 < VyskaMapy && ZkontrolujPolicko(Hrac.X, Hrac.Y + 1))
{
MapaCesty[Hrac.X, Hrac.Y] = Cesta.dolu;
}
break;
case Keys.D://DOPRAVA
if (Hrac.X + 1 < SirkaMapy && ZkontrolujPolicko(Hrac.X + 1, Hrac.Y))
{
MapaCesty[Hrac.X, Hrac.Y] = Cesta.doprava;
}
break;
case Keys.A://DOLEVA
if (Hrac.X - 1 < SirkaMapy && ZkontrolujPolicko(Hrac.X - 1, Hrac.Y))
{
MapaCesty[Hrac.X, Hrac.Y] = Cesta.doleva;
}
break;
}
}
if (Mapa[Hrac.X, Hrac.Y] == StavPolicek.konec)
{
Mapa[Hrac.X, Hrac.Y] = StavPolicek.cesta;
level++;
GeneratorMapy();
Hrac.X = 1;
Hrac.Y = 1;
}
if (Mapa[Hrac.X, Hrac.Y] == StavPolicek.kerbal)
{
Mapa[Hrac.X, Hrac.Y] = StavPolicek.cesta;
MapaTex[Hrac.X, Hrac.Y] = StavTextur.cesta1;
kerbal++;
}
this.Invalidate();
}
private void PochodKlona_Tick(object sender, EventArgs e)
{
kerbal++;
PruchodKlona();
if (MapaCesty[Klon.X, Klon.Y] == Cesta.konec)
PochodKlona.Enabled = false;
kerbal++;
this.Invalidate();
}
}
//PruchodKlona();
//if (MapaCesty[Klon.X, Klon.Y] == Cesta.konec)
// PochodKlona.Enabled = false;
// kerbal++;
// this.Invalidate();
class PostavaHrace
{
public Image Grafika
{
get;
private set;
}
private int x = 1, y = 1;
public int X
{
get
{
return x;
}
set
{
if (X > value)
{
SmerHrace = Smer.Doleva;
}
else
{
SmerHrace = Smer.Doprava;
}
x = value;
}
}
public int Y
{
get
{
return y;
}
set
{
if (Y > value)
{
SmerHrace = Smer.Nahoru;
}
else
{
SmerHrace = Smer.Dolu;
}
y = value;
}
}
public PostavaHrace()
{
SmerHrace = Smer.Doprava;
}
public PostavaHrace(Image obrazek)
{
Grafika = obrazek;
}
public Smer SmerHrace
{
get;
private set;
}
}
class DuplikatHrace
{
public Image Grafika
{
get;
private set;
}
private int x = 1, y = 1;
public int X
{
get
{
return x;
}
set
{
if (X > value)
{
SmerHrace = Smer.Doleva;
}
else
{
SmerHrace = Smer.Doprava;
}
x = value;
}
}
public int Y
{
get
{
return y;
}
set
{
if (Y > value)
{
SmerHrace = Smer.Nahoru;
}
else
{
SmerHrace = Smer.Dolu;
}
y = value;
}
}
public DuplikatHrace()
{
SmerHrace = Smer.Doprava;
}
public DuplikatHrace(Image obrazek)
{
Grafika = obrazek;
}
public Smer SmerHrace
{
get;
private set;
}
}
}
Jan Vargovský:21.1.2015 21:22
Chtěl jsem upnout projekt a né zdroják. Nebudu u sebe vytvářet projekt a kopírovat tam postupně.
Btw, zkus refaktorovat některé části kódu. Ten kód by se dal zredukovat minimálně na polovinu.
vodslon:22.1.2015 8:20
Ahoj, já jsem také začátečník a musím říct, že jeslti programuješ
jenom měsíc, tak si se do toho teda pustil. Zkus použít ReSharper (je tady
na něj i reklama). Ten by Ti ten kod mohl hodně zjednodušit, jinak jak píše
kolega, dej nám někam sln, at si to můžeme zkusit pustit, protože takhle
bych si to musel kopírovat a navazovat eventy a to se mi moc nechce .
anticary:22.1.2015 17:21
Díky moc ... ReSharper určitě zkusím zrovna včera jsem na něj koukal.
A tady je ten projekt(nevěděl jsem jak ho sem "upnout" tak jsem ho hodil na
uloz.to... doufám že to nevadí
teda pokud "upnout" neznamená to co jsem udělal a nedá se nahrát
někam sem)
anticary:22.1.2015 17:23
Promiň ... tady máš ten projekt(sice jsem ho dal i pod komentář
vodslona, ale pro jistotu
Zobrazeno 8 zpráv z 8.