IRCDForum - IRC ve mIRC Kullanıcı Topluluğu  
  IRCDForum - IRC ve mIRC Kullanıcı Topluluğu > IRCDForum.Org - IRCd ve mIRC Scripting > mIRC Scripting Hazır Kodlar
Kaydol Topluluk Bugünkü Mesajlar Ara


Zar Oyunu

mIRC Scriptinglerinizde kullanabileceğiniz hazır kodlara bu başlık altından ulaşabilirsiniz.


Kullanıcı Etiket Listesi

Yeni Konu Aç Cevapla
 
Konu Araçları Görünüm Modları
Eskimiş 06-Aralık-2024, 14:17   #1
 
Owner Kullanıcısının Avatarı

Üye No: 1
Kayıt Tarihi: 07-Kasım-2024
Mesajlar: 783
Konular: 776
Nerden: Bursa
Takımı: Beşiktaş
Meslek:
Aldığı Beğeni: 17
Beğendikleri: 6
@Owner
Varsayılan Zar Oyunu

Bu kod, belirlediğiniz kanalda basit bir zar oyunu oluşturur. Temel olarak şu işlevleri gerçekleştirir:

1. Oyuncu Bilgileri ve Değişkenler: Kod, dört oyuncunun puanlarını, hedef toplamı, atma sayısını ve yeteneklerini içeren değişkenleri tanımlar.

2. Zar Oyunu Başlatma Komutu: `!zaroyunu` komutu, kanalda oyunun başlatıldığını ve ayarların belirlendiğini duyurur.

3. Zar Atma Komutu: `!zar` komutu, oyuncuların zar atmasını ve puanlarının güncellenmesini sağlar. Her oyuncunun yeteneğine göre (örneğin, "Şanslı" olan oyuncunun 6 atması durumunda ekstra puan kazanması) özel durumlar da içerir.

4. Oyunun Sıfırlanması: `resetzaroyunu` komutu, oyunun başlangıç durumuna dönmesini sağlar. Her oyuncunun puanlarını ve zar atma sayılarını sıfırlar.

Bu kod, oyuncuların zar atarak puan kazandığı ve bir hedef puanı geçen oyuncunun kazandığı basit bir oyunu simüle eder. Özelleştirme için oyuncu sayısını artırabilir, yeni yetenekler ekleyebilir veya oyun kurallarını değiştirebilirsiniz

Kod
; Oyuncular ve puanları
var %zar_oyuncu1_puan = 0
var %zar_oyuncu2_puan = 0
var %zar_oyuncu3_puan = 0
var %zar_oyuncu4_puan = 0
var %zar_hedef = 1000
var %zar_oyuncu_atma_sayisi = 3
var %zar_oyuncu1_yetenek = "Hızlı"
var %zar_oyuncu2_yetenek = "Şanslı"
var %zar_oyuncu3_yetenek = "Stratejik"
var %zar_oyuncu4_yetenek = "Dengeli"

; Zar oyununu başlatma komutu
on *:TEXT:!zaroyunu:#kanal:{
  resetzaroyunu
  msg #kanal * Zar Oyunu başlatıldı! Hedef toplam: %zar_hedef | Oyuncu Başına Atma Sayısı: %zar_oyuncu_atma_sayisi
  msg #kanal * Oyuncuların Yetenekleri: %zar_oyuncu1_yetenek %zar_oyuncu2_yetenek %zar_oyuncu3_yetenek %zar_oyuncu4_yetenek
}

; Zar atma komutu
on *:TEXT:!zar:#kanal:{
  var %zar = $r(1,6) ; Zar at
  var %nick = $nick
  if (!$ial(%nick,0)) {
    msg #kanal * $nick, oyuncu değil!
    return
  }
  var %oyuncu_puan = %zar_oyuncu $+($+(Nick,%nick),_puan)
  var %oyuncu_yetenek = %zar_oyuncu $+($+(Nick,%nick),_yetenek)
  var %oyuncu_atma_sayisi = %zar_oyuncu $+($+(Nick,%nick),_atma_sayisi)
  
  if (%oyuncu_atma_sayisi == %zar_oyuncu_atma_sayisi) {
    msg #kanal * $nick, zaten %zar_oyuncu_atma_sayisi zar attınız!
    return
  }
  else {
    inc %oyuncu_atma_sayisi
    inc %oyuncu_puan %zar
    msg #kanal * $nick, %oyuncu_atma_sayisi. zar: %zar | Toplam Puan: %oyuncu_puan | Yetenek: %oyuncu_yetenek
    
    ; Özel hamleler
    if (%zar == 6) && (%oyuncu_yetenek == "Şanslı") {
      inc %oyuncu_puan 2 ; Eğer oyuncu 6 atarsa bonus puan kazansın
      msg #kanal * $nick, Şanslı! Bonus +2 puan kazandınız!
    }
    
    %zar_oyuncu $+($+(Nick,%nick),_atma_sayisi) = %oyuncu_atma_sayisi
    %zar_oyuncu $+($+(Nick,%nick),_puan) = %oyuncu_puan
    
    ; Kazananı kontrol et
    if (%oyuncu_puan >= %zar_hedef) {
      msg #kanal * Kazanan: $nick! | Toplam Puan: %oyuncu_puan
      resetzaroyunu
    }
  }
}

; Oyunu sıfırlama
alias resetzaroyunu {
  var %i = 1
  while (%i <= 4) {
    var %player_puan = %zar_oyuncu $+(Nick,%i,_puan)
    var %player_atma_sayisi = %zar_oyuncu $+(Nick,%i,_atma_sayisi)
    unset %player_puan
    unset %player_atma_sayisi
    inc %i
  }
}

 
Alıntı ile Cevapla
Cevapla

Etiketler
oyunu, zar


Konuyu Görüntüleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir)
 

Yayınlama Kuralları
Yeni konu açamazsınız
Cevap gönderemezsiniz
Eklenti ekleyemezsiniz
Mesajlarınızı düzenleyemezsiniz

Kodlama is Açık
İfadeler Açık'dir
[IMG] kodu: Açık
HTML kodu: Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı