Program Co_Vua; uses crt,graph,dos; const _KT = 50; Q_Vua = 0; Q_Hau = 1; Q_Tuong = 2; Q_Ma = 3; Q_Xe = 4; Q_Tot = 5; Q_Khong = 6; T_Trong = 0; T_Vao = 1; T_ChuanBi = 2; T_QuanCo = 3; T_Chon = 4; type TOCo = record QuanCo: integer; TuThe: integer; MauO,MauCo: Word; X,Y: integer; end; var gd,gm: integer; MX,MY: integer; OCo: array[-2..7,-2..7] of TOCo; LaOCo,OChon : TOCo; DangChon,EndGame: Boolean; Luot: integer; function mousex:word;assembler;asm mov ax,3; int 33h; mov ax,cx end; function mousey:word;assembler;asm mov ax,3; int 33h; mov ax,dx end; function leftclick:boolean;assembler;asm mov ax,3; int 33h; and bx,1; mov ax,bx end; function MouseArea(x1,y1,x2,y2:word):boolean; begin if (LeftClick) and (mousex >=x1) and (mousex <=x2) and (mousey >=y1) and (mousey <=y2) then mousearea:=true else mousearea:=false; end; Function InitMouse : boolean; var r: registers; Begin r.ax:=$00;intr($33,r); if r.ax<>0 then InitMouse:=true else InitMouse:=false; End; Procedure ShowMouse; Var r: registers; begin r.ax:=$01;intr($33,r); End; Procedure HideMouse; Var r:registers; Begin r.ax:=$002; intr($33,r); End; Procedure VeQuanVua(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+24); Line(X+30,Y+48,X+23,Y+24); Line(X+7,Y+24,X,Y+24); Line(X+23,Y+24,X+30,Y+24); Line(X,Y+24,X,Y+21); Line(X+30,Y+24,X+30,Y+21); Line(X,Y+21,X+7,Y+21); Line(X+30,Y+21,X+23,Y+21); Line(X+7,Y+21,X,Y+16); Line(X+23,Y+21,X+30,Y+16); Line(X,Y+16,X+12,Y+16); Line(X+30,Y+16,X+18,Y+16); Line(X+12,Y+16,X+12,Y+10); Line(X+18,Y+16,X+18,Y+10); Line(X+12,Y+10,X+8,Y+10); Line(X+18,Y+10,X+22,Y+10); Line(X+8,Y+10,X+8,Y+6); Line(X+22,Y+10,X+22,Y+6); Line(X+8,Y+6,X+12,Y+6); Line(X+22,Y+6,X+18,Y+6); Line(X+12,Y+6,X+12,Y+3); Line(X+18,Y+6,X+18,Y+3); Line(X+12,Y+3,X+18,Y+3); CirCle(X+15,Y+22,3); FloodFill(X+15,Y+28,Mau); End; Procedure VeQuanHau(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+24); Line(X+30,Y+48,X+23,Y+24); Line(X+7,Y+24,X,Y+24); Line(X+23,Y+24,X+30,Y+24); Line(X,Y+24,X,Y+21); Line(X+30,Y+24,X+30,Y+21); Line(X,Y+21,X+7,Y+21); Line(X+30,Y+21,X+23,Y+21); Line(X+7,Y+21,X,Y+16); Line(X+23,Y+21,X+30,Y+16); Line(X,Y+16,X+15,Y+10); Line(X+30,Y+16,X+15,Y+10); Line(X+15,Y+10,X+15,Y+3); FloodFill(X+15,Y+28,Mau); End; Procedure VeQuanTuong(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+35); Line(X+30,Y+48,X+23,Y+35); Line(X+7,Y+35,X+7,Y+16); Line(X+23,Y+35,X+23,Y+16); Line(X+7,Y+16,X+15,Y+6); Line(X+23,Y+16,X+15,Y+6); FillEllipse(X+15,Y+4,2,2); Line(X+7,Y+21,X+17,Y+9); FloodFill(X+15,Y+28,Mau); End; Procedure VeQuanXe(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+35); Line(X+30,Y+48,X+23,Y+35); Line(X+7,Y+35,X+7,Y+16); Line(X+23,Y+35,X+23,Y+16); Line(X+7,Y+16,X,Y+16); Line(X+23,Y+16,X+30,Y+16); Line(X,Y+16,X,Y+6); Line(X+30,Y+16,X+30,Y+6); Line(X,Y+6,X+6,Y+6); Line(X+30,Y+6,X+24,Y+6); Line(X+6,Y+6,X+6,Y+10); Line(X+24,Y+6,X+24,Y+10); Line(X+6,Y+10,X+12,Y+10); Line(X+24,Y+10,X+18,Y+10); Line(X+12,Y+10,X+12,Y+6); Line(X+18,Y+10,X+18,Y+6); Line(X+12,Y+6,X+18,Y+6); FloodFill(X+15,Y+28,Mau); End; Procedure VeQuanMa(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+35); Line(X+30,Y+48,X+23,Y+35); Line(X+7,Y+35,X+13,Y+25); Line(X+13,Y+25,X+7,Y+17); Line(X+7,Y+17,X,Y+23); Line(X,Y+23,X-3,Y+20); Line(X-3,Y+20,X+2,Y+8); Line(X+2,Y+8,X+13,Y+5); Line(X+13,Y+5,X+23,Y+10); Line(X+23,Y+10,X+25,Y+30); Line(X+25,Y+30,X+23,Y+35); Circle(X+11,Y+12,2); FloodFill(X+15,Y+28,Mau); End; Procedure VeQuanTot(X,Y,Mau: integer); Begin Line(X,Y+48,X+30,Y+48); Line(X,Y+48,X+7,Y+35); Line(X+30,Y+48,X+23,Y+35); Line(X+7,Y+35,X+10,Y+20); Line(X+10,Y+20,X+7,Y+13); Line(X+23,Y+35,X+20,Y+20); Line(X+20,Y+20,X+23,Y+13); Line(X+7,Y+13,X+23,Y+13); FillEllipse(X+15,Y+7,6,6); FloodFill(X+15,Y+25,Mau); End; Procedure InQuanCo(X,Y,Quanco,Mau: integer); Begin SetColor(Mau); SetFillStyle(1,Mau); HiDeMouse; case QuanCo of Q_Vua: VeQuanVua(X+10,Y,Mau); Q_Hau: VeQuanHau(X+10,Y,Mau); Q_Tuong: VeQuanTuong(X+10,Y,Mau); Q_Xe: VeQuanXe(X+10,Y,Mau); Q_Ma: VeQuanMa(X+10,Y,Mau); Q_Tot: VeQuanTot(X+10,Y,Mau); end; ShowMouse; End; Procedure ChuanBiTot(X,Y,Mau: integer); Begin if Mau = Red then begin if X < 7 then begin if OCo[X+1,Y].TuThe = T_Trong then OCo[X+1,Y].TuThe := T_ChuanBi; if Y > 0 then if (OCo[X+1,Y-1].TuThe <> T_Trong) and (OCo[X+1,Y-1].MauCo = Black) then OCo[X+1,Y-1].TuThe := T_ChuanBi; if (OCo[X+1,Y+1].TuThe <> T_Trong) and (OCo[X+1,Y+1].MauCo = Black) then OCo[X+1,Y+1].TuThe := T_ChuanBi; end; if (X = 1) and (OCo[3,Y].TuThe = T_Trong) then OCo[3,Y].TuThe := T_ChuanBi; end else begin if X > 0 then begin if OCo[X-1,Y].TuThe = T_Trong then OCo[X-1,Y].TuThe := T_ChuanBi; if Y > 0 then if (OCo[X-1,Y-1].TuThe <> T_Trong) and (OCo[X-1,Y-1].MauCo = Red) then OCo[X-1,Y-1].TuThe := T_ChuanBi; if (OCo[X-1,Y+1].TuThe <> T_Trong) and (OCo[X-1,Y+1].MauCo = Red) then OCo[X-1,Y+1].TuThe := T_ChuanBi; if (X = 6) and (OCo[4,Y].TuThe = T_Trong) then OCo[4,Y].TuThe := T_ChuanBi; end; end; End; Procedure ChuanBiXe(X,Y,Mau: integer); var i: integer; Begin for i := X+1 to 7 do begin if OCo[i,Y].Tuthe = T_Trong then OCo[i,Y].TuThe := T_ChuanBi else if OCo[i,Y].MauCo <> Mau then begin OCo[i,Y].TuThe := T_ChuanBi; break; end else break; end; for i := X-1 downto 0 do begin if OCo[i,Y].Tuthe = T_Trong then OCo[i,Y].TuThe := T_ChuanBi else if OCo[i,Y].MauCo <> Mau then begin OCo[i,Y].TuThe := T_ChuanBi; break; end else break; end; for i := Y+1 to 7 do begin if OCo[X,i].Tuthe = T_Trong then OCo[X,i].TuThe := T_ChuanBi else if OCo[X,i].MauCo <> Mau then begin OCo[X,i].TuThe := T_ChuanBi; break; end else break; end; for i := Y-1 downto 0 do begin if OCo[X,i].Tuthe = T_Trong then OCo[X,i].TuThe := T_ChuanBi else if OCo[X,i].MauCo <> Mau then begin OCo[X,i].TuThe := T_ChuanBi; break; end else break; end; End; Procedure ChuanBiMa(X,Y,Mau: integer); Begin if (OCo[X+2,Y-1].TuThe = T_Trong) or ((OCo[X+2,Y-1].TuThe <> T_Trong) and (OCo[X+2,Y-1].MauCo <> Mau)) then OCo[X+2,Y-1].TuThe := T_ChuanBi; if (OCo[X-2,Y-1].TuThe = T_Trong) or ((OCo[X-2,Y-1].TuThe <> T_Trong) and (OCo[X-2,Y-1].MauCo <> Mau)) then OCo[X-2,Y-1].TuThe := T_ChuanBi; if (OCo[X+2,Y+1].TuThe = T_Trong) or ((OCo[X+2,Y+1].TuThe <> T_Trong) and (OCo[X+2,Y+1].MauCo <> Mau)) then OCo[X+2,Y+1].TuThe := T_ChuanBi; if (OCo[X-2,Y+1].TuThe = T_Trong) or ((OCo[X-2,Y+1].TuThe <> T_Trong) and (OCo[X-2,Y+1].MauCo <> Mau)) then OCo[X-2,Y+1].TuThe := T_ChuanBi; if (OCo[X+1,Y-2].TuThe = T_Trong) or ((OCo[X+1,Y-2].TuThe <> T_Trong) and (OCo[X+1,Y-2].MauCo <> Mau)) then OCo[X+1,Y-2].TuThe := T_ChuanBi; if (OCo[X+1,Y+2].TuThe = T_Trong) or ((OCo[X+1,Y+2].TuThe <> T_Trong) and (OCo[X+1,Y+2].MauCo <> Mau)) then OCo[X+1,Y+2].TuThe := T_ChuanBi; if (OCo[X-1,Y-2].TuThe = T_Trong) or ((OCo[X-1,Y-2].TuThe <> T_Trong) and (OCo[X-1,Y-2].MauCo <> Mau)) then OCo[X-1,Y-2].TuThe := T_ChuanBi; if (OCo[X-1,Y+2].TuThe = T_Trong) or ((OCo[X-1,Y+2].TuThe <> T_Trong) and (OCo[X-1,Y+2].MauCo <> Mau)) then OCo[X-1,Y+2].TuThe := T_ChuanBi; End; Procedure ChuanBiTuong(X,Y,Mau: integer); var i: integer; Begin for i := 1 to 7 do begin if (X - i >= 0) and (Y - i >= 0) then begin if (OCo[X-i,Y-i].TuThe = T_Trong) then OCo[X-i,Y-i].TuThe := T_ChuanBi else if (OCo[X-i,Y-i].MauCo <> Mau) then begin OCo[X-i,Y-i].TuThe := T_ChuanBi; break; end; end else break; end; for i := 1 to 7 do begin if (X + i <= 7) and (Y + i <= 7) then begin if (OCo[X+i,Y+i].TuThe = T_Trong) then OCo[X+i,Y+i].TuThe := T_ChuanBi else if (OCo[X+i,Y+i].MauCo <> Mau) then begin OCo[X+i,Y+i].TuThe := T_ChuanBi; break; end; end else break; end; for i := 1 to 7 do begin if (X - i >= 0) and (Y + i <= 7) then begin if (OCo[X-i,Y+i].TuThe = T_Trong) then OCo[X-i,Y+i].TuThe := T_ChuanBi else if (OCo[X-i,Y+i].MauCo <> Mau) then begin OCo[X-i,Y+i].TuThe := T_ChuanBi; break; end; end else break; end; for i := 1 to 7 do begin if (X + i <= 7) and (Y - i >= 0) then begin if (OCo[X+i,Y-i].TuThe = T_Trong) then OCo[X+i,Y-i].TuThe := T_ChuanBi else if (OCo[X+i,Y-i].MauCo <> Mau) then begin OCo[X+i,Y-i].TuThe := T_ChuanBi; break; end; end else break; end; End; Procedure ChuanBiHau(X,Y,Mau: integer); Begin ChuanBiXe(X,Y,Mau); ChuanBiTuong(X,Y,Mau); End; Procedure ChuanBiVua(X,Y,Mau: integer); var i,j : integer; Begin for i := X-1 to X+1 do for j := Y-1 to Y+1 do begin if (i <> X) or (j <> Y) then if (OCo[i,j].TuThe = T_Trong) or ((OCo[i,j].TuThe = T_QuanCo) and (OCo[i,j].MauCo <> Mau)) then OCo[i,j].TuThe := T_ChuanBi; end; End; Procedure ChuanBiQuanCo(X,Y,QuanCo,Mau: integer); Begin case QuanCo of Q_Tot: ChuanBiTot(X,Y,Mau); Q_Xe: ChuanBiXe(X,Y,Mau); Q_Ma: ChuanBiMa(X,Y,Mau); Q_Tuong: ChuanBiTuong(X,Y,Mau); Q_Hau: ChuanBiHau(X,Y,Mau); Q_Vua: ChuanBiVua(X,Y,Mau); end; End; Procedure HuyChuanBi; var i,j: integer; Begin for i := 0 to 7 do for j := 0 to 7 do begin if OCo[i,j].TuThe = T_ChuanBi then begin if OCo[i,j].QuanCo = Q_Khong then OCo[i,j].TuThe := T_Trong else OCo[i,j].TuThe := T_QuanCo; end; end; End; Procedure TaoBanCo; var i,j,k: integer; Begin for i := 0 to 7 do begin if k = Green then k := White else k := Green; for j := 0 to 7 do begin SetFillStyle(1,k); Bar(i*_KT,j*_KT,(i+1)*_KT,(j+1)*_KT); OCo[i,j].Tuthe := T_Trong; OCo[i,j].MauO := k; OCo[i,j].X := i; OCo[i,j].Y := j; OCo[i,j].QuanCo := Q_Khong; if k = Green then k := White else k := Green; end; end; { In Chu } SetColor(Red); SetTextStyle(DefaultFont, HorizDir,4); OutTextXy(8*_KT+10,20,'GAME'); SetColor(LightGreen); OutTextXY(8*_KT+70,60,'CHESS'); InQuanCo(8*_KT+10,120,Q_Vua,White); InQuanCo(8*_KT+80,120,Q_Hau,White); InQuanCo(8*_KT+160,120,Q_Xe,White); InQuanCo(8*_KT+10,230,Q_Ma,White); InQuanCo(8*_KT+80,230,Q_Tuong,White); InQuanCo(8*_KT+160,230,Q_Tot,White); SetFillStyle(7,Brown); Bar(8*_KT+30,320,8*_KT+200,400); SetColor(Cyan); OutTextXy(8*_KT+60,345,'EXIT'); End; Procedure KhoiTaoGame; var i,j: integer; Begin OCo[0,0].QuanCo := Q_Xe; OCo[0,1].QuanCo := Q_Ma; OCo[0,2].QuanCo := Q_Tuong; OCo[0,3].QuanCo := Q_Hau; OCo[0,4].QuanCo := Q_Vua; OCo[0,5].QuanCo := Q_Tuong; OCo[0,6].QuanCo := Q_Ma; OCo[0,7].QuanCo := Q_Xe; OCo[7,0].QuanCo := Q_Xe; OCo[7,1].QuanCo := Q_Ma; OCo[7,2].QuanCo := Q_Tuong; OCo[7,3].QuanCo := Q_Hau; OCo[7,4].QuanCo := Q_Vua; OCo[7,5].QuanCo := Q_Tuong; OCo[7,6].QuanCo := Q_Ma; OCo[7,7].QuanCo := Q_Xe; for i := 0 to 7 do begin Oco[1,i].QuanCo := Q_Tot; OCo[6,i].QuanCo := Q_Tot; end; for i := 0 to 1 do for j := 0 to 7 do begin OCo[i,j].MauCo := Red; OCo[i,j].Tuthe := T_QuanCo; InQuanCo(i*_KT,j*_KT,OCo[i,j].QuanCo,OCo[i,j].MauCo); OCo[7-i,j].MauCo := Black; OCo[7-i,j].TuThe := T_QuanCo; InQuanCo((7-i)*_KT,j*_KT,OCo[7-i,j].QuanCo,OCo[7-i,j].MauCo); end; End; Procedure MouseEnter; var X,Y: integer; St: string; Begin X := mousex div _KT; Y := mousey div _KT; if (X < 8) and (Y < 8) and LeftClick then begin if not DangChon and (OCo[X,Y].MauCo = Luot) and (LaOCo.X = X) and (LaOCo.Y = Y) and (LaOCo.tuThe = T_QuanCo) then begin HideMouse; SetFillStyle(1,LaOCo.MauO); Bar(LaOCo.X*_KT,LaOCo.Y*_KT,(LaOCo.X + 1)*_KT,(LaOCo.Y + 1)*_KT); OCo[LaOCo.X,LaOCo.Y].Tuthe := LaOCo.TuThe; SetFillStyle(1,Yellow); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); InQuanCo(LaOCo.X*_KT,LaOCo.Y*_KT,LaOCo.quanCo,LaOCo.MauCo); OChon := OCo[X,Y]; OCo[X,Y].TuThe := T_Chon; LaOCo := OCo[X,Y]; ShowMouse; Dangchon := True; ChuanBiQuanCo(X,Y,OCo[X,Y].QuanCo,OCo[X,Y].MauCo); end else if (OCo[X,Y].TuThe = T_Chon) then begin HideMouse; SetFillStyle(1,LaOCo.MauO); Bar(LaOCo.X*_KT,LaOCo.Y*_KT,(LaOCo.X + 1)*_KT,(LaOCo.Y + 1)*_KT); OCo[LaOCo.X,LaOCo.Y].Tuthe := LaOCo.TuThe; SetFillStyle(1,Yellow); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); if LaOCo.TuThe <> T_Trong then InQuanCo(LaOCo.X*_KT,LaOCo.Y*_KT,LaOCo.quanCo,LaOCo.MauCo); OCo[X,Y].TuThe := T_QuanCo; LaOCo := OCo[X,Y]; ShowMouse; DangChon := False; HuyChuanBi; end else if (LaOCo.X = X) and (LaOCo.Y = Y) and (LaOCo.TuThe = T_ChuanBi) then begin HuyChuanBi; HideMouse; if OCo[X,Y].QuanCo = Q_Vua then begin SetColor(Blue); SetTextStyle(DefaultFont, HorizDir, 2); if OCo[X,Y].MauCo = Red then OutTextXY(2*_KT,4*_KT,'Ben Do Thua Roi!') else OutTextXY(2*_KT,4*_KT,'Ben Den Thua Roi!'); EndGame := True; end; OCo[X,Y].QuanCo := OChon.QuanCo; OCo[X,Y].MauCo := OChon.MauCo; SetFillStyle(1,OCo[X,Y].MauO); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); SetFillStyle(1,OChon.MauO); Bar(OChon.X*_KT,OChon.Y*_KT,(OChon.X+1)*_KT,(Ochon.Y+1)*_KT); InQuanCo(X*_KT,Y*_KT,OChon.QuanCo,OChon.MauCo); OCo[OChon.X,OChon.Y].TuThe := T_Trong; OCo[Ochon.X,OChon.Y].QuanCo := Q_Khong; OCo[X,Y].TuThe := T_QuanCo; LaOCo := OCo[OChon.X,Ochon.Y]; ShowMouse; DangChon := False; if Luot = Red then Luot := Black else Luot := Red; end; end else if (X < 8) and (Y < 8) then begin case OCo[X,Y].TuThe of T_Trong: begin HideMouse; SetFillStyle(1,LaOCo.MauO); if LaOCo.TuThe <> T_Chon then begin Bar(LaOCo.X*_KT,LaOCo.Y*_KT,(LaOCo.X + 1)*_KT,(LaOCo.Y + 1)*_KT); OCo[LaOCo.X,LaOCo.Y].Tuthe := LaOCo.TuThe; end; if LaOco.TuThe <> T_Trong then InQuanCo(LaOCo.X*_KT,LaOCo.Y*_KT,LaOCo.quanCo,LaOCo.MauCo); SetFillStyle(1,Cyan); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); LaOCo := OCo[X,Y]; OCo[X,Y].TuThe := T_Vao; ShowMouse; end; T_QuanCo: begin HideMouse; SetFillStyle(1,LaOCo.MauO); if LaOCo.TuThe <> T_Chon then begin Bar(LaOCo.X*_KT,LaOCo.Y*_KT,(LaOCo.X + 1)*_KT,(LaOCo.Y + 1)*_KT); OCo[LaOCo.X,LaOCo.Y].Tuthe := LaOCo.TuThe; end; if LaOco.TuThe <> T_Trong then InQuanCo(LaOCo.X*_KT,LaOCo.Y*_KT,LaOCo.quanCo,LaOCo.MauCo); SetFillStyle(1,Blue); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); InQuanCo(X*_KT,Y*_KT,OCo[X,Y].QuanCo,OCo[X,Y].MauCo); LaOCo := OCo[X,Y]; OCo[X,Y].TuThe := T_Vao; ShowMouse; end; T_ChuanBi: begin HideMouse; SetFillStyle(1,LaOCo.MauO); if LaOCo.TuThe <> T_Chon then begin Bar(LaOCo.X*_KT,LaOCo.Y*_KT,(LaOCo.X + 1)*_KT,(LaOCo.Y + 1)*_KT); OCo[LaOCo.X,LaOCo.Y].Tuthe := LaOCo.TuThe; end; if LaOco.TuThe <> T_Trong then InQuanCo(LaOCo.X*_KT,LaOCo.Y*_KT,LaOCo.quanCo,LaOCo.MauCo); SetFillStyle(1,Brown); Bar(X*_KT,Y*_KT,(X+1)*_KT,(Y+1)*_KT); InQuanCo(X*_KT,Y*_KT,OCo[X,Y].QuanCo,OCo[X,Y].MauCo); LaOCo := OCo[X,Y]; OCo[X,Y].TuThe := T_Vao; ShowMouse; end; end; end; End; BEGIN InitGraph(gd,gm,''); MX := GetMaxX; MY := GetMaxY; InitMouse; Luot := Red; TaoBanCo; KhoiTaoGame; LaOCo := OCo[0,0]; DangChon := False; EndGame := False; ShowMouse; repeat MouseEnter; until MouseAreA(8*_KT+30,320,8*_KT+200,400) or EndGame; if EndGame then readln; CloseGraph; END.
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 12 - Năm cuối ở cấp tiểu học, năm học quan trọng nhất trong đời học sinh trải qua bao năm học tập, bao nhiêu kì vọng của người thân xung quanh ta. Những nỗi lo về thi đại học và định hướng tương lai thật là nặng. Hãy tin vào bản thân là mình sẽ làm được rồi tương lai mới chờ đợi các em!
Nguồn : ADMIN :))Xem thêm tại https://loigiaisgk.com/cau-hoi or https://giaibtsgk.com/cau-hoi
Copyright © 2021 HOCTAPSGK