From 057ed8e2dd367e98bbab7408086f1aab1c0a97fc Mon Sep 17 00:00:00 2001 From: ittnerpa60944 Date: Thu, 9 May 2019 10:39:26 +0200 Subject: [PATCH] Added exercise04 --- code/code/.vs/MDT5/v15/.suo | Bin 66048 -> 96768 bytes code/code/exercise04/app/css/mobile.css | 27 ++++++ code/code/exercise04/app/img/bootstrap.png | Bin 0 -> 4251 bytes code/code/exercise04/app/img/css3.png | Bin 0 -> 6152 bytes code/code/exercise04/app/img/html5.png | Bin 0 -> 6061 bytes code/code/exercise04/app/img/jQuery.png | Bin 0 -> 10026 bytes code/code/exercise04/app/img/js.png | Bin 0 -> 5989 bytes code/code/exercise04/app/img/react.png | Bin 0 -> 2302 bytes code/code/exercise04/app/index.html | 32 ++++++++ code/code/exercise04/app/scripts/app.js | 3 + code/code/exercise04/app/scripts/landung.js | 77 ++++++++++++++++++ .../app/templates/AboutTemplate.html | 45 ++++++++++ .../app/templates/NavbarTemplate.html | 22 +++++ 13 files changed, 206 insertions(+) create mode 100644 code/code/exercise04/app/css/mobile.css create mode 100644 code/code/exercise04/app/img/bootstrap.png create mode 100644 code/code/exercise04/app/img/css3.png create mode 100644 code/code/exercise04/app/img/html5.png create mode 100644 code/code/exercise04/app/img/jQuery.png create mode 100644 code/code/exercise04/app/img/js.png create mode 100644 code/code/exercise04/app/img/react.png create mode 100644 code/code/exercise04/app/index.html create mode 100644 code/code/exercise04/app/scripts/app.js create mode 100644 code/code/exercise04/app/scripts/landung.js create mode 100644 code/code/exercise04/app/templates/AboutTemplate.html create mode 100644 code/code/exercise04/app/templates/NavbarTemplate.html diff --git a/code/code/.vs/MDT5/v15/.suo b/code/code/.vs/MDT5/v15/.suo index 979f38cb3b8c2fa8d6e15424ac9375f48700e410..e6abca0c55626ba10e2bee6633e8111dba4ce1c0 100644 GIT binary patch delta 5959 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 F{}0rGh5Y~k delta 3073 zcmcguYitx%6rMAkUG~{-%l1LLv~~NSLLb|9fl_(&vBV-MZ3C#G@@$co0*!110sFuv zny}IC9_^5lATC7xAt0U5n#iNHL@Fc*QGTdk_=xc~-<~<= z+;i`o@0@!(Z2?VNhtQe*2yh(76XapxI1@cY5Jtzw#+WVQc-1lRHVHnyQQv>Uykvm8 z3Nx{pZv_wDEVaqe(^)QV4m38H7>1B23dPpr@5MB5aCgd2Jx= zIl?N!YJ5qPWMkInN!v)MCo~Y63G99F!>Os76{IwJt7iDLjrz_@_qLuR8WOQttJ087 zen!Kj7T&JM`;!t|tz==##*rjmImW{j0$Wm0q)w5siZqanAw&`q2$KnH{v?uYEgMNj zO)`N|lS*LzM@XhC&um@>$06FHV;7SxO|j=Hvea9(*jz?RIl)C(h|&7VdKSjUPR!A_ z!i#uhYFZ9Un%TCK+(CGWz~=2Dxts7Zp@q;&Xv7iy40#ncW7NBLvadkUBYBwq7OR=J z=^3(_NDU3VY)HT%qs7~F5ce4!=AUVPfN+<^Nmq^AK*u;?^RYBGU2>Z}yf0x$rzT6r zEa{g79r#jRrdc$Tu{J)t!~+=9Y4^43(DJlZnr|I|p2Q*0%?z8R|A~|#0{7o%fLDz( z{5HNP#szZPYMZlM&^_7Xi*w0#*0|$uJ>LVqxC)(df-#Pa_HrEL^U-a;EJsn5Ls95X z^Y{`5Wxsp*qrke4r=o;u%J?|i`s?3%u|=?)ayXr zG>~cnpYxoF_3=bUWhLM_tpnZFl_quxu#*(pGf-X0oSIQGUdF1Gi}Bpb$Avl0g@sa7 z%^mO;@%}Zue=hG|$3IkdomzIRtjLt?wckWgq5Ks*?rA8K%G{@oqJ0NcV|lDya<3rn ziKnopqfSirz?8joSlNZcadeFWr(4f$!fM=xFNt!UJSJB@w$iCtIk@%_9fi2(3K52NrO~7p*bx4~|YCyJL zo^8d>Q_r&Z;=~`4VJ39r*@4`t%ZqECT)WL(_d?D3t+jRX&+g{pn$5CJypai3{PFx; z==z(J#V4Y{g2!%TMX^E?1kUv(MH~=K zX<+T^w!=j}ob?FabyHn1xQ3W#h34@k#gkSj3#kn~ha-4Q>23Qrg~H+evFPnAU_}+b zEr7Vb3x!|+Ty^Y_=*xu$@t^}TanZ-2%2Gfi4!_HE8}26CyYZyWxw_;@(U zhHF;V{tk=(TQ=hjePzke8Ii)SJ$0}vf$A0dYNAIme>T*si6=src*6mC;_dCkZHW_v z-dtz{h{oeLUkx_!EE|1pnZ@=zI3jlB0XqOPXAgx=$LgDNRc{-)?Gs{s>7OuT_Z%WMahoayh%g$0^Y79?7dAvu{P92}PZ0_Dlo1+HQT{p}Ll za^W>wQ9)tpoT8Tv^;>G|cI0k!Z*I&99Y^)(Y5DpsSTdX?rrIEZ8vLKrA#^oC30^vy z`7kYy^=>DU#eza89w$iJaI0Iu>RBylsj$(9SMc7((taDixmN5iB6?OV@4oo`o5OX1 z*n3r5=S@2#rl!DcOc`7hJQee%LnJP^6g)D0q`CQEOH2uG33dmw?>G5Fn*J$mQ`*w` M|5bhn{yMGS06m*=VgLXD diff --git a/code/code/exercise04/app/css/mobile.css b/code/code/exercise04/app/css/mobile.css new file mode 100644 index 0000000..4fb2c70 --- /dev/null +++ b/code/code/exercise04/app/css/mobile.css @@ -0,0 +1,27 @@ +.btn-style{ + min-width: 150px; + margin-right: 10px; + margin-top: 20px; +} + +body{ + padding-top: 70px; +} + +.menu { + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 30px; + padding: 10px; + color: white; + background-color: black; +} + +.img-center{ + margin-top: 30px; + margin-left: auto; + margin-right: auto; +} + diff --git a/code/code/exercise04/app/img/bootstrap.png b/code/code/exercise04/app/img/bootstrap.png new file mode 100644 index 0000000000000000000000000000000000000000..827be8b8314ac861b812f53dd57baaea8b0065b4 GIT binary patch literal 4251 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 literal 0 HcmV?d00001 diff --git a/code/code/exercise04/app/img/css3.png b/code/code/exercise04/app/img/css3.png new file mode 100644 index 0000000000000000000000000000000000000000..df970555a245f5c49ec344c86e50073133edb17d GIT binary patch literal 6152 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 literal 0 HcmV?d00001 diff --git a/code/code/exercise04/app/img/html5.png b/code/code/exercise04/app/img/html5.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2c265f9bf5566306e9630ebe7a0a00a2db9e73 GIT binary patch literal 6061 zcmaJ_byU<%xc=?Zu!IOp%Tm&v0>V+y8YC@Ftg;AS6TS7-*3#f@$d(#OsTKg3>^;LS=sI0>H&c}{g(eCx_Ef8WAKP_x-4>Yw8K%2P)2Hh>J8lB2A;UupBRUk zkjZ$5F})TNKNigldd=|?ESoWljC#VSIPP1bGwVn$h?yD#f2^` zaDDe@j?b`5SjWP>jsv9^0Ra{mO>R+PLjySXEf_C7Nd5nYSb!^qoR0qg1i7X`1(gZ^ z_5%*(v(>Z#TQ+89{OEh_thVC_&Pzb`d^9<;&Dj!aSfD};WET|lHM!3&DkL=p&wut8 zKi>X91Oy!aaQU+sL0f(L&U5QXQnZp zH3s-G&C0^kIc}sHIy%A`c51J$um6zf7Od!g@Ufk%>&9Hi`mbO6(~ilHy6Ip=_2;|( z9aMr>GvOyc{TJdqm;|%+pJ5K_MD)(;6gl>I4LQqtITcKbMrRaj#Y-T^5V0ZsrDvrv@j@Dx7d^5kjihyWu;H5 zmI>D?9@Upb9Qw-H672migwMQQdnI{)nmhDS^4mtc&raA8_xBoer{L$?g2m5Rx+V6% z+&20*T^v*=>6lG+CjjuD4_uEc_|f>Bsimc*6er`_J>PGA1fiz34+u~= z9DzmR-zTfYZB>7!iI0!x{5&~69>ICN|N67e_~hY$iA@_YhKZ+Uid)7MUZ;=^gDinp33LI@*3u{XKd!}qX)wZ#o_+aJT zo*)C|bDFyPA1^9P0zhbLTG~Fb;A-Qt%8zj`n0w=h8lP0XGpi6?c$iRVAtHA*+xUd~ z`!nA_pP{q3eQSX}FSAOCcR`$hgtT0 zFy~lLHnW7YD;@MkT3QLKk(aUQxwI4-Sx1b>WyrWrfWV^d@oNnrDd=Q(Ew{-cm+^RO znjgOaWo*DH$WCbXR?bBt1I%N@38wzeC}!4&1ypxO=+GVP%E3F6s&~bFOY2)1)BQi< z?v56axwwsKCbU%=?sp#oRF}Q?fa@1JTPIpm>`hqF6m|$?k5|Vr@qv*X9!=ucP|f^{ zr^I_dO@iSS{EA{`MGn~fS3`8Ls2@Gge%p#3@qp@R91;qb>A9D-+2H|022Xn!Q_Axg zKcW0b#K!CrYDxZh7bEVQtO7VGOV-#W85mu)`c1JkaeoWx?=$+uUUDmJ>Cw|wpp5@3 zM)MwN?2{XtEUMw?$`51rz`P0cchdi^j@=UW;J61D%HduUjvhq| zd^CsP9a<0somO^(gXl3#Ou+He!;-)qaAL0ncv+Wk;7;Rp{2a8+)TO!Cl#kT(*RAqZ z{$W^POfJF$UA$f5&Z~96tO-W=9nrzI%6d#`NNhA(Y_*mP3Wx@#(GW7;A1|PrC`Iw_ zDw^EmACKZf{^FO^&@U2PwilxKqc#>BB@%HCOo(~!VqTCWvJkJ*&ChlKBE%uoUz+FaLD+C z75asrA~Vbw?SG$;m^gW zhMX&E!Cjf>!l{2eOqHDHcgM2SWmP!_!3YrQ*uxbbITa$V=!g$#N(0COt304FMXMDxTupuGYV#l{&Rq1I{{?3Yo{0n+<u3Rt^`d%O1piz9s zK$<6k$k7E%)RoFMjS={0RNQ{uuTsFWHeANgQrHvVLnA54u0X2BUEK5>p_LD`(ycnM z#A#@BVni5%xF09W%b`tuL15r$#+We~NIcC7Cz?RLFih#6u`HU&-4)AY6$-yG=zs9I z6C)E|GvUL5RGTR@t?B)JSN+s&tL(cAMZIC@+KZ3w5g%r@>c0N)k{yR#8p+oCZyH3T za5#=8skO8;Ja}98h=>B4$Xe8u@+iOJS2|QTj~JmeQER-9s`@}>l=hZ^=sPsS8)0fT zdS61pEERAYcstwx^DPcUP{{lyCR^;gGbBQ8RsQ<>_GbuDEj?i~lFvj!-(W2~5?v`q z&jBFY#wIWlKtBK5bBk!V&bWPz<8WMcuyUxTQ>Grc zcqr>OY$yFk87_Bln->HY5X~;nys*z(b4{)(Jy}C(tDfiNcX8J}0hRR5D1H~-iq4

ai_-8nZa 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 t2)wXhW6tX8+f{11Vl4W|GA literal 0 HcmV?d00001 diff --git a/code/code/exercise04/app/img/jQuery.png b/code/code/exercise04/app/img/jQuery.png new file mode 100644 index 0000000000000000000000000000000000000000..ae8e551cb4e7e4600aeaaae773cd1ff9d0121865 GIT binary patch literal 10026 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 literal 0 HcmV?d00001 diff --git a/code/code/exercise04/app/img/react.png b/code/code/exercise04/app/img/react.png new file mode 100644 index 0000000000000000000000000000000000000000..1333eb9219e798548eba45af32bf9760e5cbcb23 GIT binary patch literal 2302 zcmZ`)c{tR27yk`rvxG7BhQTNeA+8vaeV1$_DXv|}k}VBNCcBssg=^0e7cr73G#dMs zYiv=YNmSN~t|iSoy*=-J?mzE&&iQ;lpU?L^=a2KxNwu{xWdW1_BW#EL#YVQt&R^tL+dufr|405m@~e$K zZI&e~E6W~r*uY#y{s=Jj9eoTdt$YGB{tcM^fzsAP1`vdO!g+HWxSlh`?Jx2aJmT#A zD6OW!F}5Y@;tPE^Di}xRBUQs{`yuVGKofiXxAMhp&Pi$DIEFURO3I>cfkIaj;MFw# z)DlPw9i?l8xSGaY-XUphC249SrK!U)@>#?q7+&#Q!pc!7__~;*JEV15!om(p89$U> zCJ>*)Ik3jrzrxkM$X(LTMOzYc_5ydj5hUCOKb_|(Y88q|27w9MpUU=pL(6VZX}ICAPnQZ+k_Df9z3gIXPTb| z-RzFqJJ6#d3TdJi%ZKME$9=YLcr>DRzt_!?GnHbB@BBL)?3jgT;gAvt^7J^;U6nPa zICSFiZ1d&OoP4{eodB0~1Qn*1cpG77xp1^XWv{aCL=D_-|m{iR~JkC?x9ZK477u<)$x#@82nb zCExf4Uo&F(E;CLB(w^8vBC!!BoGl7SLiww%k>b_<3t9R9jVx%M$T&?WnSe6ZFbE14q&0XGOx$ z7)ZPhvp7)2v3D3;Tnza?EUq^W7FAjU1vi9G%#tqd(Z+1;FjuMi`F z@kw-=(S;+#2fc4!%w`i!-#vTkMEsN>h(0r(CYO24MY>?M67}W!C$G6o z=1$h}l2$$CiHE~nKjp&0$V@>aJ@Fh)S#_T$3SW7s6R6_)x}#VR+|A3h<1>{68!{w4 zwchwoa}sD%A+@YE`ZBiSpj~d^%s@~?vtyAf(l|x)uoVYZ!hqC-mF5f4%q{BLNf*}Y z3Egea}8p-jOrw1~( zc8M`i*JUT%1H6gOR|buVl?hJneWejHzmusQ3A8+x?is*s|8Qvws{B~J@9K)WUL0yU zf9%ord^IX_HG1j2?8ok%TQM)U{Y95MPLyW4g5*~U#uniOT!6^ykn9Ck99~72ZzSa! z&Z-?8rByNG%~f{Fj{r9RLFXS3c&oatiSw|VySv;t`|u$FC;9%9>3Ib&p(R?0ed(0s z!%+WGq+Z*!8@ym5h2qtnw6Z-c28oqTYV@Yg50XBfpAA`(lEbTgnSt$ze%HXIdTh#ZY<0Zz%kY^|3DiE)M&2wXj z4*Sx=nZ4bK$ny(*&DMtQeQ&Z*R&IUHU+U<8zy}|%Npne$w4Z%(^wm+J`(4qG10^V4 ghD_YQBfo(Ksw5hk>G&of*{2n-FtIUiFmzA&52PY6vj6}9 literal 0 HcmV?d00001 diff --git a/code/code/exercise04/app/index.html b/code/code/exercise04/app/index.html new file mode 100644 index 0000000..b794948 --- /dev/null +++ b/code/code/exercise04/app/index.html @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + +

+
+
+
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/code/code/exercise04/app/scripts/app.js b/code/code/exercise04/app/scripts/app.js new file mode 100644 index 0000000..871f5be --- /dev/null +++ b/code/code/exercise04/app/scripts/app.js @@ -0,0 +1,3 @@ +function loadTemplates() { $('#navigation').load('templates/NavbarTemplate.html'); + $('#content').load('templates/AboutTemplate.html'); +} $(document).ready(loadTemplates); \ No newline at end of file diff --git a/code/code/exercise04/app/scripts/landung.js b/code/code/exercise04/app/scripts/landung.js new file mode 100644 index 0000000..a1cabfb --- /dev/null +++ b/code/code/exercise04/app/scripts/landung.js @@ -0,0 +1,77 @@ +function simulation() { + var v; + var s; + var fuel; + var schub = false; + + setStartValues(50000, -1000, 10000); + + function switchon() { + schub = true; + update(); + checkGameOver(); + } + + function switchoff() { + schub = false; + update(); + checkGameOver(); + } + + function a() { + if (schub == false || fuel <= 0) + return -1.63; + else { + fuel = fuel - 100; + return -1.63 + 12; + } + } + + function showValues() { + $("#height").html("Höhe: " + s + " m"); + $("#speed").html("Geschwindigkeit: " + v + " m/s"); + $("#fuel").html("Teibstoffvorrat: " + fuel + " l"); + } + + + function update() { + v = v + a(); + s = s + v; + showValues(); + } + + function checkGameOver() { + if (s <= 0) { + if (v < -10) + alert("Fehlschlag"); + else + alert("Erfolgreich"); + + setStartValues(50000, -1000, 10000); + showValues(); + } + } + + function setStartValues(height, velocity, Newfuel) { + v = velocity; + s = height; + fuel = Newfuel; + } + + $('#content').html("

Mondlandung

"); + $("#content").append("") + $("#content").append("
Höhe:
"); + $("#content").append("
Geschwindikgiet:
"); + $("#content").append("
Treibstoffvorrat:
"); + $("#content").append(""); + $("#content").append(""); + + + + $("#energy").click(switchon); + $("#no-energy").click(switchoff); + + showValues(); +} + + diff --git a/code/code/exercise04/app/templates/AboutTemplate.html b/code/code/exercise04/app/templates/AboutTemplate.html new file mode 100644 index 0000000..d44ecb3 --- /dev/null +++ b/code/code/exercise04/app/templates/AboutTemplate.html @@ -0,0 +1,45 @@ +
+ +
+
+
+ HTML5 LOGO +

HTML5

+

Strukturierte Inhalte für den Browser

+
+
+ CSS3 LOGO +

CSS3

+

Flexibles Design und Layout

+
+
+ Bootstrap +

Bootstrap3

+

Responsive und schick

+
+ +
+ JQuery LOGO +

JQuery

+

Zugriff auf das DOM

+
+
+ REACT LOGO +

REACT

+

Building User Interfaces

+
+
+ JavaScript +

JavaScript

+

Die Programmiersprache im Browser

+
+
diff --git a/code/code/exercise04/app/templates/NavbarTemplate.html b/code/code/exercise04/app/templates/NavbarTemplate.html new file mode 100644 index 0000000..234e88c --- /dev/null +++ b/code/code/exercise04/app/templates/NavbarTemplate.html @@ -0,0 +1,22 @@ + +