Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please use Assembly Language to write: Write a program that draws an 8 times 8 c

ID: 3838869 • Letter: P

Question

Please use Assembly Language to write:

Write a program that draws an 8 times 8 chess board, with alternating gray and white squares. You can use the SetTextColor and Gotoxy procedures from the Irvine32 library. Avoid the use of global variables, and use declared parameters in all procedures. Use short procedures that are focused on a single task. (A VideoNote for this exercise is posted on the Web site.) This exercise extends Exercise 9. Every 500 milliseconds, change the color of the colored squares and redisplay the board. Continue until you have shown the board 16 times, using all possible 4-bit background colors. (The white squares remain white throughout.)

Explanation / Answer

9. Program to draw 8*8 chess board, with alternating gray and white sqaures.

# include <iostream.h>
# include <graphics.h>
# include <conio.h>
# include <math.h>


void show_screen( );

void Fill_rectangle(constint,constint,constint,constint);
void Rectangle(constint,constint,constint,constint);
void Line(constint,constint,constint,constint);

int main( )
{
int driver=VGA;
int mode=VGAHI;

initgraph(&driver,&mode,"..\Bgi");

show_screen( );

for(int count_1=0;count_1<15;count_1++)
{
setcolor((count_1+1));
Rectangle((141+count_1),(69+count_1),(499-count_1),
(427-count_1));
}

setcolor(9);

for(int count_2=0;count_2<19;count_2++)
Rectangle((156+count_2),(84+count_2),(484-count_2),(412-count_2));

setcolor(12);
Rectangle((156+count_2),(84+count_2),(484-count_2),(412-count_2));

for(int count_3=0;count_3<9;count_3++)
{
Line((176+(count_3*36)),104,(176+(count_3*36)),392);
Line(176,(104+(36*count_3)),464,(104+(36*count_3)));
}

setcolor(15);

for(int count_4=0;count_4<8;count_4++)
{
for(int count_5=0;count_5<8;count_5++)
{
if(((count_5%2)+(count_4%2))==1)
Fill_rectangle((176+(count_5*36)),(104+(count_4*36)),
(212+(count_5*36)),(140+(count_4*36)));
}
}

char English[8][3]={"H","G","F","E","D","C","B","A"};
char Numbers[8][3]={"1","2","3","4","5","6","7","8"};

setcolor(15);
settextstyle(0,0,1);

for(int count_6=0;count_6<8;count_6++)
{
outtextxy(164,(120+(count_6*36)),Numbers[count_6]);
outtextxy((190+(count_6*36)),398,English[count_6]);
}

getch( );

return 0;
}

/*************************************************************************///--------------------------- Rectangle( ) ----------------------------///*************************************************************************/void Rectangle(constint x_1,constint y_1,constint x_2,constint y_2)
{
Line(x_1,y_1,x_2,y_1);
Line(x_2,y_1,x_2,y_2);
Line(x_2,y_2,x_1,y_2);
Line(x_1,y_2,x_1,y_1);
}

/*************************************************************************///------------------------- Fill_rectangle( ) -------------------------///*************************************************************************/void Fill_rectangle(constint x_1,constint y_1,constint x_2,constint y_2)
{
int y_min=((y_1>=y_2)?y_2:y_1);
int y_max=((y_1<=y_2)?y_2:y_1);

for(int count=(y_min+1);count<y_max;count++)
Line((x_1+1),count,(x_2-1),count);
}

/*************************************************************************///------------------------------ Line( ) ------------------------------///*************************************************************************/void Line(constint x_1,constint y_1,constint x_2,constint y_2)
{
int color=getcolor( );

int x1=x_1;
int y1=y_1;

int x2=x_2;
int y2=y_2;

if(x_1>x_2)
{
x1=x_2;
y1=y_2;

x2=x_1;
y2=y_1;
}

int dx=abs(x2-x1);
int dy=abs(y2-y1);
int inc_dec=((y2>=y1)?1:-1);

if(dx>dy)
{
int two_dy=(2*dy);
int two_dy_dx=(2*(dy-dx));
int p=((2*dy)-dx);

int x=x1;
int y=y1;

putpixel(x,y,color);

while(x<x2)
{
x++;

if(p<0)
p+=two_dy;

else
{
y+=inc_dec;
p+=two_dy_dx;
}

putpixel(x,y,color);
}
}

else
{
int two_dx=(2*dx);
int two_dx_dy=(2*(dx-dy));
int p=((2*dx)-dy);

int x=x1;
int y=y1;

putpixel(x,y,color);

while(y!=y2)
{
y+=inc_dec;

if(p<0)
p+=two_dx;

else
{
x++;
p+=two_dx_dy;
}

putpixel(x,y,color);
}
}
}

/*************************************************************************///-------------------------- show_screen( ) ---------------------------///*************************************************************************/void show_screen( )
{
setfillstyle(1,1);
bar(262,26,365,38);

settextstyle(0,0,1);
setcolor(15);
outtextxy(5,5,"******************************************************************************");
outtextxy(5,17,"*-**************************************************************************-*");
outtextxy(5,29,"*------------------------------ -------------------------------*");
outtextxy(5,41,"*-**************************************************************************-*");
outtextxy(5,53,"*-**************************************************************************-*");

setcolor(11);
outtextxy(270,29,"Chess Board");

setcolor(15);

for(int count=0;count<=30;count++)
outtextxy(5,(65+(count*12)),"*-* *-*");

outtextxy(5,438,"*-**************************************************************************-*");
outtextxy(5,450,"*------------------------- -------------------------*");
outtextxy(5,462,"******************************************************************************");

setcolor(12);
outtextxy(229,450,"Press any Key to exit.");
}




10. Program to draw a chess board with alternating colors

//CheckerBoard.java - cheqq india
import javax.swing.*;
import java.awt.Graphics;
import java.awt.Color;

public class CheckerBoard extends JFrame
{

public void paint(Graphics g)
{
int row;
int col;
int x;
int y;

for ( row = 0; row < 9; row++ )
{
for ( col = 0; col < 8; col++)
{
x = col * 22;
y = row * 22;
if ( (row % 2) == (col % 2) )
g.setColor(Color.WHITE);
else
g.setColor(Color.BLACK);

g.fillRect(x, y, 22, 22);
}
}
}

public static void main(String args[]) {
CheckerBoard check = new CheckerBoard();
check.setTitle("CheckerBoard");
check.setSize(180, 200);
check.setDefaultCloseOperation(EXIT_ON_CLOSE);
check.setVisible(true);
}
}