Blame | Last modification | View Log | Download
<?xml version="1.0" encoding="utf-8" ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Aktuality ze cvičení z C/C++ na FJFI, Wlada</title>
<link rel="stylesheet" type="text/css" href="styl.css"/>
<link rel="alternate" type="application/rss+xml" title="RSS" href="akt/rss.xml"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="Vladimír Klement" />
</head>
<body>
<div id="hlavicka" role="banner">
<h1>Wlada</h1>
<p>wlada(zavináč)post.cz</p>
</div>
<div id="menuHlavni" role="navigation">
<a href="http://kfe.fjfi.cvut.cz/~klement/">Cvičení</a>
<a href="?stranka=SDL_ttf">Tutoriály</a>
<a href="?stranka=kody">Kódy</a>
<a href="?stranka=odkazy">Zbytek</a>
</div>
<div id="menuVedlejsi" role="navigation">
<a href="http://kfe.fjfi.cvut.cz/~klement/">Aktuality</a>
<a href="?stranka=materialy">Materiály</a>
<a href="?stranka=dochazka">Docházka</a>
<a href="?stranka=plan">Zápočet</a>
<a href="?stranka=ukoly">Úkoly</a>
</div>
<div id="obsah" role="main">
<br/>
<!--- ----------------------------------------Zacatek vlastni dokumentace------------------------------- -->
<h1>Hra pong<br/>Vladimír Klement</h1>
<p>
Tento program je jednoduchou variací na klasickou hru pong. Hra pong bylo pravděpodobně první videohrou vůbec
a její historii si můžete přečíst třeba zde <a href="http://www.pong-story.com/intro.htm">Historie pongu</a>.
</p>
<img src="pong.png" alt="Obrázek ze hry"/>
<h2>Závislosti</h2>
<ul><li>GLUT</li></ul>
<h2>O co se jedná</h2>
<p>
Pong je jednoduchá hra pro dva hráče. Každý z nich ovládá jeden obdélní na okraji obrazovky, s kterým může
pohybovat pouze nahoru a dolu. Mezi těmito obdélníky létá "míč", který se odráží od kraje hracího pole dle
běžných fyzikálních zákonů. Úkolem hráčů je nenechat míč dostat se za jejich záda. Tomu můžeou zabránit tak,
že mu svým obdélníkem vjedou do cesty.
</p>
<h2>Ovládání</h2>
<p>
Program se ovládá čtyřmi klávesami. První hráč má k dispozici šipky nahoru a dolu, druhý pak klávesy 'w' a 's'.
</p>
<h2>Princip výpočtu, algoritmy</h2>
<p>
Pong není zrovna algoritmicky náročná hra. Nicméně mohl bych zde popsat fyzikální zákon pro odraz a způsob
aktualizace pozice míčku. U vašich úkolů zde předpokládám něco bude.
</p>
<p>
Mimochodem, pokud budete chtít ukázat nějakou část zdrojového kódu tak takto:
</p>
<pre><code>
void kresliMalyCtverec(float x, float y)
{
glColor3f(0.8f,0.1f,0.2f); //Nastavime barvu
glBegin(GL_QUADS);
glVertex3f(x-0.1f, 0.1f+y, 0.0f);
glVertex3f(x+0.1f, 0.1f+y, 0.0f);
glVertex3f(x+0.1f,-0.1f+y, 0.0f);
glVertex3f(x -0.1f,-0.1f+y, 0.0f);
glEnd();
}
</code></pre>
<h2>Známé chyby a nedodělky</h2>
<dl>
<dt>Problém s více zmačklými klávesami</dt>
<dd>Program si není schopen pamatovat klávesy, které držíte. Proto pokud například držíte klávesu
nahoru a někdo zmačkne nějakou jinou přestane se váš obdélník pohybovat</dd>
</dl>