Zobraziť témy bez odpovede | Zobraziť aktívne témy Aktuálny čas je 25 Feb 2020, 16:44



Odpovedať na tému  [ Príspevkov: 598 ]  Predchádzajúca  1 ... 26, 27, 28, 29, 30
Choď na stránku
Programátorský kútik: prejavte sa!
Hľadať:
Facebook Twitter Vybrali Sme  
 
Autor Správa
Addict
Addict
Obrázok užívateľa

Registrovaný: 23.3.2005
Príspevky: 3629
Bydlisko: ZA <-> TN
Karma: Level +5
Príspevok Re: Programátorský kútik: prejavte sa!
Vdaka. Menit pismenka je mozne stlacenim Hotovo bez vylozenia pismenok, rovnako sa da iba vzdat tahu.


08 Júl 2017, 7:54
Profil  ICQ  YIM  Skype  Pokec  WWW
VIP
VIP
Obrázok užívateľa

Registrovaný: 9.9.2005
Príspevky: 25949
Karma: Level +6
Príspevok Re: Programátorský kútik: prejavte sa!
ale ten dizajn... takto vyzerali prvé weby čo si pamätám, keď sme po škole ostali v počítačovej učebni na internet lebo ho ešte nikto nemal doma.


18 Júl 2017, 19:48
Profil  ICQ  
Novice
Novice
Obrázok užívateľa

Registrovaný: 23.8.2017
Príspevky: 1
Karma: Neutrál
Príspevok Re: Programátorský kútik: prejavte sa!
Nazdar, vytvoril som appku kde si najdete oblubenych youtuberov/channel-y, ulozite si ich do zaloziek a mozte sledovat ich twitter ucet aj youtube bez preklikavania sa medzi applikaciami a vyhladavania. Co poviete?
https://play.google.com/store/apps/deta ... e.igor.app


23 Aug 2017, 17:39
Profil  
Medium Professional
Medium Professional
Obrázok užívateľa

Registrovaný: 24.10.2010
Príspevky: 1047
Karma: Level +2
Príspevok Re: Programátorský kútik: prejavte sa!
Citácia:
Je nám ľúto, ale tento obsah zatiaľ nie je vo vašej krajine dostupný.
Pracujeme na tom, aby bol tento obsah v čo najkratšom čase dostupný aj v ďalších krajinách.
Skúste sa sem vrátiť neskôr.


som v Česku


28 Aug 2017, 18:41
Profil  
Medium Expert
Medium Expert
Obrázok užívateľa

Registrovaný: 22.2.2011
Príspevky: 110
Karma: Neutrál
Príspevok Re: Programátorský kútik: prejavte sa!
Ahojte,

kolega našiel super vec na hranie sa s vlastnou logikou, vylepšovaním a uvážením. Pozrite na - https://play.elevatorsaga.com/

Je tam full API v JavaScripte na všetky príkazy pre riadenie výťahu. Ide o to, najlepšie optimalizovať svoj program výťahovej logiky pre čo najefektívnejšie prepravenie čo najviac ľudí s výťahmi v jednotlivých leveloch. Potrebujete rozhodnúť kedy má kam ísť, na aký event reagovať a pod. Super hra na cibrenie si svojej logiky v kóde. Bavte sa :-)
Nieje to môj program, ale myslím že sa na tom zabavíte.


04 Jún 2018, 11:32
Profil  
Medium Star
Medium Star
Obrázok užívateľa

Registrovaný: 7.8.2008
Príspevky: 458
Karma: Neutrál
Príspevok Re: Programátorský kútik: prejavte sa!
Minulý týždeň sa nám podarilo vydať našu prvú hru na Android,
ešte sme si vedomí nejakých nedostatkov a určite bude update, ale budem rád ak si zahráte a dáte feedback,
čo sa vám páči na hre a čo by ste zmenili, popr. čo by ste v hre privítali.

Ďakujem :)

https://play.google.com/store/apps/details?id=com.cashewall.zigzagduck


Prílohy:

30 Jan 2019, 8:16
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 9.11.2008
Príspevky: 3980
Bydlisko: BA,Okolie
Karma: Level +4
Príspevok Re: Programátorský kútik: prejavte sa!
Aj by som si zahral ale ani mi ju nespusti padne hned po starte. :) Huawei p20 pro android 9.


30 Jan 2019, 9:10
Profil  ICQ  Skype  
Medium Star
Medium Star
Obrázok užívateľa

Registrovaný: 7.8.2008
Príspevky: 458
Karma: Neutrál
Príspevok Re: Programátorský kútik: prejavte sa!
Arkaz píše:
Aj by som si zahral ale ani mi ju nespusti padne hned po starte. :) Huawei p20 pro android 9.


Díky, už by to malo ísť po Update, ale je možné, že sa ti budú niektoré veci zle vykreslovať (zrejme to je konkrétnou architektúrou) ešte to nemáme úplne fixnuté, ale už je to minimálne spustiteľné na všetkých telefónoch ...spravili sme chybu, že sme to netestovali na dostatočnom počte rôznorodých zariadení, teraz budeme musieť stráviť nejaký čas a hľadaním spätne, kedy sa zaniesla do hry chyba :)


01 Feb 2019, 11:18
Profil  
Medium Expert
Medium Expert
Obrázok užívateľa

Registrovaný: 2.9.2005
Príspevky: 108
Karma: Level +2
Príspevok Re: Programátorský kútik: prejavte sa!
mysql backuper

Hladal som program, ktory by viac databaz zalohoval na jeden klik. Kedze mam viac stranok, tak potrebujem na jeden klik vsetko naraz stiahnut na pocitac.
Nepodarilo sa mi najst nic vyhovujuce, tak som si vytvoril vlastny program. Nadefinuju sa tam databazy a kazdy den si urobim klikom zalohy.
Robi sa vzdy checksum tabuliek, teda ak sa zisti, ze vcera sa tabulka vobec nezmenila, tak dana tabulka sa nezalohuje, ale len sa skopiruje stara zaloha danej tabulky do novej.

Ak chcete aj vy tento program, mozete si ho stiahnut tu: https://www.kasman.sk/kom/trapsql.zip

Zaroven som tu aj urobil automaticke prepojenie cudzich klucov na tabulky. To znamena, ze ked otvorite tabulku, ktora je cez FK kluc pripojena na druhu, tak si ju mozete zobrazit ako master/detail a po prejdeni na riadok v masteri sa automaticky zobrazia zaznamy z detail tabulky.


11 Mar 2019, 14:07
Profil  ICQ  WWW
Star
Star
Obrázok užívateľa

Registrovaný: 4.11.2009
Príspevky: 503
Bydlisko: Martin
Karma: Level +3
Príspevok Re: Programátorský kútik: prejavte sa!
pre tych dvoch ludi na svete, ktorym vadi, ze na absynt.sk maju pokazeny sorting knih podla ceny.

Skript nacita nazvy a ceny knih v zozname a nasledne ich zoradi podla najlacnejsich ebook verzii.

Modifikacia zoznamu knih a sorting podla ceny papierovej verzie is trivial and left as an exercise to the reader.


Prílohy:
absynt-ebook-prices.zip [1.58 KiB]
33 krát

14 Apr 2019, 17:01
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 27.5.2009
Príspevky: 3820
Bydlisko: Bratislava
Karma: Level +4
Príspevok Re: Programátorský kútik: prejavte sa!
Spravil som male technologicke demo pre pouzitie Slovenskeho obcianskeho preukazu na desifrovanie suborov (zasifrovanie sa robi pomocou exportovaneho certifikatu).

Program vie:
- exportovat sifrovaci certifikat z obcianskeho (je treba zadat BOK)
- sifrovacim certifikatom zasifrovat subor do kontajneru
- rozsifrovat kontajner pomocou obcianskeho preukazu (je treba zadat BOK)

Krtaky popis a priklad pouzitia najdete tu:
https://github.com/harrison314/SlovakEidDecryptionTool

Program je mozne stiahnut z https://github.com/harrison314/SlovakEidDecryptionTool/releases.

Na zasifrovanie suboru sa pouziva AES-256 CBC s PKCS7 pdingom, samotny AES kluc je sifrovany RSA RKCS1.

//autoeditácia príspevku (02 Máj 2019, 18:22)
Este pridam znazornenie pouzitia:


Prílohy:

02 Máj 2019, 18:22
Profil  WWW
Amateur
Amateur
Obrázok užívateľa

Registrovaný: 3.9.2017
Príspevky: 18
Karma: Mínusko
Príspevok Re: Programátorský kútik: prejavte sa!
Ahoj, rád by som dnes predstavil svoju implementáciu pre hru Mastermind, ktorá je aj známa ako Logik. V tejto implementácii hráč neháda farby a ich poradie ako je to v originálnej - stolnej verzii, ktorú hrajú dvaja hráči, ale háda čísla a ich poradie. Je nutné zdôrazniť, že čísla sa nemôžu opakovať. V úlohe určenia čísel a ich poradia je Arduino, ktoré ich vygeneruje.

Arduino slúži ďalej ako počítadlo pokusov a prijíma logické vstupy prostredníctvom 5 tlačidiel, ktoré sa spínajú proti zemi (INPUT_PULLUP). Tlačidlami sa zadáva používateľský vstup v podobe čísel na pozície. Posledným tlačidlom sa vstup potvrdí a odošle do Arduina. Na LCD displeji je okrem aktuálneho používateľského vstupu aj vyobrazenie výsledku.

Ak používateľ neuhádne číslo a ani pozíciu, na displeji sa na príslušnej pozícii zobrazí -, ak uhádne číslo s pozíciou, zobrazí sa =, ak uhádne číslo, ale nie pozíciu, zobrazí sa C. Pre vývojárske účely je možné použiť DEBUG makro, ktoré je nutné odkomentovať. V princípe len zobrazí na displej hľadané číslo, ak chce vývojár odtestovať funkčnosť jednotlivých prvkov a overiť, či hra skončí po prekročení pokusov, alebo uhádnutí hľadaného čísla.

Hra je limitovaná na 10 pokusov hráča. V prípade prekročenia počtu pokusov sa hra ukončí s hláškou o prehre hráča. V prípade, že hráč uhádne cieľové číslo, hra sa končí s výpisom hlášky o výhre hráča. Hra nie je časovo obmedzená. Pri hre sa odporúča využiť aj ceruzku a papier na písanie si vstupov, čo môže viesť k štatistickej výhode pri hľadaní cieľového čísla.
Som otvorený aj konštruktívnej kritike, najmä od "hackera" Dr. House-a.

Knižnica pre LCD displej: https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
Program pre Mastermind:
Kód:
/*|----------------------------------------------------------------------------|*/
/*|SKETCH PRE MASTERMIND IMPLEMENTACIU                                         |*/
/*|VYHOTOVIL: MARTIN CHLEBOVEC                                                 |*/
/*|PODPOR PROJEKT PRE VIAC VARIANT, SUPPORT: https://paypal.me/chlebovec       |*/
/*|Doska: Arduino Uno / AtMega328P                                             |*/
/*|MAXIMALNY POCET POKUSOV: 10                                                 |*/
/*|POCET VSTUPOV: 5X PUSHBUTTON - SPINACIE TLACIDLA                            |*/
/*|VYGENEROVANE 4-CISLIE: KAZDE CISLO JE ROZNE V ROZSAHU 0-9 BEZ OPAKOVANIA!   |*/
/*|PRE ZOBRAZENIE VYGENEROVANEHO CISLA POUZITE DEBUG (ODKOMENTOVAT)            |*/
/*|----------------------------------------------------------------------------|*/
/*|VYSVETLIVKY PRE ZNAČKY NA DISPLEJI:                                         |*/
/*| C --> uhadnute cislo na inej pozicii                                       |*/
/*| = --> uhadnute cislo aj s poziciou (SPRAVNE CISLO!)                        |*/
/*| - --> neuhadnute cislo, ani pozicia                                        |*/
/*|----------------------------------------------------------------------------|*/

#define DEBUG //odkomentuj pre DEBUG INFO (ZOBRAZENIE HLADANEHO CISLA)
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x3F, 20, 4);

const int buttonPin1 = 6;
const int buttonPin2 = 5;
const int buttonPin3 = 4;
const int buttonPin4 = 3;
const int buttonPin5 = 2;

int cislo1 = 0;
int cislo2 = 0;
int cislo3 = 0;
int cislo4 = 0;


int cielovecislo1 = 0;
int cielovecislo2 = 0;
int cielovecislo3 = 0;
int cielovecislo4 = 0;

int buttonState1 = HIGH;
int buttonState2 = HIGH;
int buttonState3 = HIGH;
int buttonState4 = HIGH;
int buttonState5 = HIGH;

int lastButtonState1 = HIGH;
int lastButtonState2 = HIGH;
int lastButtonState3 = HIGH;
int lastButtonState4 = HIGH;
int lastButtonState5 = HIGH;

unsigned long lastDebounceTime1 = 0;
unsigned long lastDebounceTime2 = 0;
unsigned long lastDebounceTime3 = 0;
unsigned long lastDebounceTime4 = 0;
unsigned long lastDebounceTime5 = 0;
unsigned long debounceInterval = 50;
int pokus = 0;

void setup() {
  lcd.begin(); //incializacia displeja na I2C zbernici
  lcd.backlight(); //zapnutie podsvietenia
  pinMode(buttonPin1, INPUT_PULLUP);
  pinMode(buttonPin2, INPUT_PULLUP);
  pinMode(buttonPin3, INPUT_PULLUP);
  pinMode(buttonPin4, INPUT_PULLUP);
  pinMode(buttonPin5, INPUT_PULLUP);
  randomSeed(analogRead(0));
  lcd.setCursor(0, 0); //nastav kurzor pre zapis na 1. riadok, 1. stlpec
  lcd.print("ZADANE CISLO:   0000");
  generuj_cisla();
#ifdef DEBUG
  lcd.setCursor(0, 2);
  lcd.print("DEBUG ON:");
  lcd.setCursor(0, 3);
  lcd.print("HLADANE CISLO:  ");
  lcd.print(cielovecislo1);
  lcd.print(cielovecislo2);
  lcd.print(cielovecislo3);
  lcd.print(cielovecislo4);
#endif
}

void loop() {
  if (pokus >= 10) {
    lcd.setCursor(0, 2);
    lcd.print("PREHRALI STE!");
    lcd.setCursor(0, 3);
    lcd.print("KONIEC HRY          ");
    while (1);
  } else {
    int reading1 = digitalRead(buttonPin1);
    int reading2 = digitalRead(buttonPin2);
    int reading3 = digitalRead(buttonPin3);
    int reading4 = digitalRead(buttonPin4);
    int reading5 = digitalRead(buttonPin5);

    if (reading1 != lastButtonState1) {
      lastDebounceTime1 = millis();
    }

    if (reading2 != lastButtonState2) {
      lastDebounceTime2 = millis();
    }

    if (reading3 != lastButtonState3) {
      lastDebounceTime3 = millis();
    }

    if (reading4 != lastButtonState4) {
      lastDebounceTime4 = millis();
    }

    if (reading5 != lastButtonState5) {
      lastDebounceTime5 = millis();
    }

    if ((millis() - lastDebounceTime1) > debounceInterval) {
      if (reading1 != buttonState1) {
        buttonState1 = reading1;
        if (buttonState1 == HIGH) {
          cislo1++;
          if (cislo1 > 9) {
            cislo1 = 0;
          }
        }
      }
      updateLCD();
    }

    if ((millis() - lastDebounceTime2) > debounceInterval) {
      if (reading2 != buttonState2) {
        buttonState2 = reading2;
        if (buttonState2 == HIGH) {
          cislo2++;
          if (cislo2 > 9) {
            cislo2 = 0;
          }
        }
      }
      updateLCD();
    }

    if ((millis() - lastDebounceTime3) > debounceInterval) {
      if (reading3 != buttonState3) {
        buttonState3 = reading3;
        if (buttonState3 == HIGH) {
          cislo3++;
          if (cislo3 > 9) {
            cislo3 = 0;
          }
        }
      }
      updateLCD();
    }

    if ((millis() - lastDebounceTime4) > debounceInterval) {
      if (reading4 != buttonState4) {
        buttonState4 = reading4;
        if (buttonState4 == HIGH) {
          cislo4++;
          if (cislo4 > 9) {
            cislo4 = 0;
          }
        }
      }
      updateLCD();
    }

    if ((millis() - lastDebounceTime5) > debounceInterval) {
      if (reading5 != buttonState5) {
        lcd.setCursor(16, 1);
        lcd.print(cislo1);
        lcd.print(cislo2);
        lcd.print(cislo3);
        lcd.print(cislo4);
        buttonState5 = reading5;
        if (buttonState5 == HIGH) {
          pokus++;
          updateLCD();
          over_cisla();
          cislo1 = 0;
          cislo2 = 0;
          cislo3 = 0;
          cislo4 = 0;
        }
      }
    }
    lastButtonState1 = reading1;
    lastButtonState2 = reading2;
    lastButtonState3 = reading3;
    lastButtonState4 = reading4;
    lastButtonState5 = reading5;
  }
}

void updateLCD() {
  lcd.setCursor(16, 0);
  lcd.print(cislo1);
  lcd.print(cislo2);
  lcd.print(cislo3);
  lcd.print(cislo4);
  lcd.setCursor(0, 1);
  lcd.print("POKUS: ");
  lcd.print(pokus);
}

void generuj_cisla() {
  cielovecislo1 = random(0, 9);
  cielovecislo2 = random(0, 9);
  while (cielovecislo2 == cielovecislo1) {
    cielovecislo2 = random(0, 9);
  }
  cielovecislo3 = random(0, 9);
  while ((cielovecislo3 == cielovecislo1) || (cielovecislo3 == cielovecislo2)) {
    cielovecislo3 = random(0, 9);
  }
  cielovecislo4 = random(0, 9);
  while ((cielovecislo4 == cielovecislo1) || (cielovecislo4 == cielovecislo2) || (cielovecislo4 == cielovecislo3)) {
    cielovecislo4 = random(0, 9);
  }
}

void over_cisla() {
  if (cislo1 == cielovecislo1) {
    lcd.setCursor(10, 1);
    lcd.print("="); //UHADNUTE CISLO VRATANE POZICIE
  } else if ((cislo1 == cielovecislo2) || (cislo1 == cielovecislo3) || (cislo1 == cielovecislo4)) {
    lcd.setCursor(10, 1);
    lcd.print("C"); //UHADNUTE CISLO BEZ POZICIE
  } else {
    lcd.setCursor(10, 1);
    lcd.print("-"); //NEUHADNUTE CISLO, ANI POZICIA
  }

  if (cislo2 == cielovecislo2) {
    lcd.setCursor(11, 1);
    lcd.print("="); //UHADNUTE CISLO VRATANE POZICIE
  } else if ((cislo2 == cielovecislo1) || (cislo2 == cielovecislo3) || (cislo2 == cielovecislo4)) {
    lcd.setCursor(11, 1);
    lcd.print("C"); //UHADNUTE CISLO BEZ POZICIE
  } else {
    lcd.setCursor(11, 1);
    lcd.print("-"); //NEUHADNUTE CISLO, ANI POZICIA
  }

  if (cislo3 == cielovecislo3) {
    lcd.setCursor(12, 1);
    lcd.print("="); //UHADNUTE CISLO VRATANE POZICIE
  } else if ((cislo3 == cielovecislo1) || (cislo3 == cielovecislo2) || (cislo3 == cielovecislo4)) {
    lcd.setCursor(12, 1);
    lcd.print("C"); //UHADNUTE CISLO BEZ POZICIE
  } else {
    lcd.setCursor(12, 1);
    lcd.print("-"); //NEUHADNUTE CISLO, ANI POZICIA
  }

  if (cislo4 == cielovecislo4) {
    lcd.setCursor(13, 1);
    lcd.print("="); //UHADNUTE CISLO VRATANE POZICIE
  } else if ((cislo4 == cielovecislo1) || (cislo4 == cielovecislo2) || (cislo4 == cielovecislo3)) {
    lcd.setCursor(13, 1);
    lcd.print("C"); //UHADNUTE CISLO BEZ POZICIE
  } else {
    lcd.setCursor(13, 1);
    lcd.print("-"); //NEUHADNUTE CISLO, ANI POZICIA
  }

  if ((cislo1 == cielovecislo1) && (cislo2 == cielovecislo2) && (cislo3 == cielovecislo3) && (cislo4 == cielovecislo4)) {
    lcd.setCursor(0, 2);
    lcd.print("VYHRALI STE!");
    lcd.setCursor(0, 3);
    lcd.print("KONIEC HRY          ");
    while (1);
  }
}


Prílohy:
Poznámka: Schéma zapojenia

Poznámka: Mastermind - Arduino, začiatok hry

Poznámka: Mastermind - koniec hry

22 Aug 2019, 12:49
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 22.11.2006
Príspevky: 4361
Bydlisko: BA
Karma: Level +3
Príspevok Re: Programátorský kútik: prejavte sa!
https://en.wikipedia.org/wiki/Don%27t_repeat_yourself


22 Aug 2019, 12:56
Profil  
Amateur
Amateur
Obrázok užívateľa

Registrovaný: 3.9.2017
Príspevky: 18
Karma: Mínusko
Príspevok Re: Programátorský kútik: prejavte sa!
Čo zas skáčeš?


22 Aug 2019, 13:02
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 27.5.2009
Príspevky: 3820
Bydlisko: Bratislava
Karma: Level +4
Príspevok Re: Programátorský kútik: prejavte sa!
martinius96 píše:
Čo zas skáčeš?

accid tym chcel asi naznacit to, ze v kode pouzivas vela premennych s cislenymi indexami na konci,
tie ktore spolu suvisia (buttonPin, cislo, cielovecislo, buttonState,...) by si mal dat do struktury a nameisto cislnych indexov nakonci pouzit pole tejtro struktury a tam, kde treba bude for-cyklus,
potom bude tvoj kod vyrazne prehladnejsi a bude ho 3-krat menej.


22 Aug 2019, 13:08
Profil  WWW
Amateur
Amateur
Obrázok užívateľa

Registrovaný: 3.9.2017
Príspevky: 18
Karma: Mínusko
Príspevok Re: Programátorský kútik: prejavte sa!
Aha, už chápem.
Budem sa snažiť do budúcna zlepšiť.


22 Aug 2019, 14:19
Profil  
Addict
Addict
Obrázok užívateľa

Registrovaný: 22.11.2006
Príspevky: 4361
Bydlisko: BA
Karma: Level +3
Príspevok Re: Programátorský kútik: prejavte sa!
ozaj to neber v zlom, to neni vysmech ani urazanie, proste feedback urceny na to aby si sa zlepsil, na nic ine. je pravda ze som to nenapisal tak podrobne ako harrison, ale dal som link kde by si si koniec koncov precital to iste. nedaj sa, programator sa uci cely zivot.


22 Aug 2019, 14:45
Profil  
Light Expert
Light Expert
Obrázok užívateľa

Registrovaný: 3.3.2011
Príspevky: 60
Karma: Mínusko
Príspevok Re: Programátorský kútik: prejavte sa!
čau čau čau :D

cez sviatky som sa kus nudil, tak som sa pobavil v android studiu:
https://play.google.com/store/apps/deta ... recin.laco



P.S. môj prvý pokus úplne, viem, že niečo podobné už je, ale tak alternatíva bez reklám ;) :D


Prílohy:

09 Jan 2020, 14:20
Profil  
Zobraziť príspevky z predchádzajúceho:  Zoradiť podľa  
Odpovedať na tému  [ Príspevkov: 598 ]  Predchádzajúca  1 ... 26, 27, 28, 29, 30
Choď na stránku


Kto je on-line 
Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 0 hostia

Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre
Nemôžete zasielať súbory v tomto fóre

Hľadať:
Skočiť na:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group. © Hojko 2004-2016
[ Time : 0.319s | 14 Queries | GZIP : On ]