Kaydet (Commit) 10afd358 authored tarafından Abdülkerim AKSAK's avatar Abdülkerim AKSAK

README update. / Görsel düzenleme.

üst a81b6d05
No preview for this file type
# mangala
# Mangala
Mangala game for Pardus OS
\ No newline at end of file
[Mangala Web Sayfası](https://clutchsoftware.github.io)
**➤Mangala Sunum Dosyası:**
[<i>Sunum Dosyası</i>](sunumLink)
**➤Mangala Tanıtım Videosu:**
<div align="left">
<a href="#"><img src="videoBanner" width="350" height="200" alt="videoBanner"></a>
</div>
[<i>Youtube Tanıtım Link</i>](videoLink)
## Yükleme Ve Çalıştırma
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/grass.png)
```sh
$ git clone #####
$ cd Mangala
$ chmod +x script.sh
$ ./script.sh
```
# Mangala Oyunumuzun Dinamiği
> Oyunumuz da 3 tane mod bulumakta. Bunlar; <b>Çevim içi olarak oynamak, robota (Cengaver) karşı oynamak ve bilgisayar üzerinden karşılıklı oynamak.</b>
## Cengaver'in Gücü
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/aqua.png)
<p>
Cengaver'imizin toplam 4 farklı zorluk derecesi bulunmakta. Bu zorluk derecelerini incelersek;<br/><br/>
<b>Kolay Seviye:</b> Kuyu sayıları arasından rastgele birini seçerek Cengaver'imiz hamlesini oynamakta.
```javascript
function robotEasy() {
let array = doluHoleler();
let len = array.length;
if (len > 0) {
let holeID = Math.floor(Math.random() * 100000) % len;
tikla("user1hole" + (array[holeID] + 1).toString() + "x");
}
}
```
<b>Orta Seviye:</b> Kuyu sayıları arasından rastgele birini seçerek Cengaver'imiz hamlesini oynamakta.
```javascript
function robotMedium() {
let array = doluHoleler();
let len = array.length;
let score_ar = [];
if (len > 0) {
var temp1 = [];
var temp2 = [];
for (let i = 0; i < 7; i++) {
temp1.push(new Hole(user1hole[i].getValue(), user1hole[i].getID()));
temp2.push(new Hole(user2hole[i].getValue(), user2hole[i].getID()));
}
bosalt();
for (let k = 0; k < array.length; k++) {
let denenecek_hole_indis = array[k];
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(), temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(), temp2[i].getID()));
}
dagit(1, denenecek_hole_indis + 1);
score_ar[k] = user1hole[6].getValue();
}
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(), temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(), temp2[i].getID()));
}
let max = 0;
let max_indis = 0;
for (let a = 0; a < score_ar.length; a++) {
if (score_ar[a] >= max) {
max = score_ar[a];
max_indis = a;
}
}
player = 1;
tikla("user1hole" + (array[max_indis] + 1).toString() + "x");
}
}
```
<b>Daha Ne Kadar Zor Olabilir Seviyesi:</b> Kuyu sayıları arasından rastgele birini seçerek Cengaver'imiz hamlesini oynamakta.
```javascript
function robotHard() {
let array = doluHoleler();
let len = array.length;
let score_ar = [];
if (len > 0) {
var temp1 = [];
var temp2 = [];
for (let i = 0; i < 7; i++) {
temp1.push(new Hole(user1hole[i].getValue(), user1hole[i].getID()));
temp2.push(new Hole(user2hole[i].getValue(), user2hole[i].getID()));
}
bosalt();
for (let k = 0; k < array.length; k++) {
let denenecek_hole_indis = array[k];
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(), temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(), temp2[i].getID()));
}
dagit(1, denenecek_hole_indis + 1);
while (player == 1) {
let move = robotExpert();
dagit(1, move);
}
score_ar[k] = user1hole[6].getValue();
}
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(), temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(), temp2[i].getID()));
}
let max = 0;
let max_indis = 0;
for (let a = 0; a < score_ar.length; a++) {
if (score_ar[a] >= max) {
max = score_ar[a];
max_indis = a;
}
}
return array[max_indis] + 1;
}
}
```
<b> Seviye:</b> Kuyu sayıları arasından rastgele birini seçerek Cengaver'imiz hamlesini oynamakta.
```javascript
function runRobotExpert(){
let move = robotExpert()
player = 1;
tikla("user1hole"+(move).toString()+"x");
}
function robotExpert(){
let array = doluHoleler();
let len = array.length;
let score_ar = [];
if( len > 0){
var temp1 = [];
var temp2 = [];
for (let i = 0; i < 7; i++) {
temp1.push(new Hole(user1hole[i].getValue(),user1hole[i].getID()));
temp2.push(new Hole(user2hole[i].getValue(),user2hole[i].getID()));
};
bosalt();
for ( let k = 0; k < array.length; k++){
let denenecek_hole_indis = array[k];
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(),temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(),temp2[i].getID()));
};
dagit(1,denenecek_hole_indis+1);
while(player == 1){
let move = robotExpert();
dagit(1,move);
}
let karsi_skor_max = robotExpertForHumanSide(2);
score_ar[k] = user1hole[6].getValue() - karsi_skor_max;
}
bosalt();
for (let i = 0; i < 7; i++) {
user1hole.push(new Hole(temp1[i].getValue(),temp1[i].getID()));
user2hole.push(new Hole(temp2[i].getValue(),temp2[i].getID()));
};
let max = 0;
let max_indis = 0;
for ( let a = 0; a< score_ar.length; a++){
if( score_ar[a] >= max){
max = score_ar[a];
max_indis = a;
}
}
return array[max_indis]+1;
}
}
...
```
[<i>Cengaver'in Kaynak Kodu.</i>](https://kod.pardus.org.tr/tugbaficici/mangala/blob/master/pages/robotGameArea.js)
## Çevrim İçi Moduyla Gerçek Cengaverlere Karşı
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/aqua.png)
> SocketIO kullanarak oluştuduğumuz server ile kullanıcıların bu server üzerinde <i>oda oluşturma</i> ve <i>odaya katılma</i> fonksiyonlarıyla çevrim içi olarak oynayabilmektedir.
![OdaImage]()
## Arkadaşına Karşı
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/aqua.png)
> Hem Cengaver'e karşı hem de çevrim içi oynanabildiği gibi aynı bilgisayarda iki kişi karşılıklı oynabilmektedir.
## Ekip Üyeleri
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/fire.png)
[@Abdülkerim Aksak](https://github.com/KerimAksak)
[@Muaz Dervent](https://github.com/muazdervent)
[@Tuğba Fıçıcı](https://github.com/tugbaficici)
## Lisans
![-----------------------------------------------------](https://raw.githubusercontent.com/andreasbm/readme/master/assets/lines/solar.png)
Mangala ### lisansı ile lisanslanmıştır.
......@@ -17,7 +17,9 @@
</div>
<div class="row" id="infoText">
<div class="col">
<p id="linksiz"><b>Türk Zeka ve Strateji Oyunu</b></p>
<p id="linksiz" style="font-size: 16px">
<b>Türk Zeka ve Strateji Oyunu</b>
</p>
</div>
<div class="col text-right">
<img
......@@ -26,7 +28,10 @@
src="./assets/image/rulesYellow.png"
alt="rules"
/>
<a href="./pages/nasilOynanir.html" class="link"
<a
href="./pages/nasilOynanir.html"
class="link"
style="font-size: 16px"
><b>Nasıl Oynanır?</b></a
>
<a href="#" class="link" style="font-size: 20px">|</a>
......@@ -36,7 +41,9 @@
src="./assets/image/settings.png"
alt="rules"
/>
<a href="#" class="link" id="yeniPencere"><b>Ayarlar</b></a>
<a href="#" class="link" id="yeniPencere" style="font-size: 16px"
><b>Ayarlar</b></a
>
</div>
</div>
</div>
......@@ -102,7 +109,7 @@
/>
</div>
<div class="col text-center">
<p class="oyunText">Multiplayer Oyna</p>
<p class="oyunText">Çevrim İçi Oyna</p>
</div>
</div>
</a>
......
......@@ -72,24 +72,33 @@ app.on("ready", () => {
);
});
ipcMain.on("key:newWindow2", () => {
addWindow = new BrowserWindow({
webPreferences: {
//* Frontend kısmında "Electron require() is not defined" hata çözümü.
nodeIntegration: true,
contextIsolation: false,
enableRemoteModule: true,
},
width: 430,
height: 300,
title: "Oyun Ayarları",
frame: false,
resizable: false, // *Ekran boyutu imleç ile değiştirilemez.
maximizable: true, // *Ekran maksimum hale getirilemez
});
addWindow.loadURL(
url.format({
pathname: path.join(__dirname, "./pages/turnBackMain.html"),
protocol: "file:",
slashes: true,
})
);
});
//Pencereyi Kapat
ipcMain.on("key:closeWindow", () => {
remote.getCurrentWindow().close();
});
});
function createWİndow() {
addWindow = new BrowserWindow({
width: 482,
height: 200,
title: "Oda Ayarları",
});
addWindow.loadURL(
url.format({
pathname: path.join(__dirname, "./pages/odaAyarlari.html"),
protocol: "file:",
slashes: true,
})
);
}
......@@ -121,16 +121,16 @@
<div class="row" style="margin-bottom: 5px;">
<img width="25" height="25"
src="../assets/image/github.png" alt="" /> KerimAksak</div>
src="../assets/image/github.png" alt="" style="margin-right: 10px;"/> KerimAksak</div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/linkedin.png" alt="" />abdulkerim-aksak </div>
src="../assets/image/linkedin.png" alt="" style="margin-right: 10px;"/> abdulkerim-aksak</div>
</div>
<div class="col">
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/instagram.png" alt="" />kerim.aksak </div>
src="../assets/image/instagram.png" alt="" style="margin-right: 10px;" /> kerim.aksak </div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/twitter.png" alt="" />kerim_aksak </div>
src="../assets/image/twitter.png" alt="" style="margin-right: 10px;"/> kerim_aksak </div>
</div>
</div>
</div>
......@@ -144,16 +144,16 @@
<div class="row info">
<div class="col">
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/github.png" alt="" /> muazdervent</div>
src="../assets/image/github.png" alt="" style="margin-right: 10px;" /> muazdervent</div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/linkedin.png" alt="" />muazdervent </div>
src="../assets/image/linkedin.png" alt="" style="margin-right: 10px;" />muazdervent </div>
</div>
<div class="col">
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/instagram.png" alt="" />muazdervent </div>
src="../assets/image/instagram.png" alt="" style="margin-right: 10px;" />muazdervent </div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/twitter.png" alt="" />MuazDervent</div>
src="../assets/image/twitter.png" alt="" style="margin-right: 10px;" />MuazDervent</div>
</div>
</div>
</div>
......@@ -167,15 +167,15 @@
<div class="row info">
<div class="col">
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/github.png" alt="" /> tugbaficici</div>
src="../assets/image/github.png" alt="" style="margin-right: 10px;" /> tugbaficici</div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/linkedin.png" alt="" />tugbaficici </div>
src="../assets/image/linkedin.png" alt="" style="margin-right: 10px;" />tugbaficici </div>
</div>
<div class="col">
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/instagram.png" alt="" />tugbaficici </div>
src="../assets/image/instagram.png" alt="" style="margin-right: 10px;" />tugbaficici </div>
<div class="row" style="margin-bottom: 5px;"><img width="25" height="25"
src="../assets/image/twitter.png" alt="" />tugbaficici </div>
src="../assets/image/twitter.png" alt="" style="margin-right: 10px;" />tugbaficici </div>
</div>
</div>
</div>
......
......@@ -27,7 +27,7 @@
<div class="geriButonu">
<a href="turnBackMain.html" onclick="window.open(this.href, 'Anasayfaya Dön',
'left=20,top=20,width=405,height=350,toolbar=1,resizable=0'); return false;"><img width="60" height="60"
src="../assets/image/geri.png" alt="geri" /></a>
src="../assets/image/geri.png" alt="geri" id="yeniPencere2"/></a>
</div>
</div>
<div class="col-4">
......@@ -159,6 +159,16 @@
</div>
</div>
<script>
const electron = require("electron");
const { ipcRenderer } = electron; // backend ile iletişim
let yeniPencere = document.querySelector("#yeniPencere2");
yeniPencere.addEventListener("click", () => {
ipcRenderer.send("key:newWindow2", true);
});
</script>
</body>
</html>
......
......@@ -123,9 +123,11 @@
</div>
<div class="row">
<div class="col">
<button class="big-button" id="anasayfayaDon">
Anasayfaya Dön
</button>
<a href="../main.html">
<button class="big-button" id="anasayfayaDon">
Anasayfaya Dön
</button>
</a>
</div>
<div class="col">
<!--<a href="#" class="btn">Oyuna Dön</a>-->
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment