Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
CzMarty
Člen
Avatar
CzMarty:7.3.2013 9:23

Cau lidi hele mam problem studuji druhym rokem obor IT a ted mam udelat v C# arkanoid potrebuju poradit s narazy do okraje panelu a plynulý pohyb kulicky

Odpovědět
7.3.2013 9:23
Žiješ jen jednou. Tak žij pořádně :D
Avatar
Odpovídá na CzMarty
Luboš Běhounek Satik:7.3.2013 9:33

Nedávno se to tu někde řešilo, prolez fórum a něco snad najdeš :)

Nahoru Odpovědět
7.3.2013 9:33
https://www.facebook.com/peasantsandcastles/
Avatar
CzMarty
Člen
Avatar
CzMarty:7.3.2013 9:34

ok podivam se a jinak diky :D

Nahoru Odpovědět
7.3.2013 9:34
Žiješ jen jednou. Tak žij pořádně :D
Avatar
CzMarty
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
CzMarty:11.3.2013 10:33

koukal jsem na forum a nikde jsem to nenasel : D

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 arkanoid
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int pohybx = 200;
        int pohyby = 480;
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics panel = e.Graphics;
            panel.FillRectangle(Brushes.Gray, pohybx, 500, 100, 20);
            panel.FillEllipse(Brushes.Navy, 240, pohyby, 20, 20);
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                //pohyb do leva
                case Keys.Left: case Keys.NumPad4:
                    pohybx -= 3;
                    break;
                //pohyb pohyb do prava
                case Keys.Right: case Keys.NumPad6:
                    pohybx += 3;
                    break;
                //pohyb kulicky (zatim jen manualne :-( )
                case Keys.Space:
                    pohyby -= 5;
                    break;


            }
            Refresh();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }
    }
}

tohle zatim mam

Nahoru Odpovědět
11.3.2013 10:33
Žiješ jen jednou. Tak žij pořádně :D
Avatar
CzMarty
Člen
Avatar
CzMarty:11.3.2013 10:33

potreboval bych nastavit blokovani posunu, plynuly pohyb kulicky a jeji odrazeni od padla a steny alespon te vrchní

Nahoru Odpovědět
11.3.2013 10:33
Žiješ jen jednou. Tak žij pořádně :D
Avatar
Odpovídá na CzMarty
Luboš Běhounek Satik:11.3.2013 10:44

http://www.itnetwork.cz/…12de33aaf180

Je to sice diskuze pro Javu, ale to je skoro to samé :)

Nahoru Odpovědět
11.3.2013 10:44
https://www.facebook.com/peasantsandcastles/
Avatar
CzMarty
Člen
Avatar
Odpovídá na Luboš Běhounek Satik
CzMarty:11.3.2013 11:00

aha tak trochu se v tom nevyznam :( o Javě jsem slysel ae porad nechapu jak mam nastavit max pohyb padla a odraz micku

Nahoru Odpovědět
11.3.2013 11:00
Žiješ jen jednou. Tak žij pořádně :D
Avatar
Odpovídá na CzMarty
Luboš Běhounek Satik:11.3.2013 11:18

Pohyb kulicky udelas tak, ze ho budes volat v timer1_Tick(...) .
Tam by jsi taky měl řešit odrazy míčku od kostiček/krajů/pá­dla.

Samotný odraz od kraje zkus vykoukat z toho v javě, je to jen kontrola pozice míčku v jednom směru :)

Nahoru Odpovědět
11.3.2013 11:18
https://www.facebook.com/peasantsandcastles/
Avatar
CzMarty
Člen
Avatar
CzMarty:11.3.2013 11:20

a jak mam nastavit ten timer ??? abych tam dal treba nekonecnou smycku ???

Nahoru Odpovědět
11.3.2013 11:20
Žiješ jen jednou. Tak žij pořádně :D
Avatar
CzMarty
Člen
Avatar
CzMarty:11.3.2013 11:20

a jak mam nastavit ten timer ??? abych tam dal treba nekonecnou smycku ???

Nahoru Odpovědět
11.3.2013 11:20
Žiješ jen jednou. Tak žij pořádně :D
Avatar
Mediel
Tvůrce
Avatar
Odpovídá na CzMarty
Mediel:11.3.2013 11:22

Timer bezi neustale, dokud ho nevypnes...

Timer1.Enabled = true; // timer je zapnuty a bezi v te tve nekonecne smycce
Timer1.Enabled = false; // timer je vypnuty a uz nikam nedobehne :D

Nahoru Odpovědět
11.3.2013 11:22
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Avatar
CzMarty
Člen
Avatar
CzMarty:11.3.2013 11:31
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 arkanoid
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        int pohybx = 200;
        int pohyby = 480;
        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            Graphics panel = e.Graphics;
            panel.FillRectangle(Brushes.Gray, pohybx, 500, 100, 10);
            panel.FillEllipse(Brushes.Navy, 240, pohyby, 20, 20);

            if (pohyby >= 500)
            {
                panel.FillEllipse(Brushes.Green, 240, pohyby, 20, 20);
            }
        }

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
                //pohyb do leva
                case Keys.Left: case Keys.NumPad4:
                    pohybx -= 3;
                    break;
                //pohyb pohyb do prava
                case Keys.Right: case Keys.NumPad6:
                    pohybx += 3;
                    break;
                //pohyb kulicky (zatim jen manualne :-( )
                case Keys.Space:
                    for (int i = 0; i < 100; i++)
                    {
                        if (pohyby >= 0 )
                        {
                            pohyby -= 5;
                            Refresh();
                            System.Threading.Thread.Sleep(10);
                        }


                    }
                    break;


            }

            Refresh();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {

        }
    }
}

tohle jsem zatim udelal kulicka se zastavi na nulove hodnote y, jenze ted potrebuju aby se vratila zpet a opet se odrazila od pozice pocatecniho vykresleni a tohle porad dokola

Nahoru Odpovědět
11.3.2013 11:31
Žiješ jen jednou. Tak žij pořádně :D
Avatar
Mediel
Tvůrce
Avatar
Odpovídá na CzMarty
Mediel:11.3.2013 11:39

Zkus se nad ti zamyslet a udelej si treba algoritmus :) Ono sice ti to zabere hodinku hlubokeho premysleni, ale posune te to daleko dal nez to, kdyz ti tady ted napisu, jak pokracovat v kodu...

Nahoru Odpovědět
11.3.2013 11:39
Nechci vám ukazovat, jak dobrý jsem já ... Chci vám ukázat, jak dobrý můžete být vy ... Když uvěříte ... V sami sebe...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 13 zpráv z 13.