Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function definicjeGlobalne(){
- window.grajButton = document.getElementById('grajButton');
- window.bodyTag = document.body;
- window.turyUmiejetnosci = 0;
- window.tempSelect = 0;
- window.klasy = Array(Warrior,MageFire,MageWind,MageLightning,Archer,BladeDancer);
- window.SelectedClass = Warrior;
- window.randEnemy = 'Default';
- window.klasaWybrana = false;
- window.cdSpell1 = 0;
- window.cdSpell2 = 0;
- }
- function definicjaKlas(){
- //KlasyGracza
- window.Warrior = {class: 'Wojownik',defaulthp: 100,hp: 100,sila: 8,obrona: 6,int: 1, mana: 1,szczescie: 2,img: 'PNG/Warrior.PNG',xp: 0,lvl: 1,wolne: 7}
- window.MageWind = {class: 'Mag Wiatru',defaulthp: 60,hp: 60,sila: 1,obrona: 2,int: 8,mana: 7,szczescie: 2,img: 'PNG/MageWind.PNG',xp: 0,lvl: 1,wolne: 5}
- window.MageFire = {class: 'Mag Ognia',defaulthp: 60,hp: 60,sila: 1,obrona: 2,int: 9,mana: 6,szczescie: 2,img: 'PNG/MageFire.PNG',xp: 0,lvl: 1,wolne: 5}
- window.MageLightning = {class: 'Mag Blyskawic',defaulthp: 60,hp: 60,sila: 1,obrona: 2,int: 6,mana: 9,szczescie: 2,img: 'PNG/MageLightning.PNG',xp: 0,lvl: 1,wolne: 5}
- window.Archer = {class: 'Lucznik',defaulthp: 70,hp: 70,sila: 9,obrona: 3,int: 2,mana: 2,szczescie: 5,img: 'PNG/Archer.PNG',xp: 0,lvl: 1,wolne: 4}
- window.BladeDancer = {class: 'Tancerz Ostrzy',defaulthp: 80,hp: 80,sila: 10,obrona: 2,int: 2,mana: 2,szczescie: 6,img: 'PNG/BladeDancer.PNG',xp: 0,lvl: 1,wolne: 3}
- }
- function start(){
- definicjaKlas();
- definicjeGlobalne();
- bodyTag.style.setProperty('background','#000');
- bodyTag.style.setProperty('color','#fc0');
- bodyTag.style.setProperty('text-align','center');
- klasaWybrana = false;
- bodyTag.innerHTML = '';
- window.divGracz = document.createElement('div');
- document.body.appendChild(divGracz);
- window.profilImg = document.createElement('img');
- window.profilClass = document.createElement('div');
- window.profilHp = document.createElement('div');
- window.profilMana = document.createElement('div');
- divGracz.appendChild(profilImg);
- divGracz.appendChild(profilClass);
- divGracz.appendChild(profilHp);
- divGracz.appendChild(profilMana);
- window.divSila = document.createElement('div');
- window.profilSila = document.createElement('span');
- window.addSila = document.createElement('button');
- window.redSila = document.createElement('button');
- divGracz.appendChild(divSila);
- divSila.appendChild(profilSila);
- divSila.appendChild(addSila);
- divSila.appendChild(redSila);
- addSila.setAttribute('onclick','silaadd()');
- redSila.setAttribute('onclick','silamin()');
- addSila.innerText = '+';
- redSila.innerText = '-';
- window.divObrona = document.createElement('div');
- window.profilObrona = document.createElement('span');
- window.addObrona = document.createElement('button');
- window.redObrona = document.createElement('button');
- divGracz.appendChild(divObrona);
- divObrona.appendChild(profilObrona);
- divObrona.appendChild(addObrona);
- divObrona.appendChild(redObrona);
- addObrona.setAttribute('onclick','obronaadd()');
- redObrona.setAttribute('onclick','obronamin()');
- addObrona.innerText = '+';
- redObrona.innerText = '-';
- window.divInt = document.createElement('div');
- window.profilInt = document.createElement('span');
- window.addInt = document.createElement('button');
- window.redInt = document.createElement('button');
- divGracz.appendChild(divInt);
- divInt.appendChild(profilInt);
- divInt.appendChild(addInt);
- divInt.appendChild(redInt);
- addInt.setAttribute('onclick','intadd()');
- redInt.setAttribute('onclick','intmin()');
- addInt.innerText = '+';
- redInt.innerText = '-';
- window.divSzczescie = document.createElement('div');
- window.profilSzczescie = document.createElement('span');
- window.addSzczescie = document.createElement('button');
- window.redSzczescie = document.createElement('button');
- divGracz.appendChild(divSzczescie);
- divSzczescie.appendChild(profilSzczescie);
- divSzczescie.appendChild(addSzczescie);
- divSzczescie.appendChild(redSzczescie);
- addSzczescie.setAttribute('onclick','szczescieadd()');
- redSzczescie.setAttribute('onclick','szczesciemin()');
- addSzczescie.innerText = '+';
- redSzczescie.innerText = '-';
- window.profilXp = document.createElement('div');
- window.profilLvl = document.createElement('div');
- window.profilWolne = document.createElement('div');
- divGracz.appendChild(profilXp);
- divGracz.appendChild(profilLvl);
- divGracz.appendChild(profilWolne);
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- updateStatDisplay();
- window.zmienKlaseButton = document.createElement('button');
- divGracz.appendChild(zmienKlaseButton);
- zmienKlaseButton.innerText = 'Zmien klase';
- zmienKlaseButton.setAttribute('onclick','zmianaKlasy()');
- window.rozpocznijGreButton = document.createElement('button');
- divGracz.appendChild(rozpocznijGreButton);
- rozpocznijGreButton.innerText = 'Rozpocznij gre';
- rozpocznijGreButton.setAttribute('onclick','generujWalke()');
- }
- function zmianaKlasy(){
- if(tempSelect==5){
- tempSelect=0;
- }
- else{
- tempSelect++;
- }
- SelectedClass = klasy[tempSelect];
- updateStatDisplay();
- }
- function generujWalke(){
- //Wylosuj przeciwnika
- losujEnemy();
- //Ustaw stan wyboru klasy
- klasaWybrana=true;
- // Wyczysc cale body
- bodyTag.innerHTML = ''
- //Generuj profil gracza
- window.divGracz = document.createElement('div');
- document.body.appendChild(divGracz);
- window.profilImg = document.createElement('img');
- window.profilClass = document.createElement('div');
- window.profilHp = document.createElement('div');
- window.profilSila = document.createElement('div');
- window.profilObrona = document.createElement('div');
- window.profilInt = document.createElement('div');
- window.profilMana = document.createElement('div');
- window.profilSzczescie = document.createElement('div');
- window.profilXp = document.createElement('div');
- window.profilLvl = document.createElement('div');
- divGracz.style.setProperty('display','inline-block');
- divGracz.style.setProperty('float', 'left');
- divGracz.appendChild(profilImg);
- divGracz.appendChild(profilClass);
- divGracz.appendChild(profilHp);
- divGracz.appendChild(profilSila);
- divGracz.appendChild(profilObrona);
- divGracz.appendChild(profilInt);
- divGracz.appendChild(profilMana);
- divGracz.appendChild(profilSzczescie);
- divGracz.appendChild(profilXp);
- divGracz.appendChild(profilLvl);
- //Wyswietl przyciski
- window.divCzynnosc = document.createElement('div');
- window.buttonAtak = document.createElement('button');
- window.buttonSpell1 = document.createElement('button');
- window.buttonSpell2 = document.createElement('button');
- document.body.appendChild(divCzynnosc);
- divCzynnosc.appendChild(buttonAtak);
- divCzynnosc.appendChild(buttonSpell1);
- divCzynnosc.appendChild(buttonSpell2);
- divCzynnosc.style.setProperty('display','inline-block');
- buttonAtak.innerText = "Walcz";
- buttonSpell1.innerText = "Czar 1";
- buttonSpell2.innerText = "Czar 2";
- buttonAtak.setAttribute('onClick','walcz()');
- buttonSpell1.setAttribute('onClick','spell1()');
- buttonSpell2.setAttribute('onClick','spell2()');
- //Generuj profil przeciwnika
- window.divEnemy = document.createElement('div');
- document.body.appendChild(divEnemy);
- window.enemyImg = document.createElement('img');
- window.enemyClass = document.createElement('div');
- window.enemyHp = document.createElement('div');
- window.enemySila = document.createElement('div');
- window.enemyObrona = document.createElement('div');
- window.enemyInt = document.createElement('div');
- window.enemyMana = document.createElement('div');
- window.enemySzczescie = document.createElement('div');
- divEnemy.style.setProperty('display','inline-block');
- divEnemy.style.setProperty('float', 'right')
- divEnemy.appendChild(enemyImg);
- divEnemy.appendChild(enemyClass);
- divEnemy.appendChild(enemyHp);
- divEnemy.appendChild(enemySila);
- divEnemy.appendChild(enemyObrona);
- divEnemy.appendChild(enemyInt);
- divEnemy.appendChild(enemyMana);
- divEnemy.appendChild(enemySzczescie);
- //Historia walki
- window.divHitLog = document.createElement('div');
- bodyTag.appendChild(divHitLog);
- divHitLog.style.setProperty('width','70%');
- divHitLog.style.setProperty('margin-left','auto');
- divHitLog.style.setProperty('margin-right','auto');
- divHitLog.style.setProperty('background','#222222');
- //Wyswietl statystyki
- updateStatDisplay();
- }
- function updateStatDisplay(){
- //Aktualizuje wyswietlone statystyki
- profilImg.setAttribute('src',SelectedClass.img);
- profilClass.innerHTML = 'Klasa: ' + SelectedClass.class;
- profilHp.innerHTML = 'HP: ' + SelectedClass.hp;
- profilSila.innerHTML = 'Sila: ' + SelectedClass.sila;
- profilObrona.innerHTML = 'Obrona: ' + SelectedClass.obrona;
- profilInt.innerHTML = 'Int: ' + SelectedClass.int;
- profilMana.innerHTML = 'Mana: ' + SelectedClass.mana;
- profilSzczescie.innerHTML = 'Szczescie: ' + SelectedClass.szczescie;
- profilLvl.innerHTML = 'Lvl: ' + SelectedClass.lvl;
- profilXp.innerHTML = 'XP: ' + SelectedClass.xp;
- if(klasaWybrana){
- enemyImg.setAttribute('src',Enemy.img);
- enemyClass.innerHTML = 'Klasa: ' + Enemy.class;
- enemyHp.innerHTML = 'HP: ' + Enemy.hp;
- enemySila.innerHTML = 'Sila: ' + Enemy.sila;
- enemyObrona.innerHTML = 'Obrona: ' + Enemy.obrona;
- enemyInt.innerHTML = 'Int: ' + Enemy.int;
- enemyMana.innerHTML = 'Mana: ' + Enemy.mana;
- enemySzczescie.innerHTML = 'Szczescie: ' + Enemy.szczescie;
- }
- }
- function losujEnemy(){
- //Definicja przeciwnika
- window.Enemy = {
- class: 'DEFAULT',
- hp: (Math.floor(Math.random() * (80 - 40)) + 40),
- sila: (Math.floor(Math.random() * (8 - 2)) + 2),
- obrona: (Math.floor(Math.random() * (8 - 2)) + 2),
- int: (Math.floor(Math.random() * (8 - 2)) + 2),
- mana: (Math.floor(Math.random() * (8 - 2)) + 2),
- szczescie: (Math.floor(Math.random() * (8 - 2)) + 2),
- img: 'PNG/Error.png'
- }
- //Losowanie i dobor odpowiedniego png
- let temp = Math.floor(Math.random() * 4) + 1;
- if(temp==1){randEnemy = "Ork";Enemy.img = 'PNG/Orc.png'; }
- if(temp==2){randEnemy = "Harpia";Enemy.img = 'PNG/Harpy.png';}
- if(temp==3){randEnemy = "Goblin";Enemy.img = 'PNG/Goblin.png';}
- if(temp==4){randEnemy = "Meduza";Enemy.img = 'PNG/Medusa.png';}
- Enemy.class = randEnemy;
- }
- function lvlup(){
- //System zwiekszania statystyk przy wbiciu poziomu
- if(SelectedClass.xp>((SelectedClass.lvl*SelectedClass.lvl)/2)){
- SelectedClass.xp = 0;
- SelectedClass.lvl++;
- if(SelectedClass.class=="Wojownik"){
- SelectedClass.defaulthp += 5;
- SelectedClass.sila += 2;
- }
- else if(SelectedClass.class=="Mag Wiatru"||SelectedClass.class=="Mag Ognia"||SelectedClass.class=="Mag Blyskawic"){
- SelectedClass.mana += 2;
- SelectedClass.int += 2;
- }
- else if(SelectedClass.class=="Tancerz Ostrzy"){
- SelectedClass.sila += 4;
- SelectedClass.szczescie += 2;
- }
- else if(SelectedClass.class=="Lucznik"){
- SelectedClass.defaulthp += 3;
- SelectedClass.sila += 1;
- SelectedClass.szczescie += 1;
- }
- }
- }
- function walcz(){
- hpCheck();
- turaGracza();
- turaPrzeciwnika();
- updateStatDisplay();
- }
- function doubleHit(){
- if(cdSpell1==0){
- turaGracza();
- turaGracza();
- window.cdSpell1 = 5;
- }
- else if(cdSpell1>0){
- turaGracza();
- divHitLog += 'Pozostaly cooldown: ' + cdSpell1 + '<br><br>';
- }
- }
- function tripleHit(){
- if(cdSpell2==0){
- turaGracza();
- turaGracza();
- turaGracza();
- window.cdSpell2 = 10;
- }
- else if(cdSpell2>0){
- turaGracza();
- divHitLog += 'Pozostaly cooldown: ' + cdSpell2 + '<br><br>';
- }
- }
- function spell1(){
- hpCheck();
- if(SelectedClass.class=="Wojownik"){
- }
- else if(SelectedClass.class=="Mag Ognia"){
- }
- else if(SelectedClass.class=="Mag Wiatru"){
- }
- else if(SelectedClass.class=='Mag Blyskawic'){
- }
- else if(SelectedClass.class=="Lucznik"){
- }
- else if(SelectedClass.class=="Tancerz Ostrzy"){
- doubleHit();
- }
- turaPrzeciwnika();
- updateStatDisplay();
- }
- function spell2(){
- hpCheck();
- if(SelectedClass.class=="Wojownik"){
- }
- else if(SelectedClass.class=="Mag Ognia"){
- }
- else if(SelectedClass.class=="Mag Wiatru"){
- }
- else if(SelectedClass.class=='Mag Blyskawic'){
- }
- else if(SelectedClass.class=="Lucznik"){
- }
- else if(SelectedClass.class=="Tancerz Ostrzy"){
- tripleHit();
- }
- turaPrzeciwnika();
- updateStatDisplay();
- }
- function hpCheck(){
- //Sprawdzamy HP gracza
- if(SelectedClass.hp<=0){
- SelectedClass.xp = 1;
- document.body.innerHTML = 'GAME OVER';
- }
- //Sprawdzamy HP przeciwnika
- if(Enemy.hp<=0){
- SelectedClass.xp += 0.25;
- SelectedClass.hp = SelectedClass.defaulthp;
- lvlup();
- generujWalke();
- }
- }
- function turaGracza(){
- if(cdSpell1>0){
- cdSpell1--;
- }
- if(cdSpell2>0){
- cdSpell2--;
- }
- window.critChance = SelectedClass.szczescie*5;
- window.critCheck= Math.random()*100;
- window.nextHit = Math.floor(SelectedClass.sila*((Math.random()*120-80)+80)/100);
- if(critCheck<=critChance){
- nextHit = nextHit * 1.5;
- divHitLog.innerHTML += '<b>Trafiasz krytycznie</b>' + '<br>';
- }
- window.obronaEnemy = (1-(Enemy.obrona/25));
- window.obronaGracz = (1-(SelectedClass.obrona/25));
- Enemy.hp -= (nextHit*obronaEnemy).toFixed(0);
- Enemy.hp = Math.floor(Enemy.hp);
- divHitLog.innerHTML += 'Zadales przeciwnikowi ' + (nextHit*obronaEnemy).toFixed(0) + ' obrazen' + '<br><br>';
- }
- function turaPrzeciwnika(){
- window.critChance = Enemy.szczescie*5;
- window.critCheck= Math.random()*100;
- window.nextHit = Math.floor(Enemy.sila*((Math.random()*120-80)+80)/100);
- if(critCheck<=critChance){
- nextHit = nextHit * 1.5;
- divHitLog.innerHTML += '<b>' + Enemy.class + ' trafia krytycznie</b> <br>';
- }
- window.obronaEnemy = (1-(Enemy.obrona/25));
- window.obronaGracz = (1-(SelectedClass.obrona/25));
- SelectedClass.hp -= (nextHit*obronaGracz).toFixed(0);
- divHitLog.innerHTML += Enemy.class + ' zadaje tobie ' + (nextHit*obronaGracz).toFixed(0) + ' obrazen' + '<br><br>';
- }
- function silaadd(){
- if(SelectedClass.wolne>0&&SelectedClass.sila<10){
- SelectedClass.wolne -= 1;
- SelectedClass.sila += 1;
- profilSila.innerHTML = 'Sila: ' + SelectedClass.sila;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function silamin(){
- if(SelectedClass.wolne<20&&SelectedClass.sila>0){
- SelectedClass.wolne += 1;
- SelectedClass.sila -= 1;
- profilSila.innerHTML = 'Sila: ' + SelectedClass.sila;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function obronaadd(){
- if(SelectedClass.wolne>0&&SelectedClass.obrona<10){
- SelectedClass.wolne -= 1;
- SelectedClass.obrona += 1;
- profilObrona.innerHTML = 'Obrona: ' + SelectedClass.obrona;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function obronamin(){
- if(SelectedClass.wolne<20&&SelectedClass.obrona>0){
- SelectedClass.wolne += 1;
- SelectedClass.obrona -= 1;
- profilObrona.innerHTML = 'Obrona: ' + SelectedClass.obrona;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function intadd(){
- if(SelectedClass.wolne>0&&SelectedClass.int<10){
- SelectedClass.wolne -= 1;
- SelectedClass.int += 1;
- profilInt.innerHTML = 'Int: ' + SelectedClass.int;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function intmin(){
- if(SelectedClass.wolne<20&&SelectedClass.int>0){
- SelectedClass.wolne += 1;
- SelectedClass.int -= 1;
- profilInt.innerHTML = 'Int: ' + SelectedClass.int;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function manaadd(){
- if(SelectedClass.wolne>0&&SelectedClass.mana<10){
- SelectedClass.wolne -= 1;
- SelectedClass.mana += 1;
- profilMana.innerHTML = 'Mana: ' + SelectedClass.mana;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function manamin(){
- if(SelectedClass.wolne<20&&SelectedClass.mana>0){
- SelectedClass.wolne += 1;
- SelectedClass.mana -= 1;
- profilMana.innerHTML = 'Mana: ' + SelectedClass.mana;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function szczescieadd(){
- if(SelectedClass.wolne>0&&SelectedClass.szczescie<10){
- SelectedClass.wolne -= 1;
- SelectedClass.szczescie += 1;
- profilSzczescie.innerHTML = 'Szczescie: ' + SelectedClass.szczescie;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
- function szczesciemin(){
- if(SelectedClass.wolne<20&&SelectedClass.szczescie>0){
- SelectedClass.wolne += 1;
- SelectedClass.szczescie -= 1;
- profilSzczescie.innerHTML = 'Szczescie: ' + SelectedClass.szczescie;
- profilWolne.innerHTML = 'Wolne: ' + SelectedClass.wolne;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement