Jump to content
GSForum - Segélyvonal

Programozás (segítség és publikálás kezdõknek)


Recommended Posts

Posted

Mien változóba lehet ezt tárolni ??? Vagy pl oanra gondolsz h string iran="left"(ha bal volt az utsó)??? És akkro jól írtam lea mozgást a tick be kell rakni ezt írtam le. :) Valami még talán egy ien retardáltnak mint én is összejön :) de köszönöm szépen. Igyekszem :) mindjárt felrakom a kódot akkor. :)

Pl. egy Keys típusú változóban. :)

private Keys m_keys;

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    m_keys = e.KeyCode;
}

Posted

Pl. egy Keys típusú változóban. :)

private Keys m_keys;

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    m_keys = e.KeyCode;
}

Nah most valamit megint elszúrtam. Nem tom, pontosan h is kéne ezt a timer_tick et. Most ilyen a kód(tudom h hiányzik a timer_tick metódusnak az {} ienje de nem fogadja el sehogy.)

public partial class Form1 : Form
    {
        Point pont = new Point(150,150);
        public Form1()
        {
            InitializeComponent();
            timer1.Interval = 100;
            timer1.Enabled = true;
            timer1.Start();
        }
        private Keys m_keys;
        private void timer1_Tick(object sender, EventArgs e);
        
            private void Form1_KeyDown(object sender, KeyEventArgs e)
            {

                if (e.KeyCode == Keys.Up)
                {
                    m_keys = e.KeyCode;
                    if (pont.Y == 0)
                    {
                        pont.Y = 330;
                    }

                    pont.Y = pont.Y - 1;
                    pictureBox1.Location = pont;
                }
                if (e.KeyCode == Keys.Down)
                {
                    m_keys = e.KeyCode;
                    if (pont.Y == 330)
                    {
                        pont.Y = 0;
                    }
                    pont.Y = pont.Y + 1;
                    pictureBox1.Location = pont;


                }
                if (e.KeyCode == Keys.Left)
                {
                    m_keys = e.KeyCode;
                    if (pont.X == 0)
                    {
                        pont.X = 330;
                    }
                    pont.X = pont.X - 1;
                    pictureBox1.Location = pont;

                }
                if (e.KeyCode == Keys.Right)
                {
                    m_keys = e.KeyCode;
                    if (pont.X == 330)
                    {
                        pont.X = 0;
                    }
                    pont.X = pont.X + 1;
                    pictureBox1.Location = pont;
                }
            }
    }

Posted

Nem kell pontosvesszõ a metódus fejléce után. :)

A Form1_KeyDown pontosan úgy nézzen ki, ahogy én írtam, a timer1_Tick-be rakd a mozgást megvalósító logikát, és ne felejts el a konstruktorban föliratkozni a timered tick eseményére!

timer1.Tick += new EventHandler(timer1_Tick);

Illetve, ha úgy "ráhúztad" a timert a formodra, majd dupla kattal generáltattad le a timer1_Tick metódust, akkor ezt az utóbbit természetesen berakta az InitializeComponentbe a kódgeneráló.

Posted (edited)

Nem kell pontosvesszõ a metódus fejléce után. :)

A Form1_KeyDown pontosan úgy nézzen ki, ahogy én írtam, a timer1_Tick-be rakd a mozgást megvalósító logikát, és ne felejts el a konstruktorban föliratkozni a timered tick eseményére!

timer1.Tick += new EventHandler(timer1_Tick);

Illetve, ha úgy "ráhúztad" a timert a formodra, majd dupla kattal generáltattad le a timer1_Tick metódust, akkor ezt az utóbbit természetesen berakta az InitializeComponentbe a kódgeneráló.

Nh jó most elkezdtem neked írni h most mi nem megy. De rám jött az 5 perc é rájöttem! És most sikerült :D müxik tökéletesen :D nagyon köszönöm a sok segítséget :D Nagyon köszönöm :D És mûködik!!!! :D Köszi :D Annyit had kérdezzek, h nem lehet gyorítani? mert a timer intervallumot levettem 1 re de az se oylan hûû de gyors :D nem lehte valami 0 egész valamenynit megadni? :D

Edited by csongi30
Posted

Nh jó most elkezdtem neked írni h most mi nem megy. De rám jött az 5 perc é rájöttem! És most sikerült :D müxik tökéletesen :D nagyon köszönöm a sok segítséget :D Nagyon köszönöm :D És mûködik!!!! :D Köszi :D Annyit had kérdezzek, h nem lehet gyorítani? mert a timer intervallumot levettem 1 re de az se oylan hûû de gyors :D nem lehte valami 0 egész valamenynit megadni? :D

Akkor ott a kódoddal van valami, mert 1 ms az azért elég gyors... :P Másold be ide, meglessük. ;)

Posted

Akkor ott a kódoddal van valami, mert 1 ms az azért elég gyors... :P Másold be ide, meglessük. ;)

public partial class Form1 : Form
    {
        Point pont = new Point(150,150);
        public Form1()
        {
            InitializeComponent();
            timer1.Interval = 1;
            timer1.Enabled = true;
            timer1.Start();
            timer1.Tick += new EventHandler(timer1_Tick);
        }

        private Keys m_keys;

        private void Form1_KeyDown(object sender, KeyEventArgs e)
        {
         m_keys = e.KeyCode;
        }    
        private void timer1_Tick(object sender, EventArgs e)
        {

            if (m_keys == Keys.Up)
                {
                    
                    if (pont.Y == 0)
                    {
                        pont.Y =330;
                    }

                    pont.Y = pont.Y - 1;
                    pictureBox1.Location = pont;
                }
            if (m_keys == Keys.Down)
                {
                    if (pont.Y == 330)
                    {
                        pont.Y = 0;
                    }
                    pont.Y = pont.Y + 1;
                    pictureBox1.Location = pont;


                }
            if (m_keys == Keys.Left)
                {
                    if (pont.X == 0)
                    {
                        pont.X = 330;
                    }
                    pont.X = pont.X - 1;
                    pictureBox1.Location = pont;

                }
            if (m_keys == Keys.Right)
                {
                    if (pont.X == 330)
                    {
                        pont.X = 0;
                    }
                    pont.X = pont.X + 1;
                    pictureBox1.Location = pont;
                }
            } 
        }

Posted

Ja, hogy egy picture box-ban lévõ képet mozgatsz winforms alkalmazásban... :D GDI ennyit tud, sajnos. WPF egy picivel jobb lenne erre.

Posted

Ja, hogy egy picture box-ban lévõ képet mozgatsz winforms alkalmazásban... :D GDI ennyit tud, sajnos. WPF egy picivel jobb lenne erre.

WPF az mi? De am meg snake t csinálok ott picture van :D De köszönöm a sok segítséget tényleg :D

Posted

WPF az mi? De am meg snake t csinálok ott picture van :D De köszönöm a sok segítséget tényleg :D

Windows Presentation Foundation. Lényegében a WinForms utóda. Értem én, hogy snake-et csinálsz, de arra WinForms nem a legjobb... Nincs mit. :)

Posted

Windows Presentation Foundation. Lényegében a WinForms utóda. Értem én, hogy snake-et csinálsz, de arra WinForms nem a legjobb... Nincs mit. :)

Hát ezt kezdtem el tanulni. :D Sokféle buta progit csintem már. Pl számrendszer átváltós. Az nehéz volt fõleg a 16 os számrendszerbõl 2 esbe váltás :D de azt megoldottam lényegében segítség nélkül :D csak ennél szenvedtem annyit a timer miatt XD

  • 1 month later...
Posted

HELP!

Egyetemen Visual Studio 2008-ban kezdtünk el c++ nyelven programozni, és a tudásom bõven a 0 alatt van, semmit nem értek. Valami könyvet tudnátok ajánlani, amibõl önképzõszakkör során el tudnám sajátítani az alapokat? A félév végéig már csak 5 gyakorlatom lesz, és a végére meg kellene tudnom írni egy programot egy ZH ünnepélyes keretei közt...

Nagyon szívesen vennék minden segítséget, mert borzasztóan meg vagyok rémülve, hogy ezt hogyan fogom abszolválni.

  • 4 weeks later...
Posted

kérdés:

c++ban van egy bináris keresõfám, amihez írtam egy iterátort. stl-t nem használok, tehát mindent én írtam meg. túlterheltem a ++ operátort h léptesse az iterátort pl. egy for ciklusban. a gyakorlatban ez így fest:

void displaytree() {
        for (iterator i=begin();i!=end();i++) {
            cout<<*i<<endl;
        }
}

az operátor kifejtése pedig ilyen:

iterator operator ++(int) {
            actual=next(actual);
            return actual;
}

a kérdés h miért kell paraméternek oda egy int típusú változó? nélküle nem fut le. lehet h egyszerû kérdés és itt az orrom elõtt, de nem értem :| :omg:

HELP!

Egyetemen Visual Studio 2008-ban kezdtünk el c++ nyelven programozni, és a tudásom bõven a 0 alatt van, semmit nem értek. Valami könyvet tudnátok ajánlani, amibõl önképzõszakkör során el tudnám sajátítani az alapokat? A félév végéig már csak 5 gyakorlatom lesz, és a végére meg kellene tudnom írni egy programot egy ZH ünnepélyes keretei közt...

Nagyon szívesen vennék minden segítséget, mert borzasztóan meg vagyok rémülve, hogy ezt hogyan fogom abszolválni.

sry h nem írok semmi hasznosat, de most programozol elõször? ha nem, akkor konkrétan mi a probléma a (visual) c++szal?

Posted

Azért kell az int, mert úgy jelölöd, hogy postincrementrõl van szó. És azért nem fordul, mert ha kihagyod az intet, akkor preincrementnek veszi, pedig te (gondolom) postincrementet akarsz használni a kódodban, amit pedig nem definiáltál a típusodhoz.

Posted

ezt tudom én is, de miért pont int-tel jelöljük? semmilyen int változó nincs az operátor közelében, nem teljesen értem h ez hogyan mûködik a háttérben.

Posted

ezt tudom én is, de miért pont int-tel jelöljük? semmilyen int változó nincs az operátor közelében, nem teljesen értem h ez hogyan mûködik a háttérben.

Miért int? Megegyezés kérdése. Syntax highlighting mûködik, tehát szembetûnõ. Mondjuk ennyi erõvel lehetne akár long is, de mégis az int a default adattípus.

Posted

Miért int? Megegyezés kérdése. Syntax highlighting mûködik, tehát szembetûnõ. Mondjuk ennyi erõvel lehetne akár long is, de mégis az int a default adattípus.

azért nem értem/értettem mert ilyet még nem láttam h valamit megegyezés alapján értelmez a fordító és nem azért mert azt "jelenti" logikailag/szekvenciálisan értelmezve a kód amit bepötyögtél.

Posted

HİMÉRSÉKLET
Egy meteorológiai állomáson egy héten keresztül minden nap délben megmérik a levegı
hımérsékletét. (A hét kezdınapja a hétfı legyen!) Készítsen programot, amely a billentyõzetrıl
beolvassa a mért hımérsékleti értékeket! A program határozza meg és írja ki a képernyıre, hogy a
héten melyik nap mérték a legalacsonyabb és a legmagasabb hımérsékletet és mennyi volt annak
értéke!
Bemenet:
13 10 15 11 12 9 11
Kimenet:
A héten szombaton volt a legalacsonyabb a hımérséklet: 9 fok.
A héten szerdán volt a legmagasabb a hımérséklet: 15 fok.

Ezt hogyan lehetne egyszerûen megoldani? Elég alap szinten tanulom még egyelõre. :D

Odáig megcsinálnám, hogy melyik a legkisebb és legnagyobb érték, de hogy a napot is mellé írja azt nem tudom hogyan kell.

Posted

HİMÉRSÉKLET
Egy meteorológiai állomáson egy héten keresztül minden nap délben megmérik a levegı
hımérsékletét. (A hét kezdınapja a hétfı legyen!) Készítsen programot, amely a billentyõzetrıl
beolvassa a mért hımérsékleti értékeket! A program határozza meg és írja ki a képernyıre, hogy a
héten melyik nap mérték a legalacsonyabb és a legmagasabb hımérsékletet és mennyi volt annak
értéke!
Bemenet:
13 10 15 11 12 9 11
Kimenet:
A héten szombaton volt a legalacsonyabb a hımérséklet: 9 fok.
A héten szerdán volt a legmagasabb a hımérséklet: 15 fok.

Ezt hogyan lehetne egyszerûen megoldani? Elég alap szinten tanulom még egyelõre. :D

Odáig megcsinálnám, hogy melyik a legkisebb és legnagyobb érték, de hogy a napot is mellé írja azt nem tudom hogyan kell.

Legegyszerûbb: 7 elemû tömbben tárolod a napokat és a hõmérsékletet is, annyiadik napot írod ki, ahanyadik napon volt a legkisebb/legnagyobb hõmérséklet.

Posted

Legegyszerûbb: 7 elemû tömbben tárolod a napokat és a hõmérsékletet is, annyiadik napot írod ki, ahanyadik napon volt a legkisebb/legnagyobb hõmérséklet.

És ha még nem vettük a tömböket? :D

Posted

És ha még nem vettük a tömböket? :D

Akkor gondolom az indexét és az értékét tárolod a max/min hõmérsékletnek. Ez esetben switch az indexre és fölsorolod a 7 esetet.

Posted

de mi értelme van egy ilyen feladatnak tömbök nélkül? inkább nézd meg h kell a tömböket használni és csináld meg azzal.

Posted

Hello,

Kígyó játékot szeretnék írni, és úgy gondoltam, hogy

lesz 2 eljárásom egy horizontális és egy vertikális nevû.

arra jók, hogy a bemeneti értékeknek megfelelõen a kígyónk elinduljon a

megfelelõ irányba, és menjen amíg új értéket nem kap, de arra van e valami

függvény vagy vmi addig ismételjen amíg nem kap új értéket?

ja, és pascalban írok

Posted

igen a keypressed függvényt kerestem

Posted

HİMÉRSÉKLET
Egy meteorológiai állomáson egy héten keresztül minden nap délben megmérik a levegı
hımérsékletét. (A hét kezdınapja a hétfı legyen!) Készítsen programot, amely a billentyõzetrıl
beolvassa a mért hımérsékleti értékeket! A program határozza meg és írja ki a képernyıre, hogy a
héten melyik nap mérték a legalacsonyabb és a legmagasabb hımérsékletet és mennyi volt annak
értéke!
Bemenet:
13 10 15 11 12 9 11
Kimenet:
A héten szombaton volt a legalacsonyabb a hımérséklet: 9 fok.
A héten szerdán volt a legmagasabb a hımérséklet: 15 fok.

Ezt hogyan lehetne egyszerûen megoldani? Elég alap szinten tanulom még egyelõre. :D

Odáig megcsinálnám, hogy melyik a legkisebb és legnagyobb érték, de hogy a napot is mellé írja azt nem tudom hogyan kell.

Yeah, Lispben megcsináltam :)

Illetve: nem tudom, ismeri-e valaki a nyelvet (Lisp), de erre nem tudok rájönni:

Write a procedure fringe that takes as argument a tree (represented as a list) and returns a list whose elements are all the leaves of the tree arranged in left-to-right order.

Example: 

(define x (list (list 1 2) (list 3 4)))

(fringe x)
(1 2 3 4)

Szóval ha valaki tud, segitsen, pls.

Posted

Yeah, Lispben megcsináltam :)

Illetve: nem tudom, ismeri-e valaki a nyelvet (Lisp), de erre nem tudok rájönni:

Write a procedure fringe that takes as argument a tree (represented as a list) and returns a list whose elements are all the leaves of the tree arranged in left-to-right order.

Example: 

(define x (list (list 1 2) (list 3 4)))

(fringe x)
(1 2 3 4)

Szóval ha valaki tud, segitsen, pls.

Tárgytalan, megoldottam :)

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...