ch05코드
자바스크립트 코드 ch05 madango 코드
mandango3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<title>Madango - THe </title>
<body onload="initSeats();">
<div style="margin-top:75px; text-align:center">
<img id="seat0" src="" alt="" />
<img id="seat1" src="" alt="" />
<img id="seat2" src="" alt="" />
<img id="seat3" src="" alt="" />
<img id="seat4" src="" alt="" />
<img id="seat5" src="" alt="" />
<img id="seat6" src="" alt="" />
<img id="seat7" src="" alt="" />
<img id="seat8" src="" alt="" /><br />
<input type="button" id="findseat" value="Find Seat" onclick="findSeat();" />
</div>
<script type="text/javascript">
var seats = [false, true, false, true, true, true, false, true, false];
var selSeat = -1; //안팔림
function initSeats(){
for(var i =0; i<seats.length;i++){
if(seats[i]){
document.getElementById("seat"+i).src = "seat_avail.png";
document.getElementById("seat"+i).alt= "Available seat";
}else{
document.getElementById("seat"+i ).src ="seat_unavail.png";
document.getElementById("seat"+i ).alt="Unvailable seat";
}
}
}
function findSeat(){
if(selSeat >= 0){
selSeat =-1;
initSeats();
}
for(var i = 0; i<seats.length; i++){
if(seats[i] && seats[i+1] && seats[i+2]){
selSeat = i;
document.getElementById("seat"+ i).src="seat_select.png";
document.getElementById("seat"+ i).alt ="Your seat";
document.getElementById("seat"+ (i+1)).src="seat_select.png";
document.getElementById("seat"+ (i+1)).alt ="Your seat";
document.getElementById("seat"+ (i+2)).src="seat_select.png";
document.getElementById("seat"+ (i+2)).alt ="Your seat";
var accept = confirm("Seats " + (i +1) + " through " + (i + 3) + " are available. Accept?");
if(accept){
break;
}
if(!accept){
selSeat = -1;
document.getElementById("seat"+ i).src="seat_avail.png";
document.getElementById("seat"+ i).alt="Available seat";
document.getElementById("seat"+ (i+1)).src="seat_avail.png";
document.getElementById("seat"+ (i+1)).alt="Available seat";
document.getElementById("seat"+ (i+2)).src="seat_avail.png";
document.getElementById("seat"+ (i+2)).alt="Available seat";
}
}
}
}
</script>
</body>
</html>
mandango4.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body onload="initSeats();">
<div style="margin-top:75px; text-align:center">
<img id="seat0" src="" alt="" />
<img id="seat1" src="" alt="" />
<img id="seat2" src="" alt="" />
<img id="seat3" src="" alt="" />
<img id="seat4" src="" alt="" />
<img id="seat5" src="" alt="" />
<img id="seat6" src="" alt="" />
<img id="seat7" src="" alt="" />
<img id="seat8" src="" alt="" /><br />
<input type="button" id="findseat" value="Find Seat" onclick="findSeat();" />
</div>
<script>
// var count = prompt("Enter a number greater than 0:","10");
// if(count>0){
// while(count>0){
// alert("카운트 " + count);
// count--;
// }
// }
// if(count>0){
// var x = count;
// while(x >0 ){
// alert("Starting in ... " + x);
// x--;
// }
// alert("Roll film!")
// }else{
// alert("The number wasn't greater than 0. No movie for you!");
// }
var seats = [false, true, false, true, true, true, false, true, false];
var selSeat = -1; //안팔림
function initSeats(){
for(var i =0; i<seats.length;i++){
if(seats[i]){
document.getElementById("seat"+i).src = "seat_avail.png";
document.getElementById("seat"+i).alt= "Available seat";
}else{
document.getElementById("seat"+i ).src ="seat_unavail.png";
document.getElementById("seat"+i ).alt="Unvailable seat";
}
}
}
function findSeat(){
if(selSeat >= 0){
selSeat =-1;
initSeats();
}
var i = 0; finished = false;
while((i<seats.length) && !finished){
if(seats[i] && seats[i+1] && seats[i+2]){
selSeat = i;
document.getElementById("seat" +i).src ="seat_select.png";
document.getElementById("seat"+i).alt="Your seat";
document.getElementById("seat" +(i+1)).src ="seat_select.png";
document.getElementById("seat"+(i+1)).alt="Your seat";
document.getElementById("seat" +(i+2)).src ="seat_select.png";
document.getElementById("seat"+(i+2)).alt="Your seat";
var accept = confirm("Seats " + (i+1) +" through " +(i+3) +"are available. Accept?");
if(accept){
finished = true;
}
else{
selSeat = -1;
document.getElementById("seat" + i).src ="seat_avail.png";
document.getElementById("seat" + i).alt="Available seat";
document.getElementById("seat" + (i+1)).src ="seat_avail.png";
document.getElementById("seat" + (i+1)).alt="Available seat";
document.getElementById("seat" + (i+2)).src ="seat_avail.png";
document.getElementById("seat" + (i+2)).alt="Available seat";
}
}
i++;
}
}
</script>
</body>
</html>
mandango5.html //2차원배열로
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body onload="initSeats();">
<div style="margin-top:75px; text-align:center">
<img id="seat0" src="" alt="" />
<img id="seat1" src="" alt="" />
<img id="seat2" src="" alt="" />
<img id="seat3" src="" alt="" />
<img id="seat4" src="" alt="" />
<img id="seat5" src="" alt="" />
<img id="seat6" src="" alt="" />
<img id="seat7" src="" alt="" />
<img id="seat8" src="" alt="" /><br />
<img id="seat9" src="" alt="" />
<img id="seat10" src="" alt="" />
<img id="seat11" src="" alt="" />
<img id="seat12" src="" alt="" />
<img id="seat13" src="" alt="" />
<img id="seat14" src="" alt="" />
<img id="seat15" src="" alt="" />
<img id="seat16" src="" alt="" />
<img id="seat17" src="" alt="" /><br />
<img id="seat18" src="" alt="" />
<img id="seat19" src="" alt="" />
<img id="seat20" src="" alt="" />
<img id="seat21" src="" alt="" />
<img id="seat22" src="" alt="" />
<img id="seat23" src="" alt="" />
<img id="seat24" src="" alt="" />
<img id="seat25" src="" alt="" />
<img id="seat26" src="" alt="" /><br />
<img id="seat27" src="" alt="" />
<img id="seat28" src="" alt="" />
<img id="seat29" src="" alt="" />
<img id="seat30" src="" alt="" />
<img id="seat31" src="" alt="" />
<img id="seat32" src="" alt="" />
<img id="seat33" src="" alt="" />
<img id="seat34" src="" alt="" />
<img id="seat35" src="" alt="" /><br />
<input type="button" id="findseat" value="Find Seat" onclick="findSeat();" />
</div>
<script>
var seats = [[ false, true, false, true, true, true, false, true, false ],
[ false, true, false, false, true, false, true, true, true ],
[ true, true, true, true, true, true, false, true, false ],
[ true, true, true, false, true, false, false, true, false ]];
var selSeat = -1; //안팔림
function initSeats(){
for(var i= 0; i<seats.length; i++ ){//제일바깥 포문
for(var j= 0; j<seats[i].length;j++) //i번쨰 행의 길이만큼 -> 안쪽 포문
if(seats[i][j]){
document.getElementById("seat" + (i * seats[i].length + j)).src ="seat_avail.png";
document.getElementById("seat" + (i * seats[i].length + j)).alt="Available seat";
}else{
document.getElementById("seat" + (i* seats[i].length + j)).src = "seat_unavail.png";
document.getElementById("seat" + (i* seats[i].length + j)).alt="Unvailable seat";
}
}
}
function findSeat(){
if(selSeat >= 0){
selSeat =-1;
initSeats();
}
var i = 0; finished = false;
while((i<seats.length) && !finished){
for( var j = 0; j< seats[i].length; j++){
if(seats[i][j] && seats[i][j+1] && seats[i][j+2]){
selSeat = i * seats[i].length + j;
document.getElementById("seat" + (i * seats[i].length + j)).src = "seat_select.png";
document.getElementById("seat" + (i* seats[i].length + j)).alt="Your seat";
document.getElementById("seat" + (i * seats[i].length + j+1)).src = "seat_select.png";
document.getElementById("seat" + (i* seats[i].length + j+1)).alt="Your seat";
document.getElementById("seat" + (i * seats[i].length + j+2)).src = "seat_select.png";
document.getElementById("seat" + (i* seats[i].length + j+2)).alt="Your seat";
var accept = confirm("Seats " + (j + 1) +" through " +(j +3) + " in Row " +(i+1) + " are available. Accept?");
if(accept){
finished = true;
break;
}
else{
selSeat = -1;
document.getElementById("seat" + (i * seats[i].length + j)).src = "seat_avail.png";
document.getElementById("seat" + (i* seats[i].length + j)).alt="Available seat";
document.getElementById("seat" + (i * seats[i].length + j+1)).src = "seat_avail.png";
document.getElementById("seat" + (i* seats[i].length + j+1)).alt="Available seat";
document.getElementById("seat" + (i * seats[i].length + j+2)).src = "seat_avail.png";
document.getElementById("seat" + (i* seats[i].length + j+2)).alt="Available seat";
}
}
}
i++;
}
}
</script>
</body>
</html>
이미지파일과 전체 코드는
resources.oreilly.com/examples/9780596527747/tree/master/ch05/mandango
'web > javascript' 카테고리의 다른 글
test (6) | 2024.06.14 |
---|---|
함수참조 (0) | 2021.04.30 |