• 02-12-2013, 13:50:43
    #1
    Merhabalar,

    Can sıkıntısı nedeniyle yazılan bir scripttir. Google'da acaba daha iyisi varmıdır ? diye aratmama rağmen daha iyisini bırakın türkçe kaynaklarda hiç benzer bir script bulamadım bende 5 Dakikada ufak bir script yazdım iyi günlerde kullanın.

    Not : konu altından şu fonksiyon yerine bu fonksiyon kullansaydın daha iyi olurdu vs. tartışabiliriz, önerilerinizi eksik etmeyin. Akıl Akıldan Üstündür.

    <?php
    
    	if( $_POST )
    		{
    
    $oyun = array("Taş","Kağıt","Makas");
    
    $bilgisayar = $oyun[$rastgele = array_rand( $oyun )];
    $kullanici = $_POST["game"];
    
    if( !in_array( $kullanici, $oyun ) ) : die("Adam gibi seçenek gir beni deli etme"); endif;
    
    $durum = NULL;
    
    #### BERABERE
    if( $bilgisayar == "Taş" AND $kullanici == "Taş" ) : $durum = "İkinizde <b>TAŞ</b> seçtiniz, durum berabere.!"; endif;
    if( $bilgisayar == "Kağıt" AND $kullanici == "Kağıt" ) : $durum = "İkinizde <b>Kağıt</b> seçtiniz, durum berabere.!"; endif;
    if( $bilgisayar == "Makas" AND $kullanici == "Makas" ) : $durum = "İkinizde <b>Makas</b> seçtiniz, durum berabere.!"; endif;
    #### BERABERE
    
    #### Bilgisayar Kazandı
    if( $bilgisayar == "Taş" AND $kullanici == "Makas" ) : $durum = "Kaybettiniz, bilgisayar : <b> Taş </b> Siz <b> Makas </b>, Taş makası kırdı!"; endif;
    if( $bilgisayar == "Kağıt" AND $kullanici == "Taş" ) : $durum = "Kaybettiniz, bilgisayar : <b> Kağıt </b> Siz <b> Taş </b>, Kağıt Taşı Yedi!"; endif;
    if( $bilgisayar == "Makas" AND $kullanici == "Kağıt" ) : $durum = "Kaybettiniz, bilgisayar : <b> Makas </b> Siz <b> Kağıt </b>, Makas Kağıdı Kesti!"; endif;
    #### Bilgisayar Kazandı
    
    #### Kullanıcı Kazandı
    if( $bilgisayar == "Makas" AND $kullanici == "Taş" ) : $durum = "Tebrikler, bilgisayar : <b> Makas </b> Siz <b> Taş </b>, Taş makası kırdı!"; endif;
    if( $bilgisayar == "Taş" AND $kullanici == "Kağıt" ) : $durum = "Tebrikler, bilgisayar : <b> Taş </b> Siz <b> Kağıt </b>, Kağıt Taşı Yedi!"; endif;
    if( $bilgisayar == "Kağıt" AND $kullanici == "Makas" ) : $durum = "Tebrikler, bilgisayar : <b> Kağıt </b> Siz <b> Makas </b>, Makas Kağıdı Kesti!"; endif;
    #### Kullanıcı Kazandı
    
    
    echo $durum . "<br /> <br /> &raquo; <a href='http://localhost/taskagitmakas/'>Tekrar Oyna</a>";
    
    
    	die();
    	}
    
    ?>
    
    Lütfen Seçiniz :
    
    <form method="post" action="">
    	
    	<input type="radio" name="game" value="Taş" />Taş <br />
    	<input type="radio" name="game" value="Kağıt" />Kağıt <br />
    	<input type="radio" name="game" value="Makas" />Makas <br />
    	<input type="submit" value="Oyna.!" />
    
    </form>
  • 02-12-2013, 22:43:02
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @PamukBilisim;

    Bu şekilde daha iyi sanki ;

    Alıntı
    <?php
    	
    	/* 
    	 * SAINTX » Taş Kağıt Makas Oyunu
    	 * 
    	 * @author: Ogün KARAKUŞ
    	 * @web: http://saintx.net
    	 * @email: im@saintx.net
    	 * @createdAt: 02.12.2013
    	 * @lastUpdate: 02.12.2013
    	 */
    	
    	$user_agent = (isset($_SERVER["HTTP_USER_AGENT"])) ? getenv("HTTP_USER_AGENT") : null;
    	
    	if(!is_null($user_agent)) {
    		if(PHP_VERSION >= "4.0.4pl1" && (strstr($user_agent, "compatible") || strstr($user_agent, "Gecko"))) {
    			if(extension_loaded("zlib")) {
    				$do_gzip_compress = false;
    				
    				ob_start("ob_gzhandler");
    			} else {
    				$do_gzip_compress = false;
    			}
    		} else if(PHP_VERSION > "4.0") {
    			if(strstr(getenv("HTTP_ACCEPT_ENCODING"), "gzip")) {
    				if(extension_loaded("zlib")) {
    					$do_gzip_compress = true;
    					
    					ob_start();
    					ob_implicit_flush(0);
    					
    					header("Content-Encoding: gzip, deflate");
    				} else {
    					$do_gzip_compress = false;
    				}
    			}
    		} else {
    			$do_gzip_compress = false;
    		}
    	}
    	
    	session_name("SAINTX");
    	
    	session_set_cookie_params((60 * 60 * 6));
    	
    	session_start();
    	
    @	error_reporting(E_ALL);
    	
    @	set_time_limit(0);
    	
    @	ini_set("html_errors", false);
    	
    	define("SAINTX", true);
    	
    	define("TURKISH_CHARS_HEX_VALS", "{\"\u00d6\":\"Ö\",\"\u00c7\":\"Ç\",\"\u015e\":\"Ş\",\"\u0130\":\"İ\",\"\u011e\":\"Ğ\",\"\u00f6\":\"ö\",\"\u00e7\":\"ç\",\"\u015f\":\"ş\",\"\u0131\":\"ı\",\"\u00fc\":\"ü\",\"\u011f\":\"ğ\"}");
    	
    	function str_encode($string) {
    		$replace_char_list = json_decode(TURKISH_CHARS_HEX_VALS, true);
    		
    		return str_replace(
    			array_keys($replace_char_list),
    			array_values($replace_char_list),
    			str_replace(" ", "&nbsp;", htmlentities($string, ENT_COMPAT, "UTF-8", true))
    		);
    	}
    	
    	function str_decode($string) {
    		$replace_char_list = json_decode(TURKISH_CHARS_HEX_VALS, true);
    		
    		return str_replace(
    			array_values($replace_char_list),
    			array_keys($replace_char_list),
    			str_replace("&nbsp;", " ", html_entity_decode($string, ENT_COMPAT, "UTF-8"))
    		);
    	}
    	
    	function is_ssl() {
    		if(isset($_SERVER["HTTPS"]))
    			if("on" == strtolower(getenv("HTTPS")))
    				return true;
    			if("1" == getenv("HTTPS"))
    				return true;
    		else if(isset($_SERVER["SERVER_PORT"]) && ("443" == getenv("SERVER_PORT")))
    			return true;
    		else
    			return false;
    	}
    	
    	function get_current_url() {
    		$scheme = (is_ssl()) ? "https" : "http";
    		$host = getenv("HTTP_HOST");
    		$base_path = str_replace("\\", "/", getenv("SCRIPT_NAME"));
    		
    		return sprintf("%s", sprintf("%s://%s%s", $scheme, $host, $base_path));
    	}
    	
    	if(array_key_exists("choice", $_POST)) {
    		header("Content-Type: application/json; charset=UTF-8");
    		
    		$output = null;
    		
    		$choice = (strlen($_POST["choice"]) <= 0) ? null : $_POST["choice"];
    		
    		$items = array(
    			(object) array(
    				"value" => (object) array(
    					"en_US" => "rock",
    					"tr_TR" => str_encode("Taş"),
    					"tr_TR_2" => str_encode("Taşı")
    				)
    			),
    			(object) array(
    				"value" => (object) array(
    					"en_US" => "paper",
    					"tr_TR" => str_encode("Kağıt"),
    					"tr_TR_2" => str_encode("Kağıdı")
    				)
    			),
    			(object) array(
    				"value" => (object) array(
    					"en_US" => "scissor",
    					"tr_TR" => str_encode("Makas"),
    					"tr_TR_2" => str_encode("Makası")
    				)
    			)
    		);
    		
    		$messages = (object) array(
    			"draw" => (object) array(
    				"title" => str_encode("Berabere!"),
    				"body" => str_replace(
    					"__CHOICE__", "<strong>%s</strong>",
    					str_encode(
    						"İkinizde __CHOICE__ seçtiniz. Durum berabere, şansını tekrardan dene istersen?"
    					)
    				)
    			),
    			"lose" => (object) array(
    				"title" => str_encode("Kaybettiniz!"),
    				"body" => str_replace("__BR__", "<br />", str_replace(
    					array(
    						"__WINNER__",
    						"__CHOICE__",
    						"__CHOICE_STATUS__",
    						"__WINNER_CHOICE__",
    						"__WINNER_CHOICE_STATUS__"
    					),
    					array(
    						"<strong>%s</strong>",
    						"<strong>%s</strong>",
    						"%s",
    						"<strong>%s</strong>",
    						"<strong>%s</strong>"
    					),
    					str_encode(
    						"Kaybettiniz! __WINNER__ kazandı! Siz __CHOICE__ seçtiniz.__BR____WINNER__ ise __WINNER_CHOICE__ seçti. Bu durumda __WINNER_CHOICE_STATUS__, __CHOICE_STATUS__."
    					)
    				))
    			),
    			"won" => (object) array(
    				"title" => str_encode("Kazandınız!"),
    				"body" => str_replace("__BR__", "<br />", str_replace(
    					array(
    						"__WINNER__",
    						"__LOSER__",
    						"__CHOICE__",
    						"__CHOICE_STATUS__",
    						"__LOSER_CHOICE__",
    						"__LOSER_CHOICE_STATUS__"
    					),
    					array(
    						"<strong>%s</strong>",
    						"<strong>%s</strong>",
    						"<strong>%s</strong>",
    						"%s",
    						"<strong>%s</strong>",
    						"<strong>%s</strong>"
    					),
    					str_encode(
    						"Tebrikler, __WINNER__ kazandınız! Siz __CHOICE__ seçtiniz.__BR____LOSER__ ise __LOSER_CHOICE__ seçti. Bu durumda __LOSER_CHOICE_STATUS__, __CHOICE_STATUS__."
    					)
    				))
    			)
    		);
    		
    		$random_number = rand(0, 2);
    		
    		$item = $items[$random_number];
    		
    		$output = (object) array(
    			"data" => (object) array(
    				"title" => null,
    				"body" => null
    			)
    		);
    		
    		if(!is_null($choice)) {
    			
    			if($choice == $item->value->en_US) {
    				$output->data->title = $messages->draw->title;
    				$output->data->body = sprintf($messages->draw->body, $item->value->tr_TR_2);
    			} else {
    				
    				if($item->value->en_US == $items[0]->value->en_US && $choice == $items[2]->value->en_US) {
    					$output->data->title = $messages->lose->title;
    					$output->data->body = sprintf(
    						$messages->lose->body,
    						"Bilgisayar",
    						strtolower($items[2]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[0]->value->tr_TR_2),
    						$items[0]->value->tr_TR,
    						strtolower($items[2]->value->tr_TR_2) . " <strong>kırdı</strong>"
    					);
    				}
    				
    				if($item->value->en_US == $items[1]->value->en_US && $choice == $items[0]->value->en_US) {
    					$output->data->title = $messages->lose->title;
    					$output->data->body = sprintf(
    						$messages->lose->body,
    						"Bilgisayar",
    						strtolower($items[0]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[1]->value->tr_TR_2),
    						$items[1]->value->tr_TR,
    						strtolower($items[0]->value->tr_TR_2) . " <strong>yedi</strong>"
    					);
    				}
    				
    				if($item->value->en_US == $items[2]->value->en_US && $choice == $items[1]->value->en_US) {
    					$output->data->title = $messages->lose->title;
    					$output->data->body = sprintf(
    						$messages->lose->body,
    						"Bilgisayar",
    						strtolower($items[1]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[2]->value->tr_TR_2),
    						$items[2]->value->tr_TR,
    						strtolower($items[1]->value->tr_TR_2) . " <strong>kesti</strong>"
    					);
    				}
    				
    				if($item->value->en_US == $items[2]->value->en_US && $choice == $items[0]->value->en_US) {
    					$output->data->title = $messages->won->title;
    					$output->data->body = sprintf(
    						$messages->won->body,
    						"Siz",
    						strtolower($items[0]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[2]->value->tr_TR_2),
    						$items[0]->value->tr_TR,
    						strtolower($items[2]->value->tr_TR_2) . " <strong>kırdı</strong>"
    					);
    				}
    				
    				if($item->value->en_US == $items[0]->value->en_US && $choice == $items[1]->value->en_US) {
    					$output->data->title = $messages->won->title;
    					$output->data->body = sprintf(
    						$messages->won->body,
    						"Siz",
    						strtolower($items[1]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[0]->value->tr_TR_2),
    						$items[1]->value->tr_TR,
    						strtolower($items[0]->value->tr_TR_2) . " <strong>yedi</strong>"
    					);
    				}
    				
    				if($item->value->en_US == $items[1]->value->en_US && $choice == $items[2]->value->en_US) {
    					$output->data->title = $messages->won->title;
    					$output->data->body = sprintf(
    						$messages->won->body,
    						"Siz",
    						strtolower($items[2]->value->tr_TR_2),
    						"Bilgisayar",
    						strtolower($items[1]->value->tr_TR_2),
    						$items[2]->value->tr_TR,
    						strtolower($items[1]->value->tr_TR_2) . " <strong>kesti</strong>"
    					);
    				}
    			}
    		}
    		
    		exit(json_encode($output));
    	}
    	
    	header("Content-Type: text/html; charset=UTF-8");
    	
    ?><!DOCTYPE html>
    <!--[if lt IE 7]>
    	<html class="no-js lt-ie9 lt-ie8 lt-ie7" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
    <![endif]-->
    <!--[if IE 7]>
    	<html class="no-js lt-ie9 lt-ie8" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
    <![endif]-->
    <!--[if IE 8]>
    	<html class="no-js lt-ie9" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
    <![endif]-->
    <!--[if gt IE 8]><!-->
    	<html class="no-js" xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
    <!--<![endif]-->
    	<head>
    		<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
    		<!--[if lt IE 9]>
    			<meta http-equiv="X-UA-Compatible" content="IE=9,chrome=1" />
    		<![endif]-->
    		<title><?=str_encode("Taş Kağıt Makas Oyunu");?></title>
    		<meta name="author" content="<?=str_encode("Ogün KARAKUŞ");?>" />
    		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
    		<link rel="icon" type="image/x-icon" href="http://saintx.net/assets/img/favicon.ico" />
    	</head>
    	<body>
    		<div id="wrapper" class="container">
    			<article id="container" class="row">
    				<section id="site" class="panel panel-default col-12-lg">
    					<div class="panel-heading text-left">
    						<code class="label label-info"><?=str_encode("Taş");?></code>&nbsp;<code class="label label-warning"><?=str_encode("Kağıt");?></code>&nbsp;<code class="label label-success"><?=str_encode("Makas");?></code>&nbsp;<code class="label label-danger"><?=str_encode("Oyunu");?></code>
    					</div>
    					<form id="site-form" class="panel-body text-center" method="post" onsubmit="javascript:return false">
    						<input type="hidden" id="choice-value" name="choice" />
    						<div class="btn-group">
    							<button type="button" id="choice-button-1" data-value="rock" class="btn btn-info btn-lg"><?=str_encode("Taş");?></button>
    							<button type="button" id="choice-button-2" data-value="paper" class="btn btn-warning btn-lg"><?=str_encode("Kağıt");?></button>
    							<button type="button" id="choice-button-3" data-value="scissor" class="btn btn-success btn-lg"><?=str_encode("Makas");?></button>
    						</div>
    						<div class="clearfix height-25"></div>
    						<button type="submit" class="btn btn-danger btn-lg"><?=str_encode("Hadi Bakalım!");?></button>
    					</form>
    				</section>
    			</article>
    			<footer class="text-right">
    				<small>&copy;&nbsp;<?=date("Y");?>,&nbsp;<a href="http://saintx.net/" title="<?=str_encode("Ogün KARAKUŞ");?>" target="_blank" rel="external nofollow"><?=str_encode("Ogün KARAKUŞ");?></a></small>
    				<br />
    				<em>
    					<small><?=str_encode("her şeyi sana yazdım ");?>&hellip;</small>
    				</em>
    			</footer>
    		</div>
    		<div aria-hidden="false" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="myModal" class="modal fade">
    			<div class="modal-dialog">
    				<div class="modal-content">
    					<div class="modal-header">
    						<button aria-hidden="true" data-dismiss="modal" class="close" type="button">&times;</button>
    						<h4 id="myModalTitle" class="modal-title">&nbsp;</h4>
    					</div>
    					<div id="myModalBody" class="modal-body">&nbsp;</div>
    					<div class="modal-footer">
    						<button data-dismiss="modal" class="btn btn-default btn-danger" type="button"><?=str_encode("Kapat");?></button>
    					</div>
    				</div>
    			</div>
    		</div>
    		<script type="text/javascript">window.onerror=function(a,b,c){console.log({url:b,line:c,message:a})}</script>
    		<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
    		<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    		<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.2/js/bootstrap.min.js"></script>
    		<script type="text/javascript">
    			function buttonHandler(buttonId) {
    				var button = $("button#choice-button-" + buttonId);
    				
    				$("input#choice-value").val(button.data("value"));
    				
    				for(var i = 1; i <= 3; ++i)
    					$("button#choice-button-" + i).removeClass("active");
    				
    				
    				button.addClass("active");
    				
    				return false;
    			}
    			
    			$(function() {
    				$("button#choice-button-1").click(function() {
    					return buttonHandler("1");
    				});
    				
    				$("button#choice-button-2").click(function() {
    					return buttonHandler("2");
    				});
    				
    				$("button#choice-button-3").click(function() {
    					return buttonHandler("3");
    				});
    				
    				$("form#site-form").submit(function() {
    					if($("input#choice-value").val().length > 0) {
    						$.ajax({
    							url: "<?=get_current_url();?>",
    							type: "POST",
    							data: $("form#site-form").serialize(),
    							dataType: "json",
    							async: true,
    							cache: false
    						}).done(function(response) {
    							$("input#choice-value").val("");
    							
    							for(var i = 1; i <= 3; ++i)
    								$("button#choice-button-" + i).removeClass("active");
    							
    							$("h4#myModalTitle").html(response.data.title);
    							$("div#myModalBody").html("<p>" + response.data.body + "</p>");
    						
    							$("div#myModal").modal("show");
    						}).fail(function(jqXHR, status) {
    							$("input#choice-value").val("");
    							
    							for(var i = 1; i <= 3; ++i)
    								$("button#choice-button-" + i).removeClass("active");
    							
    							console.log("Request failed; " + status);
    						});
    					} else {
    						$("h4#myModalTitle").html("<?=str_encode("Hata!");?>");
    						$("div#myModalBody").html("<?=str_encode("Oyun bozanlık yapmanın anlamı yok! Lütfen bi' seçim yap!");?>");
    						
    						$("div#myModal").modal("show");
    					}
    				});
    			});
    		</script>
    		<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.2/css/bootstrap.min.css" />
    		<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.0.2/css/bootstrap-theme.min.css" />
    		<style type="text/css">body{padding-top:50px;padding-bottom:50px}label,input[type="radio"]{cursor:pointer}.height-25{width:100%;height:15px}</style>
    	</body>
    </html><?php
    	
    	if($do_gzip_compress) {
    		$gzip_contents = ob_get_contents();
    		
    		ob_end_clean();
    		
    		$gzip_size = strlen($gzip_contents);
    		$gzip_crc32 = crc32($gzip_contents);
    		
    		$gzip_contents = gzcompress($gzip_contents, 9);
    		$gzip_contents = substr($gzip_contents, 0, (strlen($gzip_contents) - 4));
    		
    		echo "\x1f\x8b\x08\x00\x00\x00\x00\x00" . $gzip_contents . pack("V", $gzip_crc) . pack("V", $gzip_size);
    	}
    Oynamak isteyen olursa buradan oynayabilir.
  • 03-12-2013, 01:21:34
    #3
    Üyeliği durduruldu
    saintx adlı üyeden alıntı: mesajı görüntüle
    @PamukBilisim;

    Bu şekilde daha iyi sanki ;



    Oynamak isteyen olursa buradan oynayabilir.
    Maaşallah 440 satır kodla bu oyunumu yaptınız

    20 30 satır kodla yapılabilirdi
  • 03-12-2013, 01:23:17
    #4
    Eller sallansa çok daha güzel olur.
  • 03-12-2013, 12:25:07
    #5
    bi' oyundan daha fazlası var o kodlarda

    GT-I8160 cihazımdan Tapatalk 2 ile gönderildi
  • 03-12-2013, 18:13:43
    #6
    saintx adlı üyeden alıntı: mesajı görüntüle
    bi' oyundan daha fazlası var o kodlarda

    GT-I8160 cihazımdan Tapatalk 2 ile gönderildi
    demoya girdimde seçince bir işlem olmuyor seçmezsen oyunbozanlık yapma diyor oyun nerde
  • 03-12-2013, 18:59:37
    #7
    saintx adlı üyeden alıntı: mesajı görüntüle
    @PamukBilisim;

    Bu şekilde daha iyi sanki ;



    Oynamak isteyen olursa buradan oynayabilir.
    Toplama işlemi içinde şu kütüphaneyi kullanmalısın: https://github.com/Herzult/SimplePHPEasyPlus
  • 03-12-2013, 19:31:05
    #8
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    demoya girdimde seçince bir işlem olmuyor seçmezsen oyunbozanlık yapma diyor oyun nerde
    hostumda bi' yavaşlık var gibi
  • 03-12-2013, 19:32:00
    #9
    saintx adlı üyeden alıntı: mesajı görüntüle
    hostumda bi' yavaşlık var gibi
    Saldırı alıyodur normal durum bunlar