Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApplication1
- {
- public class Punkt
- {
- public int x = 0, y = 0;
- public Punkt() { }
- public Punkt(int xx, int yy)
- {
- x = xx; y = yy;
- }
- public Punkt(Punkt p)
- {
- x = p.x; y = p.y;
- }
- public void przesun(int dx, int dy)
- {
- x += dx; y += dy;
- }
- public override String ToString() { return x + "," + y; }
- }
- public class Linia
- {
- public Punkt p1, p2;
- public Linia() { }
- public Linia(Punkt q1, Punkt q2)
- {
- p1 = new Punkt(q1); p2 = new Punkt(q2);
- }
- public Linia(Linia l)
- {
- p1 = new Punkt(l.p1); p2 = new Punkt(l.p2);
- }
- public void przesun(int dx, int dy)
- {
- p1.przesun(dx, dy); p2.przesun(dx, dy);
- }
- public override String ToString()
- {
- return "Linia(p1:" + p1.ToString() + ", p2:" + p2.ToString() + ")";
- }
- }
- public class Trojkat
- {
- public Linia a, b, c;
- public Trojkat() { }
- private bool tak(Punkt a, Punkt b)
- {
- if (a.x == b.x && a.y == b.y)
- return true;
- return false;
- }
- public Trojkat(Linia x, Linia y, Linia z) {
- int i = 0;
- if(tak(x.p1,y.p1))
- {
- if(tak(x.p2,z.p1))
- {
- if(tak(z.p2,y.p2))
- i=1;
- }
- else if(tak(x.p2,z.p2))
- {
- if(tak(z.p1,y.p2)) i=1;
- }
- }
- else if(tak(x.p1,y.p2))
- {
- if(tak(x.p2,z.p1))
- {
- if(tak(z.p2,y.p1))
- i=1;
- }
- else if(tak(x.p2,z.p2))
- {
- if(tak(z.p1,y.p1)) i=1;
- }
- }
- else if(tak(x.p2,y.p1))
- {
- if(tak(x.p1,z.p1))
- {
- if(tak(z.p2,y.p2))
- i=1;
- }
- else if(tak(x.p1,z.p2))
- {
- if(tak(z.p1,y.p2))
- i=1;
- }
- }
- else if(tak(x.p2,y.p2))
- {
- if(tak(x.p1,z.p1))
- {
- if(tak(z.p2,y.p1))
- i=1;
- }
- else if(tak(x.p1,z.p2))
- {
- if(tak(z.p1,y.p1))
- i=1;
- }
- }
- if(i==1) Console.WriteLine("DZIALA");
- else Console.WriteLine("CHYBA DZIALA");
- a=new Linia(x);
- b=new Linia(y);
- c=new Linia(z);}
- public Trojkat(Trojkat t)
- {
- a = new Linia(t.a);
- b = new Linia(t.b);
- c = new Linia(t.c);
- }
- public void przesun(int dx, int dy)
- {
- a.przesun(dx, dy);
- b.przesun(dx, dy);
- c.przesun(dx, dy);
- }
- public override String ToString()
- {
- return "Trojkat[Pierwsza " + a.ToString() +
- ", Druga " + b.ToString() +
- ", Trzecia " + c.ToString() + "]";
- }
- }
- public class Czworokat
- {
- public Linia a, b, c, d;
- public Czworokat() { }
- //private bool tak(Point a, Point b){if(a.x==b.x && a.y==b.y) return true; return false}
- public Czworokat(Linia x, Linia y, Linia z, Linia q)
- {
- //if(tak(x.p1,y.p1)||tak(x.p1,y.p2)||tak(x.p2,y.p1))
- a = new Linia(x);
- b = new Linia(y);
- c = new Linia(z);
- d = new Linia(q);
- }
- public Czworokat(Czworokat t)
- {
- a = new Linia(t.a);
- b = new Linia(t.b);
- c = new Linia(t.c);
- d = new Linia(t.d);
- }
- public void przesun(int dx, int dy)
- {
- a.przesun(dx, dy);
- b.przesun(dx, dy);
- c.przesun(dx, dy);
- d.przesun(dx, dy);
- }
- public String toString()
- {
- return "Czworokat[Pierwsza " + a.ToString() +
- ", Druga " + b.ToString() +
- ", Trzecia " + c.ToString() +
- ", Czwarta " + d.ToString() + "]";
- }
- }
- public class Obraz
- {
- public Trojkat[] tab1 = new Trojkat[10];
- public Czworokat[] tab2 = new Czworokat[10];
- // ta sama nazwa, ze wzgledu na rodzja parametru rozróżniamy
- public void add(Trojkat x)
- {
- for(int t=0; t<tab1.Length; t++)
- if(tab1[t]==null)
- {
- tab1[t]=new Trojkat(x);break;
- }
- }
- public void add(Czworokat x)
- {
- for(int t=0; t<tab2.Length; t++)
- if(tab2[t]==null)
- {
- tab2[t]=new Czworokat(x);break;
- }
- }
- public void przesun(int dx, int dy)
- {
- for(int t=0; t<tab2.Length; t++)
- if(tab2[t]!=null)
- tab2[t].przesun(dx,dy);
- for(int t=0; t<tab1.Length; t++)
- if(tab1[t]!=null)
- tab1[t].przesun(dx,dy);
- }
- public override string ToString()
- {
- String a = "Oto cały obraz:\n";
- for(int t=0; t<tab2.Length; t++)
- {
- if(tab2[t]!=null) a=a+tab2[t].ToString()+"\n";
- }
- for(int t=0; t<tab1.Length; t++)
- {
- if(tab1[t]!=null) a=a+tab1[t].ToString()+"\n";
- }
- return a;
- }
- }
- class Program
- {
- static void Main(string[] args)
- {
- Punkt p1=new Punkt(0,0), p2=new Punkt(1,1);
- Linia l1=new Linia(p1, p2), l2=new Linia(p1, p2);
- l1.przesun(5,5);
- Console.WriteLine(l1);
- Console.WriteLine(l2);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement