Skocz do zawartości

Strony internetowe z zadaniami do nauki Javascript. Kursy i tutoriale online


Poftorek
 Udostępnij

Rekomendowane odpowiedzi

Problem wciąż nierozwiązany? Dodaj swoją odpowiedź

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto. Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
  • Podobna zawartość

    • Witam,
      mam problem ponieważ narazie dzialam na skrypcie randomname, lecz chcialbym podpiac chat pod baze danych. Chat jest oparty o javascript.
      W jaki sposob moglby to zrobic? 
       
      chat znajduje sie tutaj: tibiapot.com / to nie jest reklama.
       
      Co musialbym dodac, lub do czego sie odwolac aby nawiazac polaczenie z baza i pobierac uzytkownikow z niej
       
      Pozdrawiam
    • Chciałbym kupić laptop (około 3000 zł) do nauki, oglądania seriali i ewentualnego grania w prostsze gry (np. Simsy). Zależy mi, żeby był ≥15 cali i był w miarę "zgrabny". Zastanawiam się nad którymś z tych 2, ale nie wiem, który będzie lepszy. Chętnie posłuchałbym też innych propozycji. Z góry dzięki
      1.  HUAWEI MateBook D15 RYZEN 7 3700U 8GB 512GB SSD W10 Laptop - ceny i opinie w Med...
      2. ASUS VivoBook 15 A512JA i5-1035G1 8GB 512GB SSD W10 Laptop - ceny i opinie w Med...
    • Co wykonać?: Poniżej
      Za cenę: Do dogadania
      Sposób płatności: Przelew
      Kontakt: PW.
      Cześć,
      potrzebuje pomocy lub zlecę wykonanie gry - warcabów.
      Zrobiłem: plansze, pionki, ruch pionków (niedokładne)
      Mam problem ze zrobieniem:
      - granicy szachownicy (aby nie można było przesunąć pionków poza szachownice)
      - gdy nacisnę na dany kafelek (kwadrat) ma w konsoli pokazywać się nazwa danego kafelka np. A1
      - przesuwanie się pionków tylko i wyłącznie o jedno pole w lewo-skos i prawo-skos (teraz można je przesuwać po całej szachownicy)
      - bicie przeciwnika
      - dodanie damek 
      - uporządkowanie kodu
      import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import java.util.ArrayList; import java.util.List; public class Plansza extends JComponent { private final static int SQUAREDIM = (int) (Pionek.getDimension() * 1.25); private final Dimension dimPrefSize; private boolean ruch = false; private int deltax, deltay; private PozycjaPionka kontrolaPozycji; private int oldcx, oldcy; private final List<PozycjaPionka> posChecks; public Plansza() { posChecks = new ArrayList<>(); int BOARDDIM = 8 * SQUAREDIM; dimPrefSize = new Dimension(BOARDDIM, BOARDDIM); addMouseListener(new MouseAdapter() { @Override // mysz wcisnieta public void mousePressed(MouseEvent me) { int x = me.getX(); int y = me.getY(); for (PozycjaPionka posCheck : posChecks) if (Pionek.contains(x, y, posCheck.cx, posCheck.cy)) { Plansza.this.kontrolaPozycji = posCheck; //wracanie na swoje pole, po złej próbie ruchu oldcx = posCheck.cx; oldcy = posCheck.cy; // nie wiem co to deltax = x - posCheck.cx; deltay = y - posCheck.cy; ruch = true; return; } } @Override // zwolnienie myszy public void mouseReleased(MouseEvent me) { if (ruch) ruch = false; else return; int x = me.getX(); int y = me.getY(); kontrolaPozycji.cx = (x - deltax) / SQUAREDIM * SQUAREDIM + SQUAREDIM / 2; kontrolaPozycji.cy = (y - deltay) / SQUAREDIM * SQUAREDIM + SQUAREDIM / 2; for (PozycjaPionka posCheck: posChecks) if (posCheck != Plansza.this.kontrolaPozycji && posCheck.cx == Plansza.this.kontrolaPozycji.cx && posCheck.cy == Plansza.this.kontrolaPozycji.cy) { Plansza.this.kontrolaPozycji.cx = oldcx; Plansza.this.kontrolaPozycji.cy = oldcy; break; } kontrolaPozycji = null; repaint(); } }); addMouseMotionListener(new MouseMotionAdapter() { @Override // przeciaganie myszy public void mouseDragged(MouseEvent me) { if (ruch) { kontrolaPozycji.cx = me.getX() - deltax; kontrolaPozycji.cy = me.getY() - deltay; repaint(); } } }); } public void dodaj(Pionek pionek, int row, int col) { PozycjaPionka posCheck = new PozycjaPionka(); posCheck.pionek = pionek; posCheck.cx = (col - 1) * SQUAREDIM + SQUAREDIM / 2; posCheck.cy = (row - 1) * SQUAREDIM + SQUAREDIM / 2; posChecks.add(posCheck); } @Override public Dimension getPreferredSize() { return dimPrefSize; } @Override protected void paintComponent(Graphics g) { rysowaniePlanszy(g); for (PozycjaPionka posCheck: posChecks) { if (posCheck != Plansza.this.kontrolaPozycji) { posCheck.pionek.draw(g, posCheck.cx, posCheck.cy); } } if (kontrolaPozycji != null) { kontrolaPozycji.pionek.draw(g, kontrolaPozycji.cx, kontrolaPozycji.cy); } } private void rysowaniePlanszy(Graphics g) { ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); for (int row = 0; row < 8; row++) { g.setColor(((row & 1) != 0) ? Color.GRAY : Color.WHITE); for (int col = 0; col < 8; col++) { g.fillRect(col * SQUAREDIM, row * SQUAREDIM, SQUAREDIM, SQUAREDIM); g.setColor((g.getColor() == Color.GRAY) ? Color.WHITE : Color.GRAY); } } } private static class PozycjaPionka { public Pionek pionek; public int cx; public int cy; } } import java.awt.*; public final class Pionek { public enum JakiPionek { BLACK,RED } private final static int DIMENSION = 50; private final JakiPionek jakiPionek; public Pionek(JakiPionek jakiPionek) { this.jakiPionek = jakiPionek; } public void draw(Graphics g, int cx, int cy) { int x = cx - DIMENSION / 2; int y = cy - DIMENSION / 2; g.setColor(jakiPionek == JakiPionek.BLACK ? Color.BLACK : Color.WHITE); g.fillOval(x, y, DIMENSION, DIMENSION); g.drawOval(x, y, DIMENSION, DIMENSION); } public static boolean contains(int x, int y, int cx, int cy) { return (cx - x) * (cx - x) + (cy - y) * (cy - y) < DIMENSION  * DIMENSION / 2; } public static int getDimension() { return DIMENSION; } } import javax.swing.*; import java.awt.*; public class Main extends JFrame { public Main (String tytul) { super(tytul); setDefaultCloseOperation(EXIT_ON_CLOSE); //pozwala zakonczyc program x-em Plansza plansza = new Plansza(); // tworzenie planszy do gry // dodawanie pionkow plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 1, 2); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 1, 4); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 1, 6); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 1, 8); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 2, 1); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 2, 3); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 2, 5); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 2, 7); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 3, 2); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 3, 4); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 3, 6); plansza.dodaj(new Pionek(Pionek.JakiPionek.RED), 3, 8); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 6, 1); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 6, 3); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 6, 5); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 6, 7); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 7, 2); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 7, 4); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 7, 6); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 7, 8); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 8, 1); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 8, 3); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 8, 5); plansza.dodaj(new Pionek(Pionek.JakiPionek.BLACK), 8, 7); setContentPane(plansza); pack(); setResizable(false); setVisible(true); } public static void main(String[] args) { Runnable warcaby = () new Main("W A R C A B Y"); EventQueue.invokeLater(warcaby); } }
    • Cześć, przez ostatnie prawie 2 miesiące hostowałem pokój/room do gry haxball.com na VPS SSD1 od OVH bez większych problemów. Ostatnio jednak na roomie były lagi, więc chciałem zrestartować room i zobaczyć czy to coś pomoże. Jednak po tym restarcie nikt do pokoju nie może wejść, ciągle pojawia się komunikat "Failed" przy próbie łączenia. Room w tej grze hostuje się poprzez dodanie kodu javascript do konsoli przeglądarki na stronie haxball.com/headless. Za pomocą tej strony https://www.haxball.com/webrtcdiagnostics można zobaczyć co jest nie tak. Wszedłem na tą stronę z mojego Firefoxa zainstalowanego na Ubuntu 18.04 na tym VPS i pokazało mi NO YES NO, podczas gdy musi być YES YES NO. Na tej samej stronie pisze, że jesli przy pierwszym jest NO to trzeba wyłączyć wszystkie dodatki/pluginy przeglądarki i zobaczyć czy to coś pomoże albo zmienić przeglądarkę. U mnie jednak nic to nie dało, wykupiłem nawet nowego VPS i też nic. Ostatnio też zauważyłem taki komunikat w tej konsoli jak w tytule: ICE failed, add a TURN server and see about:webrtc for more details. Szukałem coś na ten temat w internecie ale znalazłem tylko po angielsku a jestem słaby w takim technicznym angielskim, a też z VPS mam po raz pierwsze styczność w życiu, programista też ze mnie żaden. Co muszę zrobić? Rozumiem, że źle konfiguruję VPS? Jak dodać ten TURN server? Proszę o pomoc. Pozdrawiam!
    • Hey, szukam godnych polecenia książek do nauki językow wymienionych wyżej, mogą być audiobooki ale nie jakieś strony czy cos w tym stylu, niestety próba uczenia się z stron kończy się u mnie fiaskiem bo wszystko mnie rozprasza dlatego szukam zwykłej książki.
      Ps. Jeśli chodzi o naukę języków to co jest lepsze uczenie się typowo pod strony www czy c++/c jeśli chciałbym wiązać to ze swoją przyszłością zawodową? 
  • Najnowsze tematy

  • Ostatnio rozwiązane

×