Oyun Yapımı -2

Gece yazdığım uygulamaya sabah ek yapıyorum. Şimdi dediğim gibi rastgele çekebilirdik canavarı bende öyle yaptım ama sadece sağlığını değiştirdim. Saldırı puanını bir sonraki yazıda düzenlerim. Rastgele seçim yapmak için önce canavarlar isimli bir sözlük nesnesi oluşturdum sonra random modülünün choice() fonksiyonunu kullanarak bu sözlüğün anahtarlarından rastgele bir seçim yaptım. Aşağıda ki while döngüsüne tekrardan bir ek yapma gereği duydum sorun şuydu eğer canavarın canı 3’e iner ve bundan saldırı puanımız yüksekse negatif olarak işlem devam ediyor ve sonunda ölüyorduk. Buraya bir ek yapıp canavarın canı güçten ufak olduğundan değerini otomatik sıfır yapıyoruz ve biz kazanıyoruz. Ayrıca while döngüsünün başına tekrardan bir koşul koydum. Oyuncu canını 0 olarak işaretlerse oyuna başlamadan kaybedecek.



#!/usr/bin/env python

# -*- coding: utf-8 -*-

import random


print "Karakter yaratım işlemi başlamak üzere lütfen hazırlanın gireceğiniz değerlerin toplamı 20 olmalı"

zeka = raw_input("Zeka puanı: ")

guc = raw_input("Güç puanı: ")

karizma = raw_input("Karizma puanı: ")

ceviklik = raw_input("Çeviklik puanı: ")

can = raw_input("Can puanı: ")

toplam = int(zeka)+int(guc)+int(karizma)+int(ceviklik)+int(can)


if toplam == 20:

  print "işlem başarılı."

  canavarlar = {"kutupayisi":"50","demon":"30","bildircin":"20","solucan":"5"}

  sans = random.choice(canavarlar.keys())

  canavar = canavarlar[sans]

  sal = 2

  saglik = int(can) * 5


  print "deneme savaşı başlatılıyor..."

  if saglik == 0:

    print "Tebrikler başlamadan kaybettiniz"

  else:

    while saglik > 0:

      saglik = int(saglik) - int(sal)

      print "canınız %s'e indi" % saglik

      canavar = int(canavar) - int(guc)

      print "canavarın canı %s'e indi" % canavar

      if saglik == 0:

	print "öldünüz ühühü"

	break

      elif canavar == 0:

	print "kazandınız ohh yeahhh"

	break

      elif canavar