Skip to content

Instantly share code, notes, and snippets.

@billychappell
Last active August 29, 2015 14:07
Show Gist options
  • Save billychappell/21f1ff1451a82005bf71 to your computer and use it in GitHub Desktop.
Save billychappell/21f1ff1451a82005bf71 to your computer and use it in GitHub Desktop.
markovchaintext
<?php
$state1 = array('Element1'=>2, 'Element2'=>5,'Element3' =>3);
$state2 = array('Element1'=>2, 'Element2'=>3,'Element3' =>5);
$state3 = array('Element1'=>5, 'Element2'=>2,'Element3' =>3);
$currentstate = $state1;
$markov = array();
for($i = 0; $i < 10; $i++) {
$newState = array();
foreach ($currentstate as $element=>$value) {
$newState = array_merge($newState, array_fill(0, $value, $element)); }
$myState = $newState[array_rand($newState)];
$markov[] = $myState;
switch($myState) {
case 'Element1':
$currentstate = $state1; break;
case 'Element2':
$currentstate = $state2; break;
case 'Element3':
$currentstate = $state3; break; } }
?>
<html>
<head>
<title>A text generator for the ages!</title>
<link href="http://maxcdn.bootstrapcdn.com/bootswatch/3.2.0/cosmo/bootstrap.min.css" rel="stylesheet">
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
<style>
body {
padding-top: 70px;
}
</style>
</head>
<body>
<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">MarkovText</a>
</div>
</div>
</nav>
<div class="container">
<div class="panel panel-primary">
<div class="panel-heading">
<?php print "<h2 class=\"panel-title\">Your Markov Chain is:\n</h2>"; ?>
</div>
<textarea class="form-control" rows="5">
<?php foreach ($markov as $key => $value) {
print "$value&nbsp"; } ?></textarea> </div>
<button type="button" class="btn btn-primary btn-block">Generate Text!</button>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment