Commit d4ec9850 authored by ferhat tamer's avatar ferhat tamer 💬
Browse files

düzeltmeler gerceklestirelecek

parent 1e1afdf1
package main package main
import ( import(
"fmt" "fmt"
"math/rand" "math/rand"
"time" "time"
) )
func main() { const tassayisi,oyuncusayisi,satirsayisi,sutunsayisi,kagittakisayilar = 90,5,3,5,15
const oyuncusayisi,satirsayisi,sutunsayisi,tassayisi = 5,3,5,90//oyuncu sayısı , satır sayısı ve sütun sayısını değişkenlerine değer atıyoruz. var isim[5][20] string
s1 := rand.NewSource(time.Now().UnixNano())//tohum atıyoruz. var tombala[oyuncusayisi][satirsayisi][sutunsayisi] int
r1 := rand.New(s1)//attığımız tohumdan random sayı üretip r1 değişkenine atıyoruz. var torba[tassayisi] int
var tombala [oyuncusayisi][satirsayisi][sutunsayisi] int //tombala adında matris olusturma 2 oyunculu 3 satır 5 sütunlu bir kagıt olustuuyoruz. var karsilastir[15] int
var karsilastir[15] int var kontroldizisi[kagittakisayilar] int
var torba[tassayisi] int var x,y,z,toplam,kazanan,sayi,seed,oyunbitti,sira,temp,operasyon,islem,b,rastgele,sayac,oyuncu,cik,x1,a,istem,girdi,uretim int
var sayi int var s1 = rand.NewSource(time.Now().UnixNano())
//kart uret var r1 = rand.New(s1)
for x:=0;x<oyuncusayisi;x++ {//oyuncu sayısı kadar dönen döngü. func kartUret(x int)int {
for b:=0;b<15;b++{//karşılaştırma yaptığımız dizinin içini sıfırlıyoruz fmt.Print("lutfen oyuncu adi giriniz : ");
karsilastir[b]=0; fmt.Scan(&isim[x])
} for b=0;b<15;b++ {
sira := 0 //her oyuncu için karşılaştır dizisi doldurulacak bu yüzden her döngü başladığında sıfırlanması gerekecek. karsilastir[b]=0;
for y:=0;y<satirsayisi;y++ {//satir sayisi kadar dönen döngü. }
for z:=0;z<sutunsayisi;z++ {//sutunsayisi kadar dönen döngü. sira=0;
sayi=(r1.Intn(15)+1) for y=0;y<3;y++ {
tombala[x][y][z]=sayi for z=0;z<5;z++ {
karsilastir[sira]=sayi sayi=(r1.Intn(tassayisi)+1)
for a:=0;a<sira;a++{ tombala[x][y][z]=sayi
if karsilastir[sira] == karsilastir[a] { karsilastir[sira]=sayi
sayi=(r1.Intn(15)+1) for a=0;a<sira;a++ {
karsilastir[sira]=sayi if(karsilastir[sira]==karsilastir[a]){
tombala[x][y][z]=sayi sayi=(r1.Intn(tassayisi)+1)
a=-1; tombala[x][y][z]=sayi;
} karsilastir[sira]=sayi;
a=-1;
} }
sira=sira +1
//tombala[x][y][z]=(r1.Intn(15)+1)//1 ile 100 arasında random sayı üretip bu sayıyı matrisimizin içine dolduruyoruz.
//fmt.Print("satır degeri :",y)
//fmt.Print("sutun degeri :",z)
//fmt.Print(" |",tombala[x][y][z]," |") //x,y,z değerlerine karşılık gelen matris içerisindeki değeri ekrana yazdırır.
} }
sira=sira+1;
//fmt.Println("\n")//oyuncu sırasını ekrana bastıktan sonra alt satıra geçiyoruz.
} }
//fmt.Println("\n")//satırları ekrana bastıktan sonra alt satıra geçiyoruz.
} }
//kart yazdir return 0
for i:=0;i<oyuncusayisi;i++{ }
fmt.Println(i+1,"numarali oyuncu") //fmt.Println(x+1,"numarali oyuncu")//döngüden gelen oyuncu sayisina 1 ekliyoruz ekrana basıyoruz. sayma sayıları 1'den başladığı için 0. oyuncu olamaz. func torbaOlustur() {
for x=0;x<tassayisi;x++ {
for j:=0;j<satirsayisi;j++{ torba[x]=x+1;
for k:=0;k<sutunsayisi;k++{ }
fmt.Print("| ",tombala[i][j][k]," |") }
func torbaYazdir() {
for x=0;x<tassayisi;x++ {
if(torba[x] != 0){
fmt.Print("|%d|", torba[x]);
}
}
}
func kartYazdir(x int)int{
kalantas:=0
fmt.Print("\n");
fmt.Print("%d numarali oyuncu : ",x+1);
for y=0;y<20;y++ {
fmt.Print("%c",isim[x][y]);
}
fmt.Print("\n");
for y=0;y<satirsayisi;y++ {
for z=0;z<sutunsayisi;z++ {
fmt.Print(tombala[x][y][z]);
if(tombala[x][y][z]!=0){
kalantas=kalantas+1;
}
}
fmt.Print("\n");
}
if(uretim!=0){
fmt.Print("tombala yapmasina %d tas kaldi",kalantas);
fmt.Print("\n");
}
return x
}
func sayiUret(x int )int {
cik=0;
loop:=true
for loop {
rastgele=(r1.Intn(tassayisi)+1)
if(torba[rastgele]!=0){
fmt.Print("torbadan cekilen tas : %d \n",torba[rastgele]);
for x=0;x<oyuncusayisi;x++ {
for y=0;y<satirsayisi;y++ {
for z=0;z<sutunsayisi;z++ {
if(tombala[x][y][z]==torba[rastgele]) {
tombala[x][y][z]=0
fmt.Print("cekilen tas kartinizdan silindi",torba[rastgele]);
kartYazdir(x);
}
}
} }
fmt.Println("\n") }
torba[rastgele]=0
cik=cik+1;
}
}
if(cik>=1){
loop=false;
}
return x
}
func tombalaBul(x int )int {
person:=x+1;
fmt.Print("%d numarali oyuncu icin tombala araniyor",person);
for y=0;y<satirsayisi;y++ {
for z=0;z<sutunsayisi;z++ {
toplam=toplam+tombala[x][y][z]
} }
fmt.Println("\n")
} }
//torba olustur if(toplam==0) {
for x:=0;x<tassayisi;x++{ kazanan=x+1
torba[x]=x+1; fmt.Print("\n\n oyun bitti %d numarali oyuncu kazandi : ",kazanan);
for y=0;y<20;y++{
fmt.Print("%c",isim[x][y]);
}
fmt.Print("\n");
operasyon=5;
} }
//torba yazdir fmt.Print("%d numarali oyuncuda tombala yok .\n",person);
for x:=0;x<tassayisi;x++{ toplam=0;
fmt.Println(torba[x]); return x
}
func nasilOynanir(){
fmt.Print("\n\nTOMBALA NASIL OYNANIR\n");
fmt.Print("---------------------");
fmt.Print("\nSize Rastgele kart verilir.");
fmt.Print("\nTorbadan hilesiz rastgele tas cekilir. \n");
fmt.Print("\nCikan tas kartinizda var ise o sayi kartinizdan silinir .\n");
fmt.Print("\nKartinizdaki tum sayilar silindiğinde oyunu kazanmis olursunuz.\n ");
fmt.Print("\nIyi Sanslar :)) ");
}
func main() {
torbaOlustur();
loop1:=true
for loop1{
fmt.Print("\n Oyun Menusu");
fmt.Print("\n ----------------");
fmt.Print("\n 1 - Oyuncu ekle");
fmt.Print("\n 2 - Torbadan tas cek");
fmt.Print("\n 3 - Kartlari yazdir");
fmt.Print("\n 4 - Nasil oynanir?");
fmt.Print("\n 5 - Oynamak istemiyorum - Cikis");
fmt.Print("\n 6 - Torba yazdir");
fmt.Print("\n 7 - Yeniden Baslat");
fmt.Print("\n 8 - Ekrani Temizle");
fmt.Print("\nYapmak istediginiz islem ");
for{
fmt.Scan(&girdi)
operasyon=girdi
if((operasyon<1) || (operasyon >8)){
fmt.Println("1-8 arasinda bir sayi girin : ")
continue;
}
}
if((operasyon<1) || (operasyon >8)){
switch (operasyon) {
case 1: //oyuncu ekle en fazla 5 adet
if(islem<5){
if(istem == 0){
kartUret(islem);
kartYazdir(islem);
oyuncu=islem;
islem=islem+1;
}else{
fmt.Print("sayi urettiniz oyuncu ekleyemezsiniz. oyuncu eklemek icin oyunu yeniden baslatin \n");
}
}else {
fmt.Print("en fazla 5 oyuncu ile oynayabilirsiniz lutfen oyuna baslayin \n");
}
break;
case 2:
if(islem>0) {
uretim=uretim+1;
fmt.Print("torba karistiliyor. ");
sayiUret(oyuncu);
for x:=oyuncu;x >= 0;x-- {
tombalaBul(x);
istem=istem+1;
}
fmt.Print(" oyunun %d eli geride kaldi",uretim);
} else {
fmt.Println("oyuncu eklemeden torbadan tas cekemezsin");
} }
break;
case 3:
for x=oyuncu;x>=0;x-- {
kartYazdir(x);
}
break;
case 4:
nasilOynanir();
break;
case 5:
fmt.Print("Oyun kapatiliyor");
break;
case 6:
torbaYazdir();
break;
case 7:
islem=0;
istem=0;
torbaOlustur();
fmt.Println("oyun yeniden baslatiliyor.");
break;
case 8:
break;
default:
fmt.Print("lutfen 1-7 arasinda bir sayi giriniz \n");
break;
}
}
}
if(operasyon == 5){
loop1=false
}
} }
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